MathML

MathML (Mathematical Markup Language = Lenguaje de Marcas Matemático) es un lenguaje de marcas dirigido a la representación de fórmulas matemáticas.

Páginas web con MathML

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.

En HTML 5 se pueden incluir directamente elementos MathML. Actualmente (octubre de 2021) únicamente Firefox y Safari admiten MathML pero afortunadamente, después de muchos años, Chrome tiene planeado admitirlo (MathML Google Chrome status), gracias al trabajo que está realizando 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.). Actualmente, la solución más habitual es 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.

MathML en Firefox

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 (octubre de 2021) 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 2021), 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).

MathML en Chrome

Actualmente (octubre de 2021) Chrome no es capaz de mostrar páginas con elementos MathML.

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), está trabajando en la implementación de MathML en Chromium.

La Issue 6606: Missing MathML implementation permite hacer un seguimiento de la implementación de MathML en Chromium.

Existen algunas extensiones para mostrar MathML en Chrome (mediante MathJax), como Math Anywhere.

Páginas de muestra

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:

Edición de MathML

Más información