--- myst: html_meta: keywords: LaTeX,formules mathématiques,HTML,équations,pages web,pages HTML,hypertexte" --- # Comment afficher des maths sur une page web ? La page [](/5_fichiers/formats/xml/convertir_du_latex_en_html) explique comment convertir un document (La)TeX en fichier HTML. Les nombreuses fontes désormais accessibles sur le web ainsi que les nouveaux standards web et leurs possibilités permettent désormais d’afficher correctement des formules mathématiques sur le web. ## Technologies des polices de caractères La représentation directe des mathématiques dans les navigateurs était entravée par la gamme limitée de symboles dans les polices disponibles. Cependant, tous les systèmes d'exploitation modernes incluent désormais des polices _OpenType_ avec de vastes collections de symboles. Comme désormais, il est possible d’indiquer au navigateur web où trouver une fonte particulière, on peut créer une page web en spécifiant des polices particulière, et le rendu de la page ne dépendre plus du fait que le lecteur ait préinstallé les polices appropriées. La page [](/5_fichiers/formats/fontes/fontes_opentype_pour_les_mathematiques) explique que le format OpenType contient une partie réservée aux mathématiques et que quelques fontes OpenType fournissent les caractères mathématiques. ## L’interprétation directe d’un sous ensemble de commandes mathématiques LaTeX en Javascript La rapidité des moteurs modernes Javascript permet de générer des pages web contenant des morceaux de code (La)TeX qui sont transformées par le navigateur web du lecteur. Les deux outils principaux sont les suivants. - [MathJax](https://www.mathjax.org/) est la bibliothèque Javascript la plus utilisée pour le rendu des mathématiques dans une page web. Il supporte plusieurs types d’entrées, en particulier un sous ensemble de la syntaxe mathématique de LaTeX. Il peut être configuré pour produire différents types de sorties comme MathML, SVG ou (le plus souvent) de l’HTML et du CSS. Alors que normalement il est utilisé comme une bibliothèque Javascript exécutée du côté du navigateur du lecteur, il est aussi possible (en utilisant [Node.js](https://nodejs.org/)) de réaliser les conversions en avance et de servir les pages HTML avec le rendu mathématique déjà produit. [MathJax](https://www.mathjax.org/) permet de télécharger une copy de la bibliothèque et de l’installer sur *votre* serveur. MathJax est un logiciel libre. - [KaTeX](https://khan.github.io/KaTeX/) est une nouvelle bibliothèque Javascript alternative. Son but principal est d’être plus simple et plus rapide que MathJax. Cette bibliothèque supporte moins de formats d’entrées et de sorties, et traite moins de structure LaTeX que ne le fait MathJax. ## Écrire directement en XML La conversion de (La)TeX en XML est tout à fait possible (par exemple avec [TeX4ht](ctanpkg:tex4ht)) et les travaux se poursuivent dans ce domaine. L’autre solution, qui consiste à rédiger son document directement en XML (et donc à produire des documents immédiatement adaptés au Web, voir même prêt à l’emploi) et à utiliser (La)TeX pour la composition et la production d’un fichier PDF, est également bien avancée. Une des techniques consiste, pour cela, à [transformer le source XML en LaTeX](/5_fichiers/formats/xml/convertir_du_sgml_en_latex) en utilisant une feuille de style XSLT ou le code d’une bibliothèque XML, puis à utiliser simplement LaTeX. On peut aussi [composer directement à partir du source XML](/5_fichiers/formats/xml/utiliser_latex_pour_lire_du_xml). La représentation directe en MathML est un standard pour la représentation des mathématiques sur le Web. Le support MathML est fourni pour la plupart des navigateur (quitte à installer un plugin). Les formules écrites en MathML dans la page peuvent être rendue par MathJax, avec une sortie identique à son rendu TeX. MathJax utilise d’ailelurs une variante de MathML comme format intermédiaire. ## Autres approches - [GELLMU Project](https://www.albany.edu/~hammond/gellmu/) propose une autre approche. Le document de base *article* est un document XML qui a une syntaxe proche de LaTeX, même si ce n’est pas tout à fait du LaTeX, et est fourni avec des traducteurs qui produisent à la fois du PDF (via *pdflatex*) et du XHTML+MathML. Une telle approche évite les limites inhérentes à la conversion «traditionnelle» de (La)TeX, dont les pièges peuvent être évité avec une syntaxe proche de LaTeX adaptée. - Les images SVG sont aussi devenues un standard pour les représentations graphiques sur le web. Ainsi, il est aussi possible de représenter des formules en SVG. - [MathTeX](ctanpkg:mathtex) est aussi une alternative intéressante. Il s’agit d’un script CGI sur votre serveur qui produit à la volée des images PNG ou JPEG à partir d’une balise `` dont la syntaxe est quelque chose comme : ```html