MathML (Mathematical Markup Language = Lenguaje de Marcas Matemático) es un lenguaje de marcas dirigido a la representación de fórmulas matemáticas.
El W3C publicó varias versiones de MathML entre 1998 y 2014. La última versión publicada, en octubre de 2014) fue MathML 3.0 (2ª edición). Véase la lección sobre Historia de la Web para más detalles.
Firefox y Safari admiten MathML desde hace muchos años.
Desde HTML 5 se pueden incluir directamente elementos MathML en una página web. Actualmente (enero de 2023), el grupo de trabajo MathML del W3C está elaborando MathML 4.0 y MathML Core, una versión reducida pensada para su implementación en los navegadores.
Chrome admite MathML Core desde enero de 2023 (Chrome 109), gracias al trabajo realizado por la empresa gallega Igalia.
Se puede comprobar fácilmente la capacidad de un navegador de mostrar elementos MathML visitando la página http://eyeasme.com/Joe/MathML/MathML_browser_test.html, que muestra varias fórmulas matemáticas tal y como se ven en un sistema de tipografía TeX, en Firefox con las fuentes STIX y en el navegador del usuario.
En los navegadores que no son capaces de mostrar elementos MathML, la solución clásica ha sido siempre mostrar las fórmulas matemáticas como imágenes, lo que impide aprovechar las posibilidades de MathML (hojas de estilos, zoom, facilidad de edición, etc.). Desde hace unos años, la solución más habitual ha sido utilizar alguna biblioteca JavaScript como MathJax para suplir las carencias del navegador, como por ejemplo hace la Biblioteca Digital de Fórmulas Matemáticas del NIST. Ahora que Chrome ya admite MathML, seguramente esas soluciones se irán abandonando en favor de MathML puro.
Firefox es capaz de mostrar páginas con elementos MathML, aunque es necesario instalar ciertas fuentes para poder mostrar correctamente todos los caracteres matemáticos.
Actualmente (enero de 2023) las fuentes recomendadas son las fuentes STIX, una fuentes de miles de caracteres creadas por el consorcio STI Pub, formado en 1995 por varias organizaciones científicas norteamericanas y la editorial Elsevier. En el año 2000 comenzó la creación de las fuentes, en mayo de 2010 se publicó la versión 1.0, en agosto de 2012 se publicó la versión 1.1 y en diciembre de 2016 se publicó la versión 2.0.
Las fuentes STIX están disponibles en formato OpenType. Actualmente (octubre de 2022), la última versión estable disponible es la versión 2.13.171 (de mayo de 2021).
En cdlibre.org hay una sección dedicada a fuentes OTF, con información detallada sobre las últimas versiones publicadas.
La extensión de Firefox Mathzilla, creada por Frédéric Wang, contiene varias utilidades relacionadas con MathML, incluida la instalación de fuentes (aunque se recomienda realizar la instalación manual de las fuentes STIX).
Desde enero de 2023 Chrome es capaz de mostrar páginas con elementos MathML Core (MathML Google Chrome status).
Chrome admitió MathML en la versión 24 (enero de 2013), pero debido a problemas de incompatibilidades entre el código de MathML y el de WebKit (por entonces Chrome todavía utilizaba WebKit, aunque a partir de 2013 empezó a utilizar Blink), en la versión Chrome 25 (febrero de 2013) se deshabilitó el soporte de MathML y Google manifestó que no entraba en sus planes recuperarlo. Afortunadamente, desde 2019 la empresa gallega Igalia, que ya participó en la implementación de MathML en Webkit (el motor de Safari), ha estado trabajando en la implementación de MathML en Chromium (Chrome issue 6606: Missing MathML implementation)
La siguiente página muestra un ejemplo sencillo de las posibilidades del MathML:
La siguiente página muestra varios ejemplos de fórmulas más complicadas: