Hasta ahora, con vistas a una mejor integración en EPUB, el método que he seguido para visualizar los documentos que incluían sintaxis Content MathML ha sido transformar previamente los fragmentos Content MathML en Presentation MathML; para llevar a cabo esta conversión he usado una hoja de transformaciones (ctop.xsl de David Carlisle) y un procesador XSLT (xsltproc).

Sin embargo, las últimas versiones de MathJax soportan (supuestamente, pues después de tantas decepciones ya no me creo nada) Content MathML, por lo que puede ser una buena opción para documentos HTML con fragmentos de código Content MathML.

Desde la versión 2.2 MathJax soporta (de forma experimental??) Content MathML, utilizando la hoja de estilos de David Carlisle, que MathJax procesa adecuadamente. Literalmente:

"This uses an XSL style sheet developed by David Carlisle to convert Content MathML to Presentation MathML, which is then processed by MathJax"

MathJax no procesa Content MathML de forma automática, sino que hay que indicarlo en el script de configuración previo a la carga del script, de la siguiente forma:

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
MathML: {
extensions: ["content-mathml.js"]
}
});
</script>

Como se puede ver, el script que utiliza es: [Carpeta-MathJax]/extensions/MathML/content-mathml.js, que se trata, como ya he indicado, de una adaptación del script ctop.xsl de David Carlisle.

Con esto ya tenemos todo lo necesario para realizar unas pruebas en modo local, que muestro en las siguientes capturas.

Código Content MathML con MathJax

Código Content MathML con MathJax

Código Content MathML con MathJax

Código Content MathML con MathJax

Los resultados son bastante satisfactorios, como se puede observar, pero MathJax sitúa los signos de la integral entre elementos <mi>, y como consecuencia, no se renderizan con el tamaño adecuado.

Errata conversión

Puesto que esto mismo es algo que también sucede con la hoja de estilos ctop.xsl (cuyo uso mostraré en alguna entrada posterior), comencé a albergar la duda de que fuera algo premeditado en lugar de una errata. Por este motivo me puse en contacto con David Carlisle, quien me contestó [muy amablemente] que "debía" ser una errata, que la versión javascript ctop.js no contiene este error (había algunas cuestiones de la hoja de estilos que tenía que revisar respecto a la aplicación javascript); y que además el nuevo script de MathJax (que todavía no está integrado en la versión actual 2.4), para realizar la conversión de Content a Presentation, está basado en su script ctop.js.