Yo voy a la UTN. En la facultad tengo muchas materias matemáticas. En primer año hay más matemática que materias técnicas. Y es notorio que los profesores usan el formato de Word, que es un formato propietario y lleno de defectos, para hacer los apuntes y exámenes que imprimen. Bien, el Word es un programa que sirve a ese fin, escribir e imprimir. Word no es un formato de distribución. Eso está claro.
Pero cuando quiero acceder a esos apuntes y exámenes on-line, están en formato Word. Ah, bárbaro. ¿Cómo los abro en Linux? o aún mejor ¿Cómo los abro en una máquina con Windows sin el Office? Si tu respuesta es WordPad, tratá de abrir un documento de Word (última versión: Office 2003) en el Wordpad, en especial uno que contiene ecuaciones embebidas. Feliz cuelgue, idiota:
Aunque tuviera el Word no los abriría. Los archivos de Word llevan virus de macros, por si no sabías.
Ahora, hablando en serio y sacando al puto Word del medio (y a todos los formatos propietarios), sabemos que para publicar y distribuir un documento la única forma es en HTML. Si el documento está en HTML, lo mandamos por mail sabiendo que la otra persona lo va a poder leer, ya que todos los sistemas operativos traen un navegador. O se puede subir a un servidor web, ya que el documento HTML es una página web de por sí.
Pero la verdadera pregunta es ¿Cómo muestro matemática en una página web? Por matemática me refiero a ecuaciones, fórmulas, relaciones, funciones, series, etc.
A continuación van las distintas soluciones ante esto:
Acá hay un ejemplo de eso: (x+y)²=x²+2xy+y². Esto tiene varias ventajas:
Es sensato, pero no sirve. Si bien existe una gran cantidad de entidades para representar casi cualquier caracter, hay dos problemas:
Esta solución es una mierda. Pero sin embargo es una de las mejores que disponemos.

Lo que se ve arriba es una imagen GIF de 90 píxeles de ancho por 75 de alto. La creé con el Paint y la convertí (con los filtros gráficos) a GIF con fondo transparente (aunque en esta página no uso imagen ni color de fondo).
Pros:
Y sus contras:
Es necesario remarcar que a pesar de sus múltiples desventajas, este método sigue siendo el más utilizado. También quiero dejar en claro que el uso de gráficos vectoriales SVG no aporta mucho a esto, y para peor Internet Explorer no los muestra.
¿Software embebido? una explicación por favor...
Llamo software emebebido a usar algún tipo de marca ¿propietaria? en el código HTML que llamen a algún componente de software desarrollado y/o distribuido por vos en tu sitio web. Esto generalmente se hace con applets en Java, pero se puede hacer con Python, Flash o con plugins para el navegador.
Acá presento una solución muy loca usando un plugin para el navegador que encontré por ahí. Anda en Internet Explorer y Netscape:
Si tenés Internet Explorer y no lo ves, clickeá el espacio vacío e instalá el plugin, es inofensivo.
Si querés usarlo, animate, probá este editor (está en inglés e incluye el plugin).
Pros:
Contras:
Y claro, a esta altura ya estás cansado del HTML. Y sí, podés usar otro formato siempre y cuando sea universal, no mandes un archivo en formato raro.
Entonces, podés usar PDF o PostScript. Sinceramente recomiendo no usar PostScript para esto, ya que no todo el mundo usa Linux, hay pelotudos que todavía tienen Windows.
PDF, además, se puede ver desde el navegador si el usuario eligió instalar el plugin junto con su Acrobat Reader®.
Esta solución es parecida a lo del archivo de Word del principio, sólo que esta vez con un formato universal y distribuible; cuyo visor, el Acrobat Reader, es relativamente liviano (5 Mb) y a diferencia del puto Office, es gratis y hay versiones para todos los sistemas operativos.
Pros:
Contras:
Bien, todo lo anterior sigue siendo válido pero hace tiempo que se inventó MathML, un lenguaje SGML público y abierto, similar a HTML, para mostrar matemática en la web.
MathML se basa en criterios matemáticos, lo que representa su sintaxis es la verdadera estructura de la matemática, por lo que conserva todo el significado.
Por ejemplo la integral definida del punto 2, en MathML se representa como:
<math>
<apply>
<int />
<bvar>
<ci>x</ci>
</bvar>
<lowlimit>
<cn>0</cn>
</lowlimit>
<uplimit>
<apply>
<times />
<cn>2</cn>
<mo>π</mo>
</apply>
</uplimit>
<apply>
<cos />
<ci>x</ci>
</apply>
</apply>
</math>
Ese choclo que está ahí arriba es un pedazo de código MathML, que dice: "integral, con límite inferior 0, superior en el producto de 2 por π, del coseno de x en función diferencial de x".
Es un lenguaje matemático, tiene significado matemático. En eso se diferencia de las 4 soluciones anteriores. En este caso no se envía un texto, código o imagen para que se muestre una expresión matemática, sino lo que se envía es la expresión matemática codificada en forma unívoca de acuerdo a su significado matemático abstracto, más allá de como se vea o como se imprima. Es un lenguaje puramente matemático.
MathML es un lenguaje ampliamente soportado por una gran cantidad de plataformas. El sotware Mathematica, de Wolfram, puede importar y exportar MathML a partir de su versión 4.0. Maple hace lo mismo. MathType, de Design Science, también soporta MathML. El programita que presento en el punto 3 también exporta a MathML. Los navegadores Netscape 7, Amaya y Mozilla muestran el MathML insertado en páginas web.
Bárbaro, ahora que tenemos la panacea de la docencia en nuestras manos... ¿cuál es el problema? Como era de esperarse, Internet Explorer no soporta MathML; e Internet Explorer es usado por el 90% de los usuarios de Internet (gracias al bello monopolio de Microsoft que lo hizo imposible de desinstalar...), por lo que el sueño de mostrar matemática en la web seguirá esperando, hasta que Microsoft se digne a reconocer a MathML; o que la gente se de cuenta de que Internet Explorer apesta y use otro navegador.
Hay soluciones de compromiso. Las 4 anteriores sirven como sucedáneo de un lenguaje puramente matemático. También hay formas muy exóticas para ver MathML en Internet Explorer, combinando plugins, objects, XML y namespaces. Acá hay un ejemplo.
La meta de la docencia en el siglo XXI sigue siendo la misma: La web es el pizarrón del futuro.