Aunque DBTexMath no es la única alternativa para la representación de expresiones matemáticas en documentos Docbook, en esta sección se explicará el porqué de su elección.
Para los que aún no han intentado escribir documentos DocBook que involucren expresiones matemáticas complejas tal vez les sorprenda el hecho de que DocBook no provee herramientas estándar para tal actividad.
En realidad, la alternativa propuesta (aunque no formalmente) por OASIS consortium[1] es MathML [2]. Sin embargo, según mi parecer, todavía no se habla de una herramienta estándar que venga dentro de la DTD para la representación de expresiones matemáticas. En efecto, hay varias formas de hacer esto como es descrito en http://www.sagehill.net/docbookxsl/Math.html. El uso de MathML tiene dos grandes inconvenientes:
Dificultad para escribir directamente en lenguaje MathML. Si queremos escribir expresiones matemáticas moderadamente complejas directamente en MathML (por ejemplo en un editor de textos como emacs), nos resultará casi imposible hacerlo ya que es una tarea muy complicada. La única alternativa posible es escribir nuestras expresiones matemáticas en algún editor de ecuaciones con interfaz gráfica. Pero aquí surgen nuevamente los problemas. Primero, obtener software libre de estas características es muy complicado. Desde el punto de vista de muchos la única herramienta libre que cumple con estos requisitos es la aplicación experimental Amaya. Y el segundo problema que se presenta es que aunque existiera, depender de una tal herramienta ya no sería lo que, por ejemplo yo, pretendo de la edición estructurada de textos. Estaría orientando mi metodología a la técnica WYSIWYG, lo cual tiene, en lo personal, sus desventajas.
La salida de expresiones MathML no siempre es correcta. . Las hojas de estilo DSSSL que hacen, junto con jade la transición de MathML a TeX son experimentales y su trabajo fue discontinuado hace unos años[3]. La salida TeX de las expresiones MathML es confusa, poco prolija y algunas expresiones son totalmente ignoradas como por ejemplo la barra superior del promedio estadístico (). También se pueden ver ciertas diferencias (errores) en expresiones matemáticas relativamente complejas.
Para Allin Cottrell, estos dos problemas fueron lo suficiente importantes como para buscar o crear otra alternativa. El resultado fue su proyecto DBTexMath.
Hasta aquí todo muy bien pero, hasta ahora no hemos contestado la pregunta a la que hace referencia el título de esta sección. ¿Por qué usar DBTexMath en lugar de, por ejemplo, MathML?
Primero que nada, MathML y DBTeXMath parecen ser las dos únicas herramientas para auxiliar a DocBook en la edición matemática. Si algún usuario encuentra otra le agradezco que me lo comunique. Segundo, hemos visto las deficiencias de la edición directa de código MathML dentro de nuestros documentos DocBook. Y tercero, podemos decir que la edición de expresiones matemáticas en el lenguaje TeX es casi perfecta. Con unas pocas líneas se pueden crear expresiones que, en otra clase de lenguajes para los mismos propósitos serían muy complejas. Una prueba de ello es que proyectos orientados a las ciencias (como por ejemplo GSL, la librería para propósitos científicos de GNU) utilizan en su documentación de sólo texto (páginas manual o info) el lenguaje TeX para representar expresiones matemáticas complejas. Esto da una idea de lo práctico que es TeX y del gran uso que se le da. Un ejemplo de la facilidad de la conveniencia de su uso para representar expresiones matemáticas es el siguiente. La cadena
x_j = \sum_{k=0}^{N-1} z_k e^{ -2\pi i j k / N }representa la expresión para la transformada discreta de Fourier: Con este pequeño ejemplo, se puede apreciar la facilidad y lo intuitivo del uso de TeX para escribir matemáticas.
[1] | Organization for the Advancement of Structured Information Standards: la entidad responsable del mantenimiento y desarrollo de DocBook |
[2] | |
[3] | Sin embargo en las hojas XSL el soporte a MathML existe y es descrito en http://www.sagehill.net/docbookxsl/MathML.html |