Matemáticas web (MathJax / KaTeX)

Para mostrar matemáticas LaTeX en una página web, no ejecutas TeX en el navegador: usas un renderizador matemático JavaScript. Los dos estándares son MathJax (el más completo) y KaTeX (el más rápido). Ambos aceptan sintaxis matemática LaTeX. Esta página los compara.

MathJax

MathJax (v3) renderiza matemáticas LaTeX — además de MathML y AsciiMath — a HTML/CSS, SVG y MathML. La salida MathML es valiosa para accesibilidad con lectores de pantalla. Tiene la compatibilidad más amplia con matemáticas LaTeX (amsmath, macros propias, incluso \label/\eqref), y la reescritura de v3 redujo mucho la antigua diferencia de velocidad. Configúralo mediante un objeto window.MathJax (delimitadores, paquetes) antes de cargar el script.

terminal
<script>
  window.MathJax = { tex: { inlineMath: [["$","$"]], displayMath: [["$$","$$"]] } };
</script>
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>

KaTeX

KaTeX (de Khan Academy) es el renderizador rápido y ligero: síncrono, sin reflow y pequeño. Soporta un gran subconjunto de las matemáticas LaTeX, pero no todo (en particular no referencias de ecuaciones con \label/\eqref). Es ideal cuando hay muchas fórmulas y la velocidad importa. Carga su CSS y JS, más la extensión de autorender (renderMathInElement).

terminal
<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>

Configuración, compatibilidad y elección

Delimitadores: en línea $...$ o \(...\); en display $$...$$ o \[...\]. Elige cuáles están activos (MathJax mediante su objeto de configuración, KaTeX mediante delimiters de renderMathInElement). Compatibilidad: ambos aceptan solo matemáticas LaTeX (no documentos completos) y ninguno ejecuta un motor TeX real: reimplementan la composición matemática en JS. MathJax cubre más comandos. Para poner un documento LaTeX entero en la web con fidelidad, usa un conversor (tex4ht/LaTeXML); ver “LaTeX → HTML”.

  • Compatibilidad, MathML (accesibilidad), \eqref → MathJax.
  • Velocidad, tamaño pequeño, muchas fórmulas → KaTeX.
  • Documento completo en la web → conversor (ver “LaTeX → HTML”).