MathJax

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
MathJax
Image illustrative de l'article MathJax
Logo

Développeur Société mathématique américaine
Dernière version 2.3 (18/11/2013)
Écrit en JavaScript
Type logiciel mathématique (en)
Licence Licence Apache
Site web http://www.mathjax.org/

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

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 Project Euclid (en).

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

Propriétés[modifier | modifier le code]

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 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[modifier | modifier le code]

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

Compatibilité avec les serveurs[modifier | modifier le code]

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

Support pour TeX[modifier | modifier le code]

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

Support pour MathML[modifier | modifier le code]

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[modifier | modifier le code]

  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,‎ 2009, 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. a et b Davide Cervone, « Math Jax: A Platform for Mathematics on the Web », Notices of the American Mathematical Society, vol. 59, no 2,‎ 2012, p. 312–316 (lire en ligne [PDF])
  7. (en) « MathJax: Accessibility » (ArchiveWikiwixArchive.isGoogleQue faire ?).
  8. La liste des navigeurs compatibles avec MathJaxest disponible sur le site officiel(en) « MathJax: Browser Compatibility ».
  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[modifier | modifier le code]