- Mathml
-
MathML
En informatique, 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 juillet 1999 et une première version 2.0 a vu le jour en février 2001. En octobre 2003, la deuxième mouture de MathML Version 2.0 a été rendue publique comme la version finale du groupe de travail du W3C.
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.
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].Sommaire
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>±</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>
- 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>
(math identifier) [2] ; - Les opérateurs sont encadrés par les balises
<mo>…</mo>
(math operator) [3] ; - Les nombres sont encadrés par les balises
<mn>…</mn>
(math number) [4] ; - Les expressions devant être considérées comme un groupe sont encadrées par
<mrow>…</mrow>
(math row) [5] ; - Une fraction est encadrée par
<mfrac>…</mfrac>
[6] ; 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>
(math square root) [7] - Lorsque l'on écrit « 2a », cela signifie « deux multiplié par a » ; le signe multiplié est implicite, ceci est rendu ici par une entité
⁢
(« 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
À propos des navigateurs, les versions récentes de Mozilla et ses dérivées permettent de visionner des pages Web comportant des balises MathML. Le navigateur du W3C Amaya supporte quant à lui le MathML de présentation. Opera intègre depuis la version 9.5 un support presque complet de MathML[1]. Pour d'autres navigateurs, une extension est nécessaire (par exemple, Internet Explorer avec l'extension MathPlayer).
À 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, on prévoit que, dans tous les cas complexes, les auteurs utiliseront des éditeurs d'équations, des programmes de conversion, et d'autres logiciels et outils spécialisés pour générer du MathML. Beaucoup de versions antérieures de ces outils existent déjà, et un certain nombre d'autres, des gratuits et des commerciaux, sont en développement.
Notes
- ↑ (en)Support MathML d'Opera, Opera. Consulté le 21 deptembre 2008
Voir aussi
Liens externes
Références
- W3C Recommendation: Mathematical Markup Language (MathML™) 1.01 Specification (en)
- W3C Recommendation: Mathematical Markup Language (MathML) Version 2.0 (Second Edition) (en)
- [8] RFC 3023 Chapitre 8.16 (en)
Logiciels
- Mozilla Firefox, navigateur web.
- OpenOffice.org, suite de bureautique.
- Opera, navigateur web.
- Prince.
- Sun Microsystems — StarOffice, suite de bureautique.
- WAM — Amaya, éditeur Web (développé conjointement par le W3C et l'INRIA).
Divers
- La page du W3C sur les mathématiques. (en)
- Le standard OpenMath (en)
- The Opera MathML blog (en)
- WéM, éditeur de MathML en français
- Techniques d'intégration de formules MathML dans des documents OpenOffice.org et HTML
- Portail de l’informatique
- Portail des mathématiques
Catégories : Dialecte XML | Standard du web
Wikimedia Foundation. 2010.