jueves, 18 de febrero de 2010

Generación de fórmulas matemáticas en-línea

En ocasiones, por alguna razón, se desea la capacidad para poder meter fórmulas matemáticas entre las líneas de texto en las entradas de Blogger sin necesidad de tener que estar subiendo imágenes. La ventaja de las imágenes es que Google guarda un registro permanente de ellas. La desventaja es que cada imagen que va siendo subida va reduciendo el límite de imágenes que Google dá a cada usuario. La capacidad para poder meter fórmulas matemáticas entre las líneas de texto en las entradas de Blogger es que las imágenes generadas no son contabilizadas dentro del límite que Google dá a cada usuario.

En lo que se tratará a continuación se estará haciendo referencia al lenguaje LaTeX utilizado para la generación vía Internet de simbología matemática. Para quienes no tengan idea de lo que es el LaTeX, el 15 de junio de 2009 se redactó una entrada en esta misma bitácora titulada “Publicación de trabajos con LaTeX y MathML” dando una breve explicación del asunto.

Si se tienen nociones de la sintaxis de los comandos de LaTeX para la generación de fórmulas matemáticas, se pueden meter fórmulas entre los textos de una entrada de Blogger para que las imágenes de dichas fórmulas se generen cada vez que alguien consulte una página que las contenga. Aunque Blogger en su forma nativa no tiene la capacidad para poder generar imágenes a partir de código LaTeX, hay un sitio web llamado WatchMath.com, una empresa creada recientemente en 2009 que ofrece una alternativa para poder agregar esta capacidad a un blog. Si se quiere utilizar el código disponible de dicha empresa para esta capacidad de generación, se puede recurrir al procedimiento de instalación que se dará a continuación. El enlace de referencia que contiene el procedimiento dado a continuación está situado en:

http://watchmath.com/vlog/?p=438

Procedimiento para meter simbolos matematicos LaTeX directamente dentro de Blogger.

1) Copiar el siguiente código javascript:



2) Ir al tablero de Blogger y seleccionar la configuración:



3) Ir al lado izquierdo y hacer click en "Añadir un gadget" y seleccionar la opción "HTML/Javascript":



4) Dejar fuera el título y pegar el código javascript que fue copiado en el primer paso. Guardar.

5) ¡Eso es todo! Esta concluido. Para meter texto matematico en codigo LaTeX dentro de cualquier entrada de Blogger se puede escribir directamente el código entre dos signos de dolar, como se muestra a continuación:

$\int_0^{\infty} \frac{1}{x} dx$

siendo todo lo que se requiere para la interpretacion del codigo.

Algunos otros ejemplos (es muy posible que Blogger pueda habilitar algún día la tipografía matemática LaTeX dentro de todas sus bitácoras, y podría hacerlo utilizando los signos de dólar al principio y al final para activar la generación de imágenes, en cuyo caso no aparecerá ningún texto en los ejemplos dados a continuación sino sólo las imágenes matemáticas generadas en forma automática):

$\sum_{i=0}^3 \alpha_i^6$

$f^\prime(t)$

$\frac{\partial c^k}{\partial x^q}$

Una vez que el código javascript ha sido agregado, no es posible tratar de meter el símbolo del dólar en su uso ordinario como símbolo monetario porque el código javascript tratará de darle una interpretación LaTeX. Si tenemos necesidad de escribir el signo de dolar sin que sea interpretado matematicamente, lo hacemos escribiendo el signo de admiración (!) entre los dos signos de dólar, logrando de este modo que aparezca el signo del dólar:

$!$

Si hay dificultades en el procesamiento correcto del código LaTeX para que sea interpretado correctamente, se puede poner la expresion matematica entre corchetes ( {...} ), y ponerlo a su vez entre los símbolos del dólar.

En el navegador Mozilla Firefox es posible ver directamente el código LaTeX que genera las imágenes de las fórmulas matemáticas con solo poner el cursor dentro de la imagen. Esto abre una ventanita amarilla que muestra el código LaTeX generador de cada imagen en particular, el mismo código puesto en la entrada original entre los símbolos de dólar pero que no aparece como tal al ser leída la entrada.

Otros ejemplos:

$-mc^{2}\begin{pmatrix}
{\psi_1}\\
{\psi_2}\\
{-\psi_3}\\
{-\psi_4}
\end{pmatrix}=E\begin{pmatrix}
{\psi_1}\\
{\psi_2}\\
{\psi_3}\\
{\psi_4}
\end{pmatrix}}$

$\begin{pmatrix}
{0}&{0}&{0}&{1}\\
{0}&{0}&{1}&{0}\\
{0}&{1}&{0}&{0}\\
{1}&{0}&{0}&{0}
\end{pmatrix}\begin{pmatrix}
{\psi_1}\\
{\psi_2}\\
{\psi_3}\\
{\psi_4}
\end{pmatrix}=\begin{pmatrix}
{\psi_4}\\
{\psi_3}\\
{\psi_2}\\
{\psi_1}
\end{pmatrix}$

$T^{pq}_{rst} = \frac{\partial x^p}{\partial x^m} \frac{\partial x^q}{\partial x^n} \frac{\partial x^i}{\partial x^r} \frac{\partial x^j}{\partial x^s} \frac{\partial x^k}{\partial x^t} T^{mn}_{ijk}$

$\frac{\partial^2 \phi}{\partial x^2}+\frac{\partial^2 \phi}{\partial y^2}+\frac{\partial^2 \phi}{\partial z^2} -\frac{1}{c^2}\frac{\partial^2 \phi}{\partial t^2}=0$

$\mathbf {F} = \frac{m_0 \mathbf {V} }{\sqrt {1 - \mathbf {V \cdot V}/c^2}} \frac{d\mathbf {V}}{dt} + \frac{m_0}{[1 - \mathbf {V \cdot V}/c^2]^{3/2}} \frac{ \mathbf {V} \cdot \frac{d\mathbf {V}}{dt} }{c^2} \mathbf {V}$

$\Gamma_{ijk} = \frac{1}{2}(\frac{\partial}{\partial x^i} g_{jk} + \frac{\partial}{\partial x^j} g_{ki} - \frac{\partial}{\partial x^k} g_{ij})$

$\[ \left[ \begin{array}{cccc}
g_t_t & g_t_r & g_t_\theta & g_t_\phi \\\
g_r_t & g_r_r & g_r_\theta & g_r_\phi \\\
g_r_t & g_r_r & g_r_\theta & g_r_\phi \\\
g_\theta_t & g_\theta_r & g_\theta_\theta & g_\theta_\phi} \end{array} \right]\]$

Se debe señalar que la empresa WatchMath que permite agregar esta capacidad a cada blog no dá un soporte completo a toda la sintaxis y los comandos de LaTeX, pero ciertamente parece ser mucho mejor que otros recursos con menos capacidades. Para los casos en los cuales no hay apoyo para algún símbolo o conjunto de símbolos en especial, se regresará un mensaje de error indicando que no fue posible generar la imagen LaTeX deseada de la fórmula matemática. La siguiente hilera de caracteres regresará uno de tales mensajes de error:

$\mathbf {u'} = \frac{\mathbf{u} \sqrt {1 - \beta ^2} + \mathbf {v} [ \frac { \mathbf {u \cdot v}} {v^2} (1 - \sqrt {1 - \beta ^2}) - 1] }{1 - \frac{ \mathbf {u \cdot v}}{c^2}}$

En esta entrada no se generarán las imágenes de símbolos LaTeX de las cuales hemos estado hablando porque el recurso gadget del cual se ha hablado arriba no se ha habilitado en esta bitácora llamada “Mi Bitácora Diaria”, y la razón por la cual no se ha habilitado en esta bitácora es porque al habilitarse se habilita para todo el blog, no sólo para una de las entradas del blog, algo que aquí no se desea hacer para un tema del que sólo se habla aquí esporádicamente.

El procedimiento detallado es elegante, pero tiene una desventaja: depende de la existencia continuada de la empresa WatchMath.com para poder seguir generando las imágenes, ya que el código javascript lo que hace en esencia es recurrir al servidor en la empresa WatchMath y éste genera la imagen que es enviada a la entrada cada vez que es leída en un navegador por alguien. Si la empresa deja de existir, en los ejemplos que se han puesto arriba sólo aparecerán espacios vacíos. Es posible que la empresa dure mucho tiempo. Pero en Internet muchas empresas nacen y desaparecen en cuestión de unos cuantos años. Esto significa que si alguien elabora muchos trabajos en matemáticas que dependan de este recurso localizado en WatchMath, y la empresa desaparece, todo el trabajo habrá quedado inutilizado (bueno, no del todo, ya que el código LaTeX original sigue disponible en la entrada original editable de cada bloguero, y puesto que el código LaTeX es universal lo único que se necesitaría sería borrar el código javascript que hace referencia al gadget de WatchMath y agregar un código de otra empresa que ofrezca una capacidad similar.)

Una ventaja que se ha argumentado de WordPress sobre Blogger es que WordPress parece tener una capacidad nativa para poder generar símbolos matemáticos, lo cual hace más atractivo a WordPress sobre Blogger. Pero una buena parte de los recursos de WordPress para la impresión en-línea de fórmulas en LaTeX dependen de servidores externos que no son de WordPress, los cuales también pueden desaparecer del mercado antes de que llegue el fin del mundo supuestamente programado por los cineastas de Hollywood para 2012. WordPress tiene su propia capacidad nativa para generar LaTeX, pero esta parece ser tan primitiva que sus opciones en el manejo de sintaxis y comandos de LaTeX parecen ser sumamente limitadas, lo cual no nos deja mucho mejor que como ya estábamos.

La solución ideal sería que Blogger, que es propiedad de Google, añadiese entre sus capacidades el poder interpretar código LaTeX puesto entre los símbolos de dólar o alguna otra serie de símbolos especiales reservados para tal efecto, y la buena noticia es que parece que algunos programadores en Blogger ya están trabajando en ello. Pero esto por lo pronto tendrá que esperar al igual que todas las cosas buenas de la vida, aunque no nos podemos quejar considerando que hasta el día de hoy los servicios de Blogger y la lectura de sus bitácoras son gratuitos al igual que el uso de los motores de búsqueda de Google y de Yahoo.