Logo de MathML

En informatique, le Mathematical Markup Language (MathML) est un langage basé sur XML permettant l'affichage de symboles mathématiques, notamment sur Internet. Il s'agit d'une recommandation du W3C.

La version 1.01 de ce langage date de et une première version 2.0 a vu le jour en . En , la deuxième mouture de MathML Version 2.0 a été rendue publique comme la version finale du groupe de travail du W3C. Finalement, une version 3.0 a été publiée le .

MathML ne s'occupe pas uniquement de la présentation mais aussi du sens des différentes composantes des formules mathématiques. On distingue donc les balises de présentation (presentation markup) des balises décrivant la formule, le contenu (content markup). Un système permettant d'inclure des balises sémantiques, destiné à compléter MathML, est actuellement en développement : il s'agit d'OpenMath (en).

La notion de description de contenu plutôt que de mise en forme permet de faire varier le rendu selon une feuille de style, et notamment selon des préférences nationales. Par exemple, le vecteur « V » sera noté <ci type="vector">V</ci>, et pourra être rendu V pour un anglo-saxon et pour un Français[1].

Un exemple

La formule

s'écrit de la façon suivante avec 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>

Note
L'équivalent en syntaxe TeX est
 x = {-b \pm \sqrt{b^2 - 4ac}\over 2a}
et en syntaxe LaTeX
 x = \frac {-b \pm \sqrt{b^2 - 4ac)){2a}

Support logiciel

Cette section a besoin d'être recyclée (novembre 2015). Une réorganisation et une clarification du contenu sont nécessaires. Améliorez-le ou discutez des points à améliorer.

Concernant l'affichage dans les navigateurs :

De plus, la bibliothèque Javascript MathJax permet d’afficher MathML dans les navigateurs sans support natif.

À propos de la création de MathML, Il y a souvent un malentendu quant à la manière dont elle doit être réalisée, ce qui amène beaucoup de personnes à critiquer le MathML à cause de sa syntaxe plus complexe que TeX. Pourtant la spécification du W3C indique clairement la nécessité d'utiliser des logiciels spécifiques :

While MathML is human-readable, it is anticipated that, in all but the simplest cases, authors will use equation editors, conversion programs, and other specialized software tools to generate MathML. Several early versions of such MathML tools already exist, and a number of others, both freely available software and commercial products, are under development.

Bien que MathML soit lisible par l'homme, il est prévu que, sauf dans les cas les plus simples, les auteurs utiliseront des éditeurs d'équations, des programmes de conversion et d'autres outils logiciels spécialisés pour produire du MathML. Plusieurs versions antérieures de tels outils existent déjà et un certain nombre d'autres, des gratuits et des commerciaux, sont en développement.

Notes

  1. (en) Combining Presentation and Content Markup - Notational Style Sheets sur le site du W3C.
  2. (en) Presentation Markup - Identifier (mi) sur le site du W3C.
  3. (en) Presentation Markup - Operator, Fence, Separator or Accent (mo) sur le site du W3C.
  4. (en) Presentation Markup - Number (mn) sur le site du W3C.
  5. (en) Presentation Markup - Horizontally Group Sub-Expressions (mrow) sur le site du W3C.
  6. (en) Presentation Markup - Fractions (mfrac) sur le site du W3C.
  7. (en) Presentation Markup - Radicals (msqrt, mroot) sur le site du W3C.
  8. (en) Frédéric Wang, « Mozilla MathML Status », Mozilla.
  9. (en) « Safari 5.1 and math ».
  10. (en) « New in Chrome 109 », sur Chrome Developers (consulté le )
  11. (en) « Support MathML d'Opera », Opera (consulté le ).
  12. (en) « Opera 14 beta for Android is out » [archive du ].
  13. (en) « Support de MathML dans Webkit » (consulté le ).

Voir aussi

Liens externes

Références

Logiciels

Divers

Sur les autres projets Wikimedia :