Article de reference

MathML

{{Cite web | url = https://www.iso.org/standard/58439.html | title = ISO - ISO/IEC 40314:2016 - Information technology — Mathematical Markup Language (MathML) Version 3.0 2nd Ed...

langages de balisage mathématique , une application XML permettant de décrire la notation mathématique et d'en capturer la structure et le contenu. Son objectif est d'intégrer nativement les formules mathématiques aux pages web et autres documents. Il fait partie d' HTML5 et est normalisé par l'ISO /CEI depuis 2015.

navigateur Arena à partir de propositions de balisage mathématique en HTML , MathML 1 a été publié en tant que recommandation du W3C en avril 1998, devenant ainsi le premier langage XML recommandé par le W3C . La version 1.01 du format a été publiée en juillet 1999 et la version 2.0 en février 2001. Des implémentations de la spécification ont été intégrées à Amaya 1.1 , Mozilla 1.0 et Opera 9.5 . En octobre 2003, la deuxième édition de MathML, la version 2.0, a été publiée comme version finale par le groupe de travail Math du W3C .

MathML a été conçu avant la finalisation des espaces de noms XML . Cependant, un espace de noms lui a été attribué immédiatement après la publication de la recommandation relative aux espaces de noms. Pour une utilisation en XML, les éléments doivent appartenir à l'espace de noms dont l'URL est http://www.w3.org/1998/Math/MathML . Lorsque MathML est utilisé en HTML (et non en XML), cet espace de noms est automatiquement déduit par l'analyseur HTML et n'a pas besoin d'être spécifié dans le document.

MathML version 3

La version 3 de la spécification MathML a été publiée en tant que recommandation du W3C le 20 octobre 2010. Une recommandation intitulée « A MathML for CSS Profile » a ensuite été publiée le 7 juin 2011 ; il s’agit d’un sous-ensemble de MathML adapté à la mise en forme CSS. Un autre sous-ensemble, Strict Content MathML , fournit un sous-ensemble de MathML de contenu avec une structure uniforme et est conçu pour être compatible avec OpenMath . D’autres éléments de contenu sont définis en termes de transformation vers le sous-ensemble strict. Parmi les nouveaux éléments de contenu, on trouve WebKit à peu près à la même époque, suivie d'une implémentation pour Chromium quelques années plus tard, bien que cette dernière ait été retirée de Chromium moins d'un an après.

La deuxième édition de MathML 3.0 a été publiée en tant que recommandation du W3C le 10 avril 2014 . La spécification a été approuvée comme norme internationale ISO/IEC 40314:2015 le 23 juin 2015 Toujours en 2015, l'association MathML a été fondée afin de promouvoir l'adoption de la norme MathML . À cette époque, selon un membre de l' équipe MathJax , aucun des principaux fabricants de navigateurs ne rémunérait ses développeurs pour le rendu MathML ; le support existant reposait en grande majorité sur le travail bénévole

Noyau MathML

En août 2021, une nouvelle spécification appelée MathML Core a été publiée. Elle est décrite comme le « sous-ensemble de base du langage de balisage mathématique, ou MathML, adapté à l’implémentation dans les navigateurs » MathML Core se distingue de MathML 3.0 par l’inclusion de règles de rendu détaillées et l’intégration avec CSS , des ressources de test automatisées de la compatibilité avec les navigateurs, et par sa focalisation sur un sous-ensemble fondamental de MathML. Une implémentation a été ajoutée à Chromium début 2023

Présentation et sémantique

des lecteurs d'écran (par exemple, VoiceOver dans Safari ). JAWS, à partir de la version 16, prend en charge la synthèse vocale MathML ainsi que la sortie en braille.

La qualité du rendu de MathML dans un navigateur dépend des polices installées. Le projet STIX Fonts a publié un ensemble complet de polices mathématiques sous licence libre. La police Cambria Math fournie avec Microsoft Windows bénéficiait d'une prise en charge légèrement plus limitée.

Un document MathML valide se compose généralement d'une déclaration XML, d' une déclaration DOCTYPE et d'un élément document. Le corps du document contient ensuite des expressions MathML qui apparaissent dans des éléments selon les besoins. Souvent, MathML est intégré à des documents plus généraux, tels que HTML , DocBook ou d'autres formats basés sur XML .math>

Présentation MathML

HTML5 autorise la plupart des balises HTML intégrées dans le texte multiligne et est conforme, la balise HTML étant utilisée au sein du MathML pour mettre en forme le texte incorporé (en mettant le premier mot en gras dans cet exemple).entités permettent de spécifier des symboles spéciaux par leur nom, tels que `&` et