MathJax

MathJax est une bibliothèque logicielle JavaScript cross-browser qui affiche les formules mathématiques dans des navigateurs web, en utilisant les balises de AsciiMath (en), LaTeX ou de MathML[1]. MathJax est distribué comme logiciel open-source sous licence Apache.

MathJax

Informations
Développé par Société mathématique américaine
Dernière version 3.0.0 ()
Dépôt https://github.com/mathjax/MathJax
Assurance qualité Intégration continue
Écrit en JavaScript
Type logiciel mathématique (en)
Licence Licence Apache
Site web http://www.mathjax.org/

Le projet MathJax a débuté en 2009 comme successeur de jsMath qui est une bibliothèque de formatage des mathématiques[2]. Il est développé par Design Science (en). Il est subventionné par l'American Mathematical Society, Design Science (en) et la Society for Industrial and Applied Mathematics ; le projet est soutenu par des « partenaires » : Stack Exchange Network et American Institute of Physics et des « soutiens », parmi lesquels la American Physical Society, Elsevier, IEEE, la London Mathematical Society, la Optical Society et le Projet Euclide.

MathJax est utilisé par des sites web MathSciNet[3], MathOverflow, les journaux du projet Euclide[4], Scholarpedia, et le portail mathématique russe Общероссийский математический портал[5]. En revanche, Wikipédia a abandonné son usage.

Propriétés

MathJax est téléchargé en même temps qu'une page web ; il cherche d'éventuelles balises mathématiques dans le contenu de la page, et dans ce cas compose la partie mathématique. Ainsi, MathJax ne nécessite ni l'installation d'un logiciel, ni le chargement de police sur le système de l'utilisateur. Ceci permet à MathJax d'opérer sur tout navigateur qui supporte Javascript, y compris les appareils mobiles[6].

MathJax affiche les mathématiques par une combinaison de balises HTML et CSS, ou en utilisant un support MathML natif s'il existe. La méthode précise utilisée par MathJax pour composer les mathématiques est déterminée par les propriétés du navigateur de l'utilisateur, des polices disponibles et des paramètres de configuration. La version actuelle MathJax 2.0 introduit le rendu vectoriel SVG.

Dans le cas où la mise en page utilise HTML et CSS, MathJax tente d'optimiser la qualité du rendu par l'emploi de polices mathématiques si elles sont disponibles, et sinon par un rendu en images. Pour les navigateurs plus récents, MathJax fournit un ensemble complet de polices web, que MathJax télécharge au besoin. Si le navigateur n'accepte pas les polices web, MathJax teste si des polices adéquates sont disponibles sur le système local. Dans la négative, MathJax fournit des images pour tous les symboles nécessaires. MathJax peut être configuré pour autoriser ou interdire les polices web, les polices locales, et les polices images.

MathJax peut afficher les expressions mathématiques écrites en AsciiMath (en) en LaTeX ou en MathML. Comme MathJax est destiné seulement à l'affichage des mathématiques, et que LaTeX est un langage de mise en page de documents, MathJax n'accepte que la partie de LaTeX utilisée pour la description d'expressions mathématiques[6]. MathJax fournit également du soutien à l'accessibililté[7].

L’architecture MathJax est conçue pour supporter ultérieurement l'addition de langages d'entrée et de méthodes d'affichage par l'adjonction de modules chargés dynamiquement. MathJax contient aussi une interface Javascript pour énumérer et interagir avec les parties mathématiques dans une page.

Compatibilité avec les navigateurs

MathJax est opérationnel dans la plupart des navigateurs courants, y compris Internet Explorer, Firefox, Safari, Opera, iPhone/iPad Safari, et le navigateur Android[8].

Compatibilité avec les serveurs

MathJax peut être installé sur des plateformes variées, y compris MediaWiki, Drupal, SPIP, WordPress, et Joomla[9].

Support pour AsciiMath

Mathjax fournit un support pour AsciiMath (en)

Support pour TeX

MathJax a un équivalent pour chaque commande LaTeX de mathématiques. Les commandes mathématiques de AMS-LaTeX sont accessibles via des extensions. MathJax permet aussi de définir des macros TeX et d'utiliser diverses instructions de formatage comme "\color" et "\underline"[10].

Support pour MathML

MathJax fournit un support partiel pour MathML 2.0 et pour quelques constructions MathML 3.0. MathJax ne traite que de la partie présentation de MathML et ignore sa partie sémantique.

Notes et références

  1. (en) « MathJax: Rich Math display from LaTeX and MathML ».
  2. Brian Hayes, « Writing Math on the Web: The Web would make a dandy blackboard if only we could scribble an equation », American Scientist, vol. 92, no 2, , p. 98 (DOI 10.1511/2009.77.98).
  3. Article (en) « MathSciNet What's New ».
  4. Article du projet Euclide : What is MathJax?
  5. Article (ru) « Общероссийский математический портал ».
  6. Davide Cervone, « Math Jax: A Platform for Mathematics on the Web », Notices of the American Mathematical Society, vol. 59, no 2, , p. 312–316 (lire en ligne [PDF])
  7. (en) « MathJax: Accessibility »(ArchiveWikiwixArchive.isGoogle • Que faire ?).
  8. La liste des navigeurs compatibles avec MathJaxest disponible sur le site officiel(en) « MathJax: Browser Compatibility » [archive du ] (consulté le ).
  9. (en) « Using MathJax in popular web platforms ».
  10. La liste des commandes LaTeX acceptées est disponible ici :(en) « MathJax: Supported LaTeX Commands ».
(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « MathJax » (voir la liste des auteurs).

Liens externes

  • Portail des mathématiques
  • Portail des logiciels libres
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.