Saltar para o conteúdo

MathML

Origem: Wikipédia, a enciclopédia livre.

Mathematical Markup Language (Linguagem de Marcação Matemática) (MathML) é uma aplicação do XML para representar símbolos e fórmulas matemáticas, apontada na integração dela em documentos World Wide Web. Ela é uma recomendação do grupo de trabalho matemático do W3C.[1]

A especificação da versão 1.01 do formato foi distribuido em Julho de 1999 e a versão 2.0 apareceu em Fevereiro de 2001. Em Outubro de 2003, a segunda edição do MathML Versão 2.0 foi publicada como uma distribuição final pelo grupo de trabalho matemático do W3C. A versão 3.0 foi lançada em 21 de outubro de 2010, como uma revisão da versão 2.0 lançada 7 anos antes.[2]

MathML trata não somente da apresentação mas pode opcionalmente também incluir informação sobre o significado de componentes da fórmula (a última parte de MathML é conhecida como o índice MathML). Por causa do significado da equação ser preservado separado da apresentação, como o índice é comunicado pode ser deixado até o usuário. Por exemplo, páginas da web com MathML embutido poderiam ser visualizadas como páginas normais da web em muitos browsers, mas visualmente danificadas ,para o usuário podem também ter o mesmo MathML lidos a eles com o uso de leitores da tela (por exemplo se usar MathPlayer plugin para Internet Explorer).[3]

Um outro padrão chamado OpenMath que foi projetado (largamente pelo mesmo pessoal planejou o conteudo MathML) mais especificamente armazenando fórmulas semanticamente podem também ser usada como um complemento a MathML.

Exemplo

A bem conhecida fórmula de Bhaskara:

Teria que ser escrita assim, usado a sintaxe TeX como abaixo:

x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}

ou em MathML:

<math>
 <mrow>
  <mi>x</mi>
  <mo>=</mo>
  <mfrac>
    <mrow>
      <mrow>
        <mo>-</mo>
        <mi>b</mi>
      </mrow>
      <mo>&PlusMinus;</mo>
      <msqrt>
        <mrow>
          <msup>
            <mi>b</mi>
            <mn>2</mn>
          </msup>
          <mo>-</mo>
          <mrow>
            <mn>4</mn>
            <mo>&InvisibleTimes;</mo>
            <mi>a</mi>
            <mo>&InvisibleTimes;</mo>
            <mi>c</mi>
          </mrow>
        </mrow>
      </msqrt>
    </mrow>
    <mrow>
      <mn>2</mn>
      <mo>&InvisibleTimes;</mo>
      <mi>a</mi>
    </mrow>
  </mfrac>
 </mrow>
</math>

Embora menos compacta se comparada à TeX, a estruturação XML promete tornar a sintaxe MathML amplamente utilizável, levando em conta o instant display em aplicativos tais como navegadores da Web, além de facilitar uma clara interpretação de seu significado em softwares matemáticos. A MathML não é destinada a ser escrita ou editada diretamente por pessoas.

Programas que suportam

Muitos utilitários para converter expressões matemáticas para MathML estão disponíveis, incluindo conversões [1] entre TeX e MathML. MathType para Design Science permite aos usuários criar equações numa janela WYSIWYG e exportá-la para MathML. Também o Wolfram Research provê uma [2] web page para converter expressões matemáticas tipificadas para MathML.

Outro editor WYSIWYG de MathML, é o Formulator [3], provê um modo para importar/exportar MathML com suporte para algumas entradas abstratas como Exponencial e Differencial. O W3C Navegador/Editor Amaya pode também ser mencionado como um editor WYSIWYG de MathML.

Dos navagadores principais, aquele que escolheu o suporte direto é uma versão recente do Mozilla e derivados(como o Firefox)[4]. Outros navegadores que suportam o formato usando plugins externos. Por exemplo, o Internet Explorer suporta MathML usando o plugin Design Science MathPlayer.

MathML é também suportado pelos principais produtos de escritório, produtos como Microsoft Word, OpenOffice.org e o KOffice e por softwares matemáticos como o MathType e o Mathematica.

Talvez, exceto para o Mozilla, MathPlayer e Amaya, nenhum dos produtos mencionados acima suporta todos os elementos básicos do MathML 2.0 (ex. elementos <mmultiscripts>) e seus desenvolvimentos.

Veja também

Referências

  1. http://www.w3.org/1999/07/REC-MathML-19990707/ This specification of the markup language MathML is intended primarily for a readership consisting of those who will be developing or implementing renderers or editors using it, or software that will communicate using MathML as a protocol for input or output.
  2. http://www.w3.org/TR/MathML3/ MathML 3.0 was released as a W3C Recommendation on 21 October 2010.
  3. http://www.w3.org/1999/07/REC-MathML-19990707/chapter5.html MathML offers authors elements for both content and presentation markup.

Ligações externas