9 de agosto de 2010

Motor de fórmulas de Wikipedia

Artículo original http://www.treeweb.es/blog-anotacion-motor-de-formulas-de-wikipedia.

Una de las funcionalidades por las que tengo tanto interés como curiosidad, es el motor de fórmulas de Wikipedia.
El editor de Wikipedia es de tipo WYSIWTM (lo que ves es lo que quieres decir). Así, al editar un documento de Wikipedia se observan una serie de marcas de edición y de formato que no se veían en la vista normal pero que son muy útiles a la hora de definir la estructura, el formato, relaciones entre documentos, etc. Una de esas marcas permite definir fórmulas matemáticas que se pintarán automáticamente con una gran calidad.
Por ejemplo, si editamos el artículo [Editar] de la fórmula de la media aritmética encontraremos una parte que define la fórmula mediante texto:
{{ecuación| \bar{x} = \frac{\sum_{i=1}^n{a_i}}{n} = \frac{a_1+\cdots+a_n}{n} ||left}}
Y al visualizar el documento se genera de forma automática la siguiente imagen:
Fórmula 'Media aritmética'
Lo mejor de todo es que el código que utiliza la ecuación entre el tag '' es código LaTeX para definir fórmulas matemáticas. LaTeX es un lenguaje para edición profesional de documentos con una altísima calidad y entre sus muchas virtudes tiene un motor de render de fórmulas matemáticas.
Pero todavía hay algo mejor, el código fuente de Wikipedia (que es libre y se puede descargar gratuitamente desde http://www.mediawiki.org/wiki/Download) contiene un módulo que interpreta y genera ecuaciones matemáticas escritas en LaTeX.
Parece ser que está escrito en lenguaje OCaml, se encuentra en el directorio 'mediawiki-1.15.1/math' del motor de Wikipedia.
Un extracto del readme:
== About texvc == texvc takes LaTeX-compatible equations and produces formatted output in HTML, MathML, and (via LaTeX/dvipng) rasterized PNG images. Input data is parsed and scrutinized for safety, and the output includes an estimate of whether the code is simple enough that HTML rendering will look acceptable. The program was written by Tomasz Wegrzanowski for use with MediaWiki; it's included as part of the MediaWiki package (http://www.mediawiki.org) and is under the GPL license. Please report bugs at: https://bugzilla.wikimedia.org/ with "MediaWiki extensions" as product and "texvc" as component.
Espero que el motor sea fácil de integrar, ya que puede ser de gran utilidad en una amplia variedad de proyectos.

No hay comentarios:

Publicar un comentario