MathML (Mathematical Markup Language = Lenguaje de Marcas Matemático) es un lenguaje de marcas dirigido a la representación de fórmulas matemáticas.
Se han publicado varias versiones de MathML: MathML 1.0 (1998), MathML 1.01 (1999), MathML 2.0 (2001), MathML 2.0 (2º edición) (2003) y MathML 3.0 (octubre de 2010). Véase la lección sobre Historia de la Web para más detalles.
Una página web que contiene elementos MathML es un documento compuesto que contiene tanto elementos XHTML como MathML. El tipo del documento tiene que ser por tanto XHTML 1.1 + MathML 2.0 y se debe servir al navegador con el tipo MIME application/xhtml+xml.
Normalmente los servidores sirven los documentos que tienen la extensión .html con el tipo MIME text/html y los documentos que tienen la extensión .xhtml con el tipo MIME application/xhtml+xml, por lo que conviene guardar los documentos que incluyan elementos MathML con la extensión .xhtml.
Se puede comprobar fácilmente la capacidad de un navegador de mostrar elementos MathML visitando la página https://www.eyeasme.com/Joe/MathML/MathML_browser_test. Actualmente (enero de 2012) esta página 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 fórmulas matemáticas deben mostrarse como imágenes, lo que impide aprovechar las posibilidades de MathML (hojas de estilos, zoom, facilidad de edición, etc.). Algunos sitios detectan si el navegador admite o no MathML y envían una versión con MathML o con imágenes, como por ejemplo la Biblioteca Digital de Fórmulas Matemáticas del NIST.
Para investigar: MathJax (JavaScript)
Internet Explorer no admite el tipo MIME application/xhtml+xml, por lo que no es capaz de mostrar directamente páginas con elementos MathML, pero existen plug-in gratuitos para conseguirlo, por ejemplo MathPlayer de DesignScience. Actualmente (enero de 2012) se ofrecen dos versiones de MathPlayer:
Antes de instalar el plug-in, cuando se intenta abrir una página con elementos MathML, Internet Explorer no muestra la página sino que muestra una ventana dando la posibilidad de guardar el archivo. Pero una vez instalado el plug-in, Internet Explorer es capaz de mostrar páginas con elementos MathML.
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 2012) las fuentes recomendadas son las fuentes STIX, una fuentes de miles de caracteres creadas por el consorcio STI Pub, formado por varias organizaciones científicas norteamericanas y la editorial Elsevier. Este consorcio se creó en 1995 y hasta el año 2000 se estuvieron definiendo los caracteres necesarios. En el año 2000 comenzó la creación de las fuentes, en octubre de 2007 se publicó la versión beta de las fuentes y en mayo de 2010 se publicó la versión 1.0.0. Las fuentes STIX están disponibles en formato OpenType y actualmente (enero de 2012) está previsto que la versión 1.1 incluya paquetes para su uso con Microsoft Office y que la versión 1.2 incluya paquetes para su uso con LaTeX.
Actualmente (enero de 2012):
En cdlibre.org hay una sección dedicada a fuentes OTF, con información detallada sobre la última versión publicada.
Al abrir un archivo de extensión .xhtml como archivo local (sin utilizar un servidor de páginas web), Firefox reconoce estos documentos como application/xhtml+xml y los muestra correctamente.
Actualmente (enero de 2012) Chrome no es capaz de mostrar elementos MathML, pero WebKit (el motor de Chrome o de Safari) admite MathML desde agosto de 2010 y el navegador Safari 5.1 (publicado en julio de 2011) sí que admite MathML, por lo que Chrome podría admitir MathML en cualquier momento.
El bug 3251 de WebKit se ocupa de la implementación de MathML en WebKit. Este bug se abrió en 2005, pero no ha tenido ninguna actividad.
La siguiente página muestra un un ejemplo sencillo de las posibilidades del MathML:
Esta obra está bajo una licencia de Creative
Commons Reconocimiento-CompartirIgual 3.0 España.