<math>

O elemento top-level em MathML é <math>. Qualquer instância valida de MathML tem de ser envolto por <math>. Ademais não se deve por um elemento de <math> dentro de outro, mas pode se ter qualquer numero de outros elementos dentro desse elemento.

Atributos

Para além dos seguintes atributos, o elemento <math> aceita qualquer atributo do elemento <mstyle>.

class, id, style
Para uso com stylesheets.
dir
A direção geral das fórmulas. Valores aceites são ltr (da esquerda para a direita) ou rtl (da direita para a esquerda).
href
Usado para criar uma hiperligação para um URI.
mathbackground
A cor de fundo. Pode usar #rgb, #rrggbb e nomes de cores HTML.
mathcolor
A cor do texto. Pode usar #rgb, #rrggbb e nomes de cores HTML.
display
Este atributo enumerado especifica como é que o markup da MathML deve ser impressa. Pode ter um dos seguintes valores:
  • block, que significa que o elemento será impresso fora do span de texto em que se encontra, como um block que pode ser posicionado em qualquer lugar sem mudar o significado do texto;
  • inline, que significa que o elemento será impresso dentro do span de texto em que se encontra, e não pode ser movido para fora dele sem mudar o significado do texto.

Se não estiver presente, o valor padrão é inline.

mode
Obsoleto, use antes o atributo display.
Valores aceites são: display (que tem o mesmo efeito que display="block") e inline.
overflow
Especifica como a expressão se comporta no caso de ser demasiada comprida para a largura máxima permitida. Valores aceites são: linebreak (valor padrão), scroll, elide, truncate e scale.

Exemplos

Theorem of Pythagoras

Notação HTML5

<!DOCTYPE html>
<html>
  <head>
    <title>MathML in HTML5</title>
  </head>
  <body>

  <math>
    <mrow>
      <mrow>
        <msup>
          <mi>a</mi>
          <mn>2</mn>
        </msup>
        <mo>+</mo>
        <msup>
          <mi>b</mi>
          <mn>2</mn>
        </msup>
      </mrow>
      <mo>=</mo>
      <msup>
        <mi>c</mi>
        <mn>2</mn>
      </msup>
    </mrow>
  </math>

  </body>
</html>

Notação de XHTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title>MathML in XHTML</title>
</head>
<body>

  <math xmlns="http://www.w3.org/1998/Math/MathML">
    <mrow>
      <mrow>
        <msup>
          <mi>a</mi>
          <mn>2</mn>
        </msup>
        <mo>+</mo>
        <msup>
          <mi>b</mi>
          <mn>2</mn>
        </msup>
      </mrow>
      <mo>=</mo>
      <msup>
        <mi>c</mi>
        <mn>2</mn>
      </msup>
    </mrow>
  </math>

</body>
</html>

Notes: Documentos de XHTML com MathML devem ser servidos como application/xhtml+xml. Pode satisfazer isto facilmente usando a extensão .xhtml para ficheiros locais. Para um servidor Apache configura o seu ficheiro .htaccess para mapear as extensões ao tipo Mime correto. Já que o MathML está num documento XML, também deve se certificar que o documento XML está corretamente estruturado.

Especificações

Especificação Estado Comentários
MathML 3.0
The definition of 'The Top-Level math Element' in that specification.
Recommendation Especificação atual
MathML 2.0
The definition of 'The Top-Level math Element' in that specification.
Recommendation Especificação inicial

Compatibilidade

BCD tables only load in the browser

Notas para Firefox

Firefox 7 introduziu suporte para aceitar todos os atributos de MathML no elemento top-level math (i.e. o mesmo comportamento que o elemento <mstyle>). Contudo, o atributo displaystyle foi falhado e só foi adicionado no Firefox 8.

Um apoio textual (alttext) ou referir a uma imagem alternativa usando os atributos altimg, altimg-width, altimg-height ou altimg-valign não está implementado no Firefox de momento.

Ver também