Pour afficher des mathématiques LaTeX sur une page web, on ne lance pas TeX dans le navigateur : on utilise un moteur de rendu mathématique en JavaScript. Les deux standards sont MathJax (le plus complet) et KaTeX (le plus rapide). Les deux acceptent la syntaxe mathématique LaTeX. Cette page les compare.
MathJax
MathJax (v3) rend les mathématiques LaTeX — ainsi que MathML et AsciiMath — en HTML/CSS, SVG et MathML. La sortie MathML est précieuse pour l’accessibilité avec lecteurs d’écran. Il offre la compatibilité LaTeX mathématique la plus large (amsmath, macros personnalisées, même \label/\eqref), et la réécriture de v3 a beaucoup réduit l’ancien écart de vitesse. Configurez-le via un objet window.MathJax (délimiteurs, paquets) avant de charger le script.
<script>
window.MathJax = { tex: { inlineMath: [["$","$"]], displayMath: [["$$","$$"]] } };
</script>
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>KaTeX
KaTeX (par Khan Academy) est le moteur de rendu rapide et léger : synchrone, sans reflow, de petite taille. Il prend en charge un grand sous-ensemble des mathématiques LaTeX, mais pas tout (notamment pas les références d’équations \label/\eqref). Il est idéal quand il y a beaucoup de formules et que la vitesse compte. Chargez son CSS, son JS et l’extension d’auto-rendu (renderMathInElement).
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex/dist/contrib/auto-render.min.js"
onload="renderMathInElement(document.body);"></script>Configuration, compatibilité et choix
Délimiteurs : en ligne $...$ ou \(...\) ; affiché $$...$$ ou \[...\]. Choisissez lesquels sont actifs (MathJax via son objet de configuration, KaTeX via delimiters de renderMathInElement). Compatibilité : les deux acceptent uniquement les mathématiques LaTeX (pas des documents entiers) et aucun ne lance un vrai moteur TeX ; ils réimplémentent la composition mathématique en JS. MathJax couvre davantage de commandes. Pour mettre un document LaTeX entier sur le web avec fidélité, utilisez un convertisseur (tex4ht/LaTeXML) — voir « LaTeX → HTML ».
- Compatibilité, MathML (accessibilité),
\eqref→ MathJax. - Vitesse, petite taille, nombreuses formules → KaTeX.
- Document entier sur le web → convertisseur (voir « LaTeX → HTML »).