Em TI , a Mathematical Markup Language ( MathML ) é uma linguagem baseados em XML para a exibição de símbolos da matemática , em particular sobre a Internet . Esta é uma recomendação do W3C .
A versão 1.01 deste idioma data de julho de 1999 e uma primeira versão 2.0 foi lançada emFevereiro de 2001. DentroOutubro de 2003, a segunda versão do MathML Versão 2.0 foi lançada como a versão final do grupo de trabalho W3C . Finalmente, uma versão 3.0 foi lançada em21 de outubro de 2010.
MathML não se preocupa apenas com a apresentação, mas também com o significado dos diferentes componentes das fórmulas matemáticas. Portanto, distingue tags de apresentação (marcação de apresentação) tags que descrevem a forma, conteúdo (marcação de conteúdo) . Um sistema que permite incluir tags semânticas, destinadas a complementar o MathML, está atualmente em desenvolvimento: trata-se de OpenMath ( en ).
A noção de descrição de conteúdo, em vez de formatação, torna possível variar a renderização de acordo com uma folha de estilo e, em particular, de acordo com as preferências nacionais . Por exemplo, o vetor “V” será denotado <ci type="vector">V</ci>e pode ser processado como V para um anglo-saxão e para um francês.
A fórmula
é escrito da seguinte forma com MathML:
<math> <mrow> <mi>x</mi> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>-</mo> <mi>b</mi> </mrow> <mo>±</mo> <msqrt> <mrow> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>-</mo> <mrow> <mn>4</mn> <mo>⁢</mo> <mi>a</mi> <mo>⁢</mo> <mi>c</mi> </mrow> </mrow> </msqrt> </mrow> <mrow> <mn>2</mn> <mo>⁢</mo> <mi>a</mi> </mrow> </mfrac> </mrow> </math>Em relação aos navegadores, as versões recentes dos navegadores baseados nos motores Gecko ( Mozilla Firefox e derivados) ou WebKit ( Safari , OpenJFX / JavaFX ) permitem a visualização de páginas da web com tags MathML. O navegador W3C Amaya suporta apresentação MathML. O Google Chrome removeu o suporte a MathML desde a versão 25. O Opera incluía suporte quase completo antes da versão 14, que agora é baseada no Chrome. Para outros navegadores, uma extensão é necessária (por exemplo, Internet Explorer com a extensão MathPlayer ), e para alguns o suporte MathML está apenas em um estágio experimental (notavelmente Safari , na versão noturna ). A biblioteca MathJax JavaScript permite que o MathML seja exibido em navegadores sem suporte nativo.
Sobre a criação do MathML, freqüentemente há um equívoco sobre como isso deve ser feito, o que leva muitas pessoas a criticar o MathML por sua sintaxe mais complexa do que o TeX . No entanto, a especificação W3C indica claramente a necessidade de usar um software específico:
Embora o MathML seja legível por humanos, prevê-se que, em todos os casos, exceto nos casos mais simples, os autores usarão editores de equação, programas de conversão e outras ferramentas de software especializadas para gerar o MathML. Várias versões anteriores de tais ferramentas MathML já existem, e uma série de outras, tanto software disponível gratuitamente como produtos comerciais, estão em desenvolvimento.
Embora MathML seja legível por humanos, espera-se que, exceto nos casos mais simples, os autores usem editores de equação, programas de conversão e outras ferramentas de software especializadas para produzir MathML. Já existem várias versões anteriores dessas ferramentas e várias outras, gratuitas e comerciais, estão em desenvolvimento.