MathML

{{#ifeq:||Un article de Ziki, l'encyclopédie libre.|Une page de Ziki, l'encyclopédie libre.}}

En informatique, le Modèle:Langue (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 Modèle:Nobr de ce langage date de Modèle:Date et une première Modèle:Nobr a vu le jour en Modèle:Date. En Modèle:Date, la deuxième mouture de MathML Modèle:Nobr a été rendue publique comme la version finale du groupe de travail du W3C. Finalement, une Modèle:Nobr a été publiée le Modèle:Date-.

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 (Modèle:Lang) des balises décrivant la formule, le contenu (Modèle:Lang). Un système permettant d'inclure des balises sémantiques, destiné à compléter MathML, est actuellement en développement : il s'agit d'Modèle:Lien.

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 <math>\vec{V}</math> pour un Français<ref>{{#invoke:Langue|indicationDeLangue}} Modèle:Lang sur le site du W3C.</ref>.

Un exemple

La formule

<math>x = \frac {-b \pm \sqrt{b^2 - 4ac}}{2a}</math>

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>
  • Les identifiants (par exemple les noms de variables, qui sont des textes et symboles devant être affichés tels quels), sont encadrés par les balises <mi>…</mi> (Modèle:Lang)<ref>{{#invoke:Langue|indicationDeLangue}} Modèle:Lang sur le site du W3C.</ref> ;
  • Les opérateurs sont encadrés par les balises <mo>…</mo> (Modèle:Lang)<ref>{{#invoke:Langue|indicationDeLangue}} Modèle:Lang sur le site du W3C.</ref> ;
  • Les nombres sont encadrés par les balises <mn>…</mn> (Modèle:Lang)<ref>{{#invoke:Langue|indicationDeLangue}} Modèle:Lang sur le site du W3C.</ref> ;
  • Les expressions devant être considérées comme un groupe sont encadrées par <mrow>…</mrow> (Modèle:Lang)<ref>{{#invoke:Langue|indicationDeLangue}} Modèle:Lang sur le site du W3C.</ref> ;
  • Une fraction est encadrée par <mfrac>…</mfrac><ref>{{#invoke:Langue|indicationDeLangue}} Modèle:Lang sur le site du W3C.</ref> ; elle se compose de deux expressions écrites l'une après l'autre : le numérateur et le dénominateur ;
  • Le radicande (contenu de la racine carrée) est encadré par <msqrt>…</msqrt> (Modèle:Lang)<ref>{{#invoke:Langue|indicationDeLangue}} Modèle:Lang sur le site du W3C.</ref>
  • Lorsque l'on écrit « 2a », cela signifie « deux multiplié par a » ; le signe multiplié est implicite, ceci est rendu ici par une entité &InvisibleTimes; (« multiplié invisible ») ; ceci illustre le fait que MathML décrit le rôle des objets et non uniquement la mise en forme.

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

Modèle:Section à recycler 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 :

Modèle:Lang

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

<references />

Voir aussi

Liens externes

Références

Logiciels

Divers

Modèle:Autres projets

Modèle:Portail