domingo, 25 de novembro de 2012

Anular o efeito do MathJax

No meu artigo intitulado "Tipografia matemática para páginas web" (http://dan-scientia.blogspot.com.br/2011/07/tipografia-matematica-para-paginas-web.html) apresentei o MathJax, uma biblioteca em JavaScript que trata e exibe expressões matemáticas em LaTeX ou MathML em navegadores web.

O LaTeX utiliza um conjunto de comandos em sequências de caracteres, iniciados com o caractere barra invertida "\", que são usados para produzir os símbolos matemáticos, letras gregas e executar tarefas. São as sequências de controle. E não somente a barra invertida mas os caracteres { } $ ^ _ % ~ # & também são usados com propósitos especiais dentro do LaTeX. Por exemplo, \sum_{k=1}^n é uma sequência de controle.

Se a página web estiver com o MathJax integrado no código, todo o conteúdo será tratado para apresentação. Desta forma, corre-se o risco de uma informação, que esteja usando algum caractere especial do LaTeX mas que não é um comando do LaTeX, ser exibida erroneamente na página.

Uma forma de contornar isso é demarcando o conteúdo que não deve ser tratado pelo MathJax com alguma das etiquetas que estão configuradas para isso no MathJax. Nos arquivos de configuração do MathJax existe uma linha de opção, esta linha existe em cada seção de configuração de um pré-processador, tex2jax, asciimath2jax etc. A linha é:

skipTags: ["script","noscript","style","textarea","pre","code"],

Isto quer dizer que tudo que estiver entre as etiquetas <script></script>, <noscript></noscript>, <style></style>, <textarea></textarea>, <pre></pre> e <code></code> não será entendido e processado como um comando em LaTeX ou MathML. O bloco estará protegido.

A configuração "default" do MathJax contém a linha de opção "skipTags" exatamente como apresentada acima. Quem utiliza o MathJax pelo web service proveniente do cdn.mathjax.org está preso na configuração imposta. Se desejar alterar a configuração padrão, será preciso carregar a configuração de um outro local, de uma cópia alterada do arquivo de configuração, ou usar a configuração "in-line", que coloca as opções de configuração na própria página web.

Para mais informações consulte a documentação do MathJax em http://docs.mathjax.org/en/latest/

Nenhum comentário:

Postar um comentário