# 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.

Se han publicado varias versiones de MathML: MathML 1.0 (1998), MathML 1.01 (1999), MathML 2.0 (2001) y MathML 2.0 (2º edición) (2003). Actualmente (diciembre de 2009), el W3C está preparando la recomendación MathML 3.0. Véase la lección sobre Historia de la Web para más detalles.

## Páginas web con MathML

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 (diciembre de 2009) 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.

## MathML en Internet Explorer

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, cuya última versión es actualmente (diciembre de 2009) la versión MathPlayer 2.1b, del 31/05/07. 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.

## 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 (diciembre de 2009) 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 y en octubre de 2007 se publicó la versión beta de las fuentes. La versión final está actualmente (diciembre de 2009) prevista para finales de 2009, aunque las fechas previstas se han incumplido tantas veces que resulta imposible saber cuándo se publicará la versión final. Las fuentes STIX están disponibles en formato OpenType.

Actualmente (diciembre de 2009) se puede descargar la versión beta (de octubre de 2007) de las fuentes STIX.

Antes de que se hubieran publicado las fuentes STIX, se recomendaba utilizar el instalador MIT MathML Fonts 1.0 (del 06/08/03) . Este paquete instala varias fuentes creadas por diferentes organizaciones (por ejemplo, las fuentes CM de TeX, las fuentes de Mathematica 4.1 y 4.2). En Linux, había que seguir estas instrucciones.

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.

Mozilla y Firefox han sido capaces de mostrar páginas con elementos MathML desde la versión Mozilla 0.9.9 (marzo de 2002), gracias al trabajo realizado por el proyecto MathML de Mozilla.

Si las fuentes no estaban instaladas, al abrir en Firefox 2 o anteriores una página que contuviera elementos MathML, se abría una ventana de aviso como ésta:

### La extensión FireMath

La extensión FireMath permite crear fórmulas MathML desde Firefox. Se puede instalar desde Firefox Add-ons. Actualmente se encuentra en desarrollo.

Nota: Por completar y probar.

## MathML en Google Chrome

Google Chrome no es capaz de mostrar elementos MathML puesto que WebKit (el motor de Google Chrome o de Safari) tampoco lo hace y actualmente (diciembre de 2009) no se sabe cuándo lo hará. 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.

## Páginas de muestra

La siguiente página muestra un un ejemplo sencillo de las posibilidades del MathML:

- La ecuación de segundo grado