Lenguaje de marcado MathML

3,247 views
3,118 views

Published on

Una presentación para el curso de doctorado basada en el lenguaje de marcado para edición de formulismo matemático MathML

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,247
On SlideShare
0
From Embeds
0
Number of Embeds
26
Actions
Shares
0
Downloads
78
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Lenguaje de marcado MathML

  1. 1. Realizado por: Juan Carlos Marcos Sánchez e-mail: [email_address] Esta presentación se ha elaborado en PowerPoint 2003
  2. 2. Introducción <ul><li>Con los nuevos soportes electrónicos se plantea una cuestión de especial relevancia en el ámbito científico: </li></ul><ul><li>¿Cómo codificar el simbolismo matemático? </li></ul>
  3. 3. El Simbolismo Matemático <ul><li>Las matemáticas aparecen por doquier: </li></ul><ul><ul><ul><li>C iencia </li></ul></ul></ul><ul><ul><ul><li>T écnica </li></ul></ul></ul><ul><ul><ul><li>M edicina </li></ul></ul></ul><ul><li>Y por consiguiente el simbolismo que requieren. </li></ul>CTM
  4. 4. Características Generales de las publicaciones CTM <ul><li>Las expresiones matemáticas están presentes generalmente en ellas. </li></ul><ul><li>Se representan tradicionalmente por: </li></ul><ul><ul><ul><li>Tex-LaTex </li></ul></ul></ul><ul><ul><ul><li>Editores de Ecuaciones (MathType,…) </li></ul></ul></ul><ul><ul><ul><li>PowerMath </li></ul></ul></ul><ul><ul><ul><li>HTML </li></ul></ul></ul><ul><ul><ul><ul><ul><li>Etc… </li></ul></ul></ul></ul></ul><ul><li>Están muy presentes en estas publicaciones tanto para uso interno como para difusión externa. </li></ul>
  5. 5. Las Matemáticas en la Red <ul><li>La publicación de contenido matemático en la red ha aumentado enormemente en los últimos años. Requiere de: </li></ul><ul><ul><li>Codificar el material matemático útil para la enseñanza y la comunicación científica a todo nivel. </li></ul></ul><ul><ul><li>Codificar tanto notación matemática como significado matemático. </li></ul></ul><ul><ul><li>Facilitar la conversión desde y hacia otros formatos de presentación. </li></ul></ul><ul><ul><li>Poder aprovechar los recursos existentes. </li></ul></ul><ul><ul><li>Ser conveniente para la interacción con software externo. </li></ul></ul><ul><ul><li>Ser extensible y permitir integrar futuras notaciones novedosas. </li></ul></ul>
  6. 6. Las Matemáticas en la Red <ul><li>La integración del simbolismo matemático en la red se ha venido realizando tradicionalmente con el lenguaje HTML. </li></ul><ul><li>HTML no es del todo ideal: la capacidad de inclusión de fórmulas matemáticas es muy limitada. </li></ul>
  7. 7. Algunas soluciones elementales IMÁGENES <ul><li>Usar una aplicación que permita representar fórmulas matemáticas y guardarlas como imágenes para integrarlas en la página web. </li></ul>
  8. 8. Algunas soluciones elementales IMÁGENES <ul><li>Ventajas </li></ul><ul><li>La fuente, tamaño y espaciado son exactamente los especificados. </li></ul><ul><li>Los trabajos mejoran ostensiblemente al incluir contenido matemático explícito. </li></ul>
  9. 9. <ul><li>Inconvenientes </li></ul><ul><li>La calidad de los documentos es pobre. </li></ul><ul><li>Los documentos cambian el tamaño del texto, pero no de la imagen. </li></ul><ul><li>A menudo no están alineadas con el texto </li></ul><ul><li>Tienen baja resolución de impresión. </li></ul><ul><li>La búsqueda, el indexado o la reutilización en otras aplicaciones no es posible. </li></ul><ul><li>Hace difícil la edición (cortar/pegar) </li></ul><ul><li>La edición manual es difícil: necesita software especializado. </li></ul><ul><li>Documentos extensos son lentos de cargar. </li></ul>Algunas soluciones elementales IMÁGENES
  10. 10. Algunas soluciones elementales CÓDIGO HTML <ul><li>El código HTML necesario para conseguir la expresión anterior es: </li></ul><ul><li><b> </li></ul><ul><li><pre> </li></ul><ul><li>-b ± Sqrt(b<sup>2</sup> - 4ac) </li></ul><ul><li>x = ------------------- </li></ul><ul><li>2a </li></ul><ul><li></pre> </li></ul><ul><li></b> </li></ul>-b ± Sqrt(b 2 - 4ac) x = ------------------- 2a
  11. 11. Algunas soluciones elementales CÓDIGO HTML <ul><li>Ventajas </li></ul><ul><li>No es necesario dejar de trabajar en HTML </li></ul><ul><li>No hay problemas con: </li></ul><ul><ul><ul><li>Búsquedas </li></ul></ul></ul><ul><ul><ul><li>Cortar </li></ul></ul></ul><ul><ul><ul><li>Pegar </li></ul></ul></ul><ul><li>No hay problemas con las fuentes </li></ul>
  12. 12. Algunas soluciones elementales CÓDIGO HTML <ul><li>Inconvenientes </li></ul><ul><li>Hay problemas en la representación de símbolos especiales, como el de sumatorio ( ) o el integral ( ). </li></ul>
  13. 13. Primer paso hacia la solución: XML <ul><li>XML , es el estándar de E x tensible M arkup L anguage . </li></ul><ul><li>XML no es más que un conjunto de reglas para definir etiquetas semánticas que nos organizan un documento en diferentes partes. </li></ul><ul><li>XML es un metalenguaje que determina la sintaxis utilizada para definir otros lenguajes de etiquetas estructurados. </li></ul>
  14. 14. Evolución hacia XML <ul><li>En los años 60, IBM intentó resolver sus problemas asociados al tratamiento de documentos en diferentes plataformas a través de GML ( G eneralized m arkup L anguage ). </li></ul><ul><li>El principal problema era que cada aplicación utilizaba sus propias marcas para describir los diferentes elementos. Las marcas son códigos que indican a un programa cómo debe tratar su contenido y así, si se desea que un texto aparezca con un formato determinado, dicho texto debe ir delimitado por la correspondiente marca que indique cómo debe ser mostrado en pantalla o impreso. Y lo mismo ocurre con todas las demás características de cualquier texto. </li></ul>
  15. 15. Evolución hacia XML <ul><li>Conociendo este sistema y conociendo a la perfección el sistema de marcas de cada aplicación sería posible pasar información de un sistema a otro sin necesidad de perder el formato indicado. La forma que IBM creó para solventar esto se basaba en tratar las marcas como texto accesible desde cualquier sistema, texto plano, código ASCII . Y la norma se denominó GML ( General Modeling Language ). </li></ul><ul><li>Más tarde GML pasó a manos de ISO y se convirtio en SGML ( ISO 8879), Standart Generalized Markup Language . Esta norma es la que se aplica desde entonces a todos los lenguajes de marcas, cuyos ejemplos más conocidos son el HTML y el RTF . </li></ul>
  16. 16. Evolución hacia XML <ul><li>Los lenguajes de marcas no son equivalentes a los lenguajes de programación aunque se definan igualmente como &quot;lenguajes&quot;. </li></ul><ul><ul><li>Son sistemas complejos de descripción de información, normalmente documentos. </li></ul></ul><ul><ul><li>Si se ajustan a SGML, se pueden controlar desde cualquier editor ASCII. </li></ul></ul><ul><li>Las marcas más utilizadas suelen representarse por textos descriptivos encerrados entre signos de &quot;menor&quot; (<) y &quot;mayor&quot; (>), siendo lo más usual que existan una marca de principio y otra de final . </li></ul><ul><li>Se puede decir que existen tres utilizaciones básicas de los lenguajes de marcas: </li></ul><ul><ul><li>los que sirven principalmente para describir su contenido (por ejemplo en las bases de datos), </li></ul></ul><ul><ul><li>los que sirven más que nada para definir su formato (por ejemplo en los programas de tratamiento de textos) y </li></ul></ul><ul><ul><li>los que realizan las dos funciones indistintamente (por ejemplo en el lenguaje HTML) </li></ul></ul>
  17. 17. HTML vs. XML <ul><li>En teoría HTML es un “subconjunto” de XML especializado en presentación de documentos para la Web , y a su vez </li></ul><ul><li>XML es un subconjunto de SGML especializado en la gestión de información para la Web . </li></ul><ul><li>En la práctica XML contiene a HTML aunque no en su totalidad. La definición de HTML contenido totalmente dentro de XML es XHTML ( E x tensible, H yper t ext M arkup L anguage ). </li></ul>
  18. 18. Objetivos de XML <ul><li>XML debe ser directamente utilizable sobre Internet. </li></ul><ul><li>XML debe soportar una amplia variedad de aplicaciones. </li></ul><ul><li>XML debe ser compatible con SGML. </li></ul><ul><li>Debe ser fácil la escritura de programas que procesen documentos XML. </li></ul><ul><li>El número de características opcionales en XML debe ser absolutamente mínimo, a ser posible nulo. </li></ul><ul><li>Los documentos XML deben ser legibles por las personas y razonablemente claros. </li></ul><ul><li>El diseño de XML debe ser preparado rápidamente. </li></ul><ul><li>El diseño de XML debe ser formal y conciso. </li></ul><ul><li>Los documentos XML deben ser fáciles de crear. </li></ul><ul><li>La concisión en las marcas XML es de mínima importancia . </li></ul>
  19. 19. Características de XML <ul><li>Es una arquitectura más abierta y extensible. No se necesita versiones para que puedan funcionar en futuros navegadores. Los identificadores pueden crearse de manera simple y ser adaptados en el acto en internet/intranet por medio de un validador de documentos (parser). </li></ul><ul><li>Mayor consistencia, homogeneidad y amplitud de los identificadores descriptivos del documento con XML (los RDF Resource Description FrameWork), en comparación a los atributos de la etiqueta <META> del HTML. </li></ul><ul><li>Integración de los datos de las fuentes más dispares. Se podrá hacer el intercambio de documentos entre las aplicaciones tanto en el propio PC como en una red local o extensa. </li></ul><ul><li>Datos compuestos de múltiples aplicaciones. La extensibilidad y flexibilidad de este lenguaje nos permitirá agrupar una variedad amplia de aplicaciones, desde páginas web hasta bases de datos. </li></ul><ul><li>Gestión y manipulación de los datos desde el propio cliente web. </li></ul><ul><li>Los motores de búsqueda devolverán respuestas más adecuadas y precisas, ya que la codificación del contenido web en XML consigue que la estructura de la información resulte más accesible. </li></ul>
  20. 20. Características de XML <ul><li>Se desarrollarán de manera extensible las búsquedas personalizables y subjetivas para robots y agentes inteligentes. También conllevará que los clientes web puedan ser más autónomos para desarrollar tareas que actualmente se ejecutan en el servidor. </li></ul><ul><li>Se permitirá un comportamiento más estable y actualizable de las aplicaciones web, incluyendo enlaces bidireccionales y almacenados de forma externa (El famoso epígrafe &quot;404 file not found&quot; desaparecerá). </li></ul><ul><li>El concepto de &quot;hipertexto&quot; se desarrollará ampliamente (permitirá denominación independiente de la ubicación, enlaces bidireccionales, enlaces que pueden especificarse y gestionarse desde fuera del documento, hiperenlaces múltiples, enlaces agrupados, atributos para los enlaces, etc. Creado a través del Lenguaje de enlaces extensible (XLL). </li></ul><ul><li>Exportabilidad a otros formatos de publicación (papel, web, cd-rom, etc.). El documento maestro de la edición electrónica podría ser un documento XML que se integraría en el formato deseado de manera directa. </li></ul>
  21. 21. Y por fin la solución: MathML <ul><li>Math M L </li></ul><ul><li>Lenguaje Matemático de Referencia </li></ul>Math ematical M arkup L anguage
  22. 22. ¿ Qué es MathML ? <ul><li>« MathML hará la Web más asequible para los materiales técnicos, científicos y educativos. También tiene el potencial de hacer accesibles las matemáticas con impedimentos visuales. Permitirá que el contenido matemático pueda ser reutilizable e intercambiable con los sistemas de cálculo técnico, para su posterior manipulación. » </li></ul><ul><li>Tim Berners-Lee, Director de W3C </li></ul><ul><li>Creador de la web semántica. </li></ul>
  23. 23. ¿ Qué es MathML ? <ul><li>Es un lenguaje basado en XML para la captura de la estructura y del contenido de expresiones matemáticas. </li></ul><ul><li>Codifica la notación que representa a un objeto matemático y la estructura semántica del mismo. </li></ul><ul><li>Ambas codificaciones pueden ser usadas juntas para definir presentación y contenido de una idea matemática. </li></ul><ul><li>Se inspira de la norma ISO-12083 y de Latex . </li></ul>
  24. 24. Algo de historia <ul><li>1994. Se incluye una propuesta para matemáticas en HTML en el anteproyecto de HTML 3.0 </li></ul><ul><li>1995 (Abril) Se celebra una mesa redonda sobre marcado matemático en la Conferencia WWW en Darmstadt. </li></ul><ul><li>1995 (Noviembre) Representantes de la empresa Wolfram Research presentan una propuesta para hacer matemáticas en HTML al equipo de W3C (= World Wide Web Consortium) </li></ul><ul><li>1996 (Mayo) La Iniciativa de Librerías Digitales celebran un encuentro en Champaign. Tras el mismo, se instaura un fondo editorial de matemáticas para HTML. </li></ul>
  25. 25. Algo de historia <ul><li>1997 (Marzo) Este grupo fue formalmente reconstituido como el grupo de trabajo matemático W3C . </li></ul><ul><li>1998 (Abril) El W3C desarrolla MathML 1.0 como una recomendación. </li></ul><ul><li>1999 (Julio) El grupo de trabajo para matemáticas apuesta por MathML 1.01 , una versión revisada de la recomendación MathML 1.0 </li></ul><ul><li>2001 (Febrero) MathML 1.01 es suplantado por MathML 2.0 , como recomendación de W3C </li></ul>
  26. 26. Objetivos de MathML <ul><li>MathML conseguirá: </li></ul><ul><li>Codificar material matemático adecuado para la enseñanza y la comunicación científica a todos los niveles. </li></ul><ul><li>Codificar a la vez notación matemática y significado matemático. </li></ul><ul><li>Facilitar la conversión desde y hacia otros formatos matemáticos, de representación y semántico. Los formatos de salida podrán incluir: </li></ul><ul><ul><li>visualizaciones gráficas </li></ul></ul><ul><ul><li>sintetizadores de voz </li></ul></ul><ul><ul><li>sistemas de entrada de cálculo algebraico </li></ul></ul><ul><ul><li>otros lenguajes de esquema matemático, como TeX </li></ul></ul><ul><ul><li>visualización de texto plano </li></ul></ul><ul><ul><li>medios de impresión, incluyendo braille. </li></ul></ul><ul><li>Soportar la búsqueda eficiente de expresiones extensas. </li></ul><ul><li>Ser legible por las personas y simple para el software de creación y proceso </li></ul>
  27. 27. El papel de MathML en la red <ul><li>Suministra la codificación de datos matemáticos para el sustrato básico </li></ul><ul><li>No está proyectado para la edición manual, sino para ser utilizado por herramientas de edición especializadas. </li></ul><ul><li>Facilita el uso y re-uso de contenido científico y matemático en la Web, y por otras aplicaciones. </li></ul><ul><li>Intenta capturar algo del significado que hay tras la notación. </li></ul><ul><li>En algunos casos, MathML es análogo a otros formatos de comunicación de bajo nivel, como el lenguaje PostScript de Adobe. </li></ul>
  28. 28. Las Matemáticas y su notación <ul><li>Están determinadas por un sistema complejo y altamente desarrollado de notaciones en dos dimensiones. </li></ul><ul><li>Existen ideas subyacentes, independientes de la notación; sin embargo, la relación entre significado y notación es sutil. </li></ul><ul><li>Gran parte de la potencia de las matemáticas es precisamente su capacidad de representar y manipular ideas de forma simbólica. </li></ul><ul><li>Ejemplo de significado y notación: </li></ul><ul><ul><li>“ Usar la regla de la cadena para encontrar la derivada de f compuesta con g” </li></ul></ul><ul><ul><li>“ Escribir f prima, abrir paréntesis, g de f, cerrar paréntesis, g prima de x” </li></ul></ul>
  29. 29. Descripción de MathML <ul><li>El Lenguaje de referencia permite: </li></ul><ul><ul><li>Codificar la notación que representa a un objeto matemático </li></ul></ul><ul><ul><li>Codificar la estructura semántica del objeto matemático </li></ul></ul><ul><li>Por ello, se puede realizar una clasificación de los elementos de MathML en tres categorías. </li></ul>
  30. 30. Categorias de elementos de MathML <ul><li>1. Elementos de presentación </li></ul><ul><li>Corresponden a los tipos básicos de símbolos y estructuras para la construcción de expresiones. </li></ul><ul><li>La descripción de las estructuras notacionales que los elementos representan se dan de una manera visualmente orientada. </li></ul><ul><li>Los elementos son sin embargo independientes de la materialización (han sido diseñados para contener suficiente información para diversas cuestiones como por ejemplo una buena representación hablada –lectores automáticos–). </li></ul><ul><li>Los elementos de presentación sólo sugieren maneras específicas de representar. </li></ul>
  31. 31. Categorias de elementos de MathML <ul><li>1. Elementos de presentación </li></ul><ul><li>Están divididos en 2 clases: </li></ul><ul><li>Elementos de símbolo ( token element ): representan símbolos, nombres, números, etc. En general sólo tienen texto como contenido. Los principales son: </li></ul><ul><ul><ul><li>Identificadores : <mi> x </mi> </li></ul></ul></ul><ul><ul><ul><li>Números : <mn> 45 </mn> </li></ul></ul></ul><ul><ul><ul><li>Operadores : <mo> + </mo> </li></ul></ul></ul>
  32. 32. Categorias de elementos de MathML <ul><li>1. Elementos de presentación </li></ul><ul><li>Esquemas de disposición ( layout schemata ): construyen las expresiones por partes y sólo pueden tener elementos como contenido. En MathML las expresiones se construyen igual que en la notación matemática tradicional, siendo los esquemas de disposición los que juegan el papel de constructores de expresiones. </li></ul><ul><ul><li>Dentro de estos tenemos por ejemplo a <mrow> … </mrow> que dice que se despliegue en una fila la información comprendida entre los tags (etiquetas), o por ejemplo <mfrac> … </mfrac>, que sirve para representar fracciones. </li></ul></ul>
  33. 33. Categorias de elementos de MathML <ul><li>2. Elementos de Contenido </li></ul><ul><li>El objetivo básico de la codificación de contenido es el establecimiento de relaciones explícitas entre las estructuras matemáticas y sus significados matemáticos. </li></ul><ul><li>Cada estructura tiene una semántica predeterminadamente asociada y existe un mecanismo para asociar nuevos significados matemáticos con nuevas construcciones. </li></ul><ul><li>El uso de tags de contenido permite crear agentes que procesen de manera mucho más precisa el contenido. </li></ul>
  34. 34. Categorias de elementos de MathML <ul><li>2. Elementos de Contenido </li></ul><ul><li>La codificación de contenido de MathML está basada en el concepto de árbol . </li></ul><ul><li>En este árbol, las hojas corresponden a objetos matemáticos básicos como números, variables, etc. Los nodos intermedios suelen representar algún tipo de función u otra construcción matemática que crea un objeto compuesto. </li></ul><ul><li>El elemento <apply>…<apply/> es el que aplica la función a sus argumentos. </li></ul>
  35. 35. Categorias de elementos de MathML <ul><li>2. Elementos de Contenido </li></ul><ul><li>Los elementos de contenido de MathML pueden ser agrupados en las siguientes categorías: </li></ul><ul><ul><ul><li>Contenedores. </li></ul></ul></ul><ul><ul><ul><li>Operadores y funciones. </li></ul></ul></ul><ul><ul><ul><li>Calificadores. </li></ul></ul></ul><ul><ul><ul><li>Relaciones. </li></ul></ul></ul><ul><ul><ul><li>Condiciones. </li></ul></ul></ul><ul><ul><ul><li>Mapeos semánticos. </li></ul></ul></ul><ul><ul><ul><li>Constantes y símbolos. </li></ul></ul></ul>
  36. 36. Categorias de elementos de MathML <ul><li>3. Elementos de Interfaz. </li></ul><ul><li>Son los relacionados con la generación y representación de MathML. </li></ul><ul><li>Son especialmente importantes los que insertan MathML en HTML y XHTML. </li></ul><ul><li>Para insertar MathML en XML se deben tener en cuenta los siguientes inconvenientes : </li></ul>
  37. 37. Categorias de elementos de MathML <ul><li>3. Elementos de Interfaz. </li></ul><ul><li>Inconvenientes </li></ul><ul><li>MathML debe estar semánticamente integrado en XML. Se soluciona con namespaces y con un tag que encapsula toda expresión de MathML: </li></ul><ul><li><math xmlns = http://www.w3.org/1998/Math/MathML> </li></ul><ul><li>… .. </li></ul><ul><li></math> </li></ul><ul><li>En el caso de HTML /XHTML, el renderizado de MathML debe estar integrado en el visualizador (browser), y por ahora son muy pocos los que soportan MathML. </li></ul><ul><li>Las herramientas para generar y procesar MathML deben ser capaces de intercomunicarse, fáciles de usar y ser independientes de plataforma y marca. </li></ul>
  38. 38. Presentación y Contenido <ul><li>Elementos de Presentación . </li></ul><ul><ul><li>Hay 28 elementos de MathML con unos 50 atributos. </li></ul></ul><ul><ul><li>La mayoría de los elementos representan plantillas o patrones para mostrar subexpresiones, como mfrac , usada para construir una fracción. </li></ul></ul><ul><li>Elementos de Contenido (empleando significado) </li></ul><ul><ul><li>Hay unos 75 elementos con una docena de atributos (aproximadamente). </li></ul></ul><ul><ul><li>Algunos elementos representan operaciones y funciones matemáticas, como plus y sin . </li></ul></ul><ul><ul><li>Otras representan objetos matemáticos, como set y vector . </li></ul></ul><ul><ul><li>Está orientado a facilitar aplicaciones de presentación, como el álgebra computacional o la síntesis de voz. </li></ul></ul><ul><ul><li>Sin embargo, es difícil de controlar directamente como una expresión que debe ser mostrada. </li></ul></ul>
  39. 39. Árboles de Expresión (I) <ul><li>Algunas formas de organizar los símbolos matemáticos: </li></ul><ul><li>Una fila, subíndices y superíndices, fracciones, matrices, etc. </li></ul><ul><li>Los patrones de notación o esquemas a menudo aparecen anidados unos dentro de otros, como la raíz cuadrada de una fracción. </li></ul><ul><li>Tienen generalmente un número de parámetros que dependen del contexto. </li></ul><ul><li>Incluso complicadas, las expresiones anidadas se construyen con un puñado de esquemas simples. </li></ul>
  40. 40. Ejemplo (I) (a+b) 2 <ul><li>Con marcas de presentación </li></ul><ul><li><msup> </li></ul><ul><li><mfenced> </li></ul><ul><li><mi>a</mi> </li></ul><ul><li><mo>+</mo> </li></ul><ul><li><mi>b</mi> </li></ul><ul><li></mfenced> </li></ul><ul><li><mn>2</mn> </li></ul><ul><li></msup> </li></ul><ul><li>Con marcas de contenido </li></ul><ul><li><apply> </li></ul><ul><li><power/> </li></ul><ul><li><apply> </li></ul><ul><li><plus/> </li></ul><ul><li><ci>a</ci> </li></ul><ul><li><ci>b</ci> </li></ul><ul><li></apply> </li></ul><ul><li><cn>2</cn> </li></ul><ul><li></apply> </li></ul>En ambas representaciones se debe anteceder < math xmlns=&quot; http://www.w3.org/1998/Math/MathML &quot;> y suceder </ math >
  41. 41. Ejemplo (II) [a+b] 260 +{a+b} i <ul><li>Con marcas de presentación </li></ul><ul><li>< math xmlns=&quot; http://www.w3.org/1998/Math/MathML &quot;> </li></ul><ul><li>< mrow > </li></ul><ul><li>< msup > </li></ul><ul><li>< mfenced open=&quot; [ &quot; close=&quot; ] &quot;> </li></ul><ul><li>< mrow > </li></ul><ul><li>< mi > a </ mi > </li></ul><ul><li>< mo > + </ mo > </li></ul><ul><li>< mi > b </ mi > </li></ul><ul><li></ mrow > </li></ul><ul><li></ mfenced > </li></ul><ul><li>< mn > 260 </ mn > </li></ul><ul><li></ msup > </li></ul><ul><li>< mo > + </ mo > </li></ul><ul><li>< msub > </li></ul><ul><li>< mfenced open=&quot; { &quot; close=&quot; } &quot;> </li></ul><ul><li>< mrow > </li></ul><ul><li>< mi > a </ mi > </li></ul><ul><li>< mo > + </ mo > </li></ul><ul><li>< mi > b </ mi > </li></ul><ul><li></ mrow > </li></ul><ul><li></ mfenced > </li></ul><ul><li>< mi > i </ mi > </li></ul><ul><li></ msub > </li></ul><ul><li></ mrow > </li></ul><ul><li></ math > </li></ul>
  42. 42. Árboles de Expresión (II) <ul><li>Las expresiones de MathML son estructuras en árbol. Cada nodo en el árbol corresponde a un particular esquema de disposición, y sus ramas u hojas se corresponden con sus subexpresiones. En el diagrama se describe con un ejemplo cómo deberían anidarse los “tags” en MathML para codificar la información. </li></ul>
  43. 43. Árboles de Expresión (II) DESCOMPOSICIÓN EN ELEMENTOS FUNDAMENTALES CADA ELEMENTO VIENE DETERMINADO POR SUS CORRESPONDIENTES “TAGS”
  44. 44. HTML y MathML <ul><li>MathML utiliza un método de marcas muy similar al de HTML: </li></ul><ul><ul><li>Usa un <tag> de inicio y un </tag> final para marcar una sección. </li></ul></ul><ul><ul><li>Podemos especificar variaciones añadiendo atributos, aunque la proporción de las tags con respecto al texto es mucho mayor que en HTML. </li></ul></ul><ul><ul><li>Hay sólo unas pocas diferencias pequeñas : se generan del hecho de que la sintaxis de HTML procede de las reglas de SGML, mientras que MathML sigue las directrices de XML. </li></ul></ul>
  45. 45. XML y MathML <ul><li>Algunas razones por las que MathML es una aplicación de XML: </li></ul><ul><ul><li>XML será pronto la extensión de navegación más utilizada. Al ser MathML una aplicación en XML, será pronto posible apreciar MathML en los navegadores originariamente. </li></ul></ul><ul><ul><li>Es bastante fácil configurar un software para procesar XML, y habrá bastante más software de este tipo en el futuro. </li></ul></ul><ul><ul><li>El lado negativo de la sintaxis en XML es su tediosa propensión al error al introducirlo manualmente, igual de complicado que HTML. </li></ul></ul><ul><ul><li>La solución será utilizar herramientas como WebEQ Equation Editor o bien Page Wizard . </li></ul></ul>
  46. 46. Sintaxis en MathML <ul><li>En MathML hay dos tipos de elementos : </li></ul><ul><li>La mayoría de los elementos tienen tags de inicio y de fin de la forma: </li></ul><ul><li><nombre_elemento> ... </nombre_elemento> </li></ul><ul><li>Los elementos restantes son elementos vacíos de la forma </li></ul><ul><li><nombre_elemento/> </li></ul><ul><li>Todos los elementos aceptan atributos: </li></ul><ul><ul><li>Formato de los atributos: </li></ul></ul><ul><li><nombre_elemento atrib1='val1' atrib2='val2' ... > </li></ul><ul><li>y </li></ul><ul><li><nombre_elemento nombre_atrib=‘valor'/> </li></ul>
  47. 47. Sintaxis en MathML <ul><li>Los caracteres y los símbolos pueden aparecer únicamente dentro de elementos especiales: los elementos de símbolo . </li></ul><ul><li>La mayoría de los elementos de MathML aguardan para localizar únicamente otros elementos de MathML en su contenido, como lo hace mrow . </li></ul><ul><li>Pero hay otros elementos (como mi y mo ) cuyos contenidos consisten en caracteres y símbolos. </li></ul><ul><li>Dentro de los elementos de contenido, podemos tener caracteres de texto plano, que se muestran tal cual, o referencias a entidades especiales. Ejemplos de referencias de carácter son &alpha , y &cap (como &amp , en HTML). La mayoría de los nombres son prácticamente iguales a los nombres de los símbolos de LaTeX. </li></ul>
  48. 48. Notación de Presentación: Cajas de Diseño <ul><li>Están basadas sobre la idea de una caja de diseño . </li></ul><ul><li>Las cajas de diseño simples contienen sólo caracteres individuales, y sus dimensiones dependen sólo de la fuente que está siendo usada. </li></ul><ul><li>Las cajas de diseño más complicadas organizan sus “subcajas” de acuerdo a algún algoritmo. </li></ul><ul><li>Cada elemento representa algo de “plantilla inteligente” para mostrar subexpresiones de una determinada forma. </li></ul>
  49. 49. Notación de Presentación: Símbolos <ul><li>Los elementos de símbolo son los únicos elementos que contienen directamente caracteres: </li></ul><ul><li><mi> ... </mi> Indica que su contenido debe ser mostrado como un identificador. Sus atributos son las propiedades de las fuentes, como fontweight , fontstyle , etc. </li></ul><ul><li><mn> ... </mn> Indica que su contenido debe mostrarse como un número. Sus atributos son como los de mi . </li></ul><ul><li><mo> ... </mo> Indica que el contenido debe mostrarse como un operador. Sus atributos son lspace , rspace , stretchy , y movablelimits. </li></ul><ul><li>También se usa para símbolos que son operadores en un sentido muy general: paréntesis, puntuación… </li></ul>
  50. 50. Notación de Presentación: Esquemas de disposición <ul><li><mrow>subexp1,…</mrow>. El más común e importante propósito del esquema de disposición, muestra sus subexpresiones colocadas sobre la línea base en fila horizontal. </li></ul><ul><li><mfenced>subexp1,…</mfenced> es como mrow , excepto que muestra el contenido entre paréntesis. </li></ul><ul><li><mfrac>numerador denominador </mfrac> muestra una fracción, y evaluando la opción de linethickness como 0, puede usarse también para coeficientes binomiales. </li></ul><ul><li><msqrt>subexp1,…</msqrt> muestra las subexpresiones bajo un signo radical. </li></ul><ul><li><mroot> base índice</mroot> es prácticamente idéntico al elemento msqrt , con la diferencia de que muestra el índice sobre el radical. </li></ul>
  51. 51. Ejemplo (III) : mrow para agrupar <ul><li>La codificación para x 2 +4x+4 podría ser: </li></ul><ul><li><mrow> </li></ul><ul><li><msup> </li></ul><ul><li><mi>x</mi> </li></ul><ul><li><mn>2</mn> </li></ul><ul><li></msup> </li></ul><ul><li><mo>+</mo> </li></ul><ul><li><mn>4</mn> </li></ul><ul><li><mi>x</mi> </li></ul><ul><li><mo>+</mo> </li></ul><ul><li><mn>4</mn> </li></ul><ul><li><mo>=</mo> </li></ul><ul><li><mn>0</mn> </li></ul><ul><li></mrow> </li></ul>
  52. 52. Ejemplo (III) : mrow para agrupar <ul><li>Otras codificaciones válidas son: </li></ul><mrow> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>4</mn> <mi>x</mi> <mo>+</mo> <mn>4</mn> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mrow> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <mrow> <mn>4</mn> <mi>x</mi> </mrow> <mo>+</mo> <mn>4</mn> </mrow> <mo>=</mo> <mn>0</mn> </mrow>
  53. 53. Notación de Presentación: Herencia <ul><li>Hay tres formas de colocar atributos: </li></ul><ul><ul><li>Colocarlos explícitamente en tags, </li></ul></ul><ul><ul><li>Buscarlos en el diccionario de operadores. </li></ul></ul><ul><ul><li>Los atributos pueden ser heredados del entorno. </li></ul></ul><ul><li>Cada elemento tiene un entorno que especifica valores por defecto para todos los atributos de MathML. </li></ul><ul><li>Los valores colocados directamente en un tag afectan sólo al elemento sobre el que están colocados. </li></ul><ul><li>Cualquier atributo de presentación puede ser colocado usando el elemento mstyle . </li></ul><ul><li>Los atributos incorporados mediante mstyle son en efecto para todos los elementos dentro del alcance de mstyle . </li></ul>
  54. 54. Ejemplo (IV) Uso de mstyle <ul><li>Codificación de f(x+y) y f( x+y ) : </li></ul><mrow> <mi>f</mi> <mfenced> <mrow> <mi>x</mi> <mo>+</mo> <mi>y</mi> </mrow> </mfenced> </mrow> <mrow> <mi>f</mi> <mfenced> <mstyle color=‘#ff0000’> <mrow> <mi>x</mi> <mo>+</mo> <mi>y</mi> </mrow> </mstyle> </mfenced> </mrow>
  55. 55. Ejemplo (V) Fórmula de la ecuación cuadrática. <ul><li><mrow> </li></ul><ul><li><mi>x</mi><mo>=</mo><mfrac> </li></ul><ul><li><mrow> </li></ul><ul><li><mo>−</mo><mi>b</mi><mo>±</mo><msqrt> </li></ul><ul><li><mrow> </li></ul><ul><li><msup> </li></ul><ul><li><mi>b</mi> </li></ul><ul><li><mn>2</mn> </li></ul><ul><li></msup> </li></ul><ul><li><mo>−</mo><mn>4</mn><mi>a</mi><mi>c</mi> </li></ul><ul><li></mrow> </li></ul><ul><li></msqrt> </li></ul><ul><li></mrow> </li></ul><ul><li><mrow> </li></ul><ul><li><mn>2</mn><mi>a</mi> </li></ul><ul><li></mrow> </li></ul><ul><li></mfrac> </li></ul><ul><li></mrow> </li></ul>
  56. 56. Notación de Presentación Diseño de escritura <ul><li><msub>base script</msub> </li></ul><ul><li><msup>base script</msup> </li></ul><ul><li>Muestran las subexpresiones como base, y como un subíndice o superíndice, respectivamente (vectores, índices, potencias). </li></ul><ul><li><msubsup>base script</msubsup> </li></ul><ul><li>Coloca subíndice y superíndice a la vez con la misma base. </li></ul><ul><li><munder>base script</munder> </li></ul><ul><li><mover>base script</mover> </li></ul><ul><li>Muestran sus subexpresiones como una base, y como una subexpresión o supraexpresión, respectivamente (tildes, líneas adjuntas) </li></ul><ul><li><munderover>base script</munderover> </li></ul><ul><li>Asocia sub-supra escritura a una misma base, como por ejemplo en los límites de sumación o de integración. </li></ul>
  57. 57. Ejemplo (VI) <msub> y <msup> <ul><li><mrow> </li></ul><ul><li><msup> </li></ul><ul><li><msub> </li></ul><ul><li><mi>x</mi> </li></ul><ul><li><mn>1</mn> </li></ul><ul><li></msub> </li></ul><ul><li><mi>&alpha;</mi> </li></ul><ul><li></msup> </li></ul><ul><li><mo>+</mo> </li></ul><ul><li><msubsup> </li></ul><ul><li><mi>x</mi> </li></ul><ul><li><mn>1</mn> </li></ul><ul><li><mi>&alpha;</mi> </li></ul><ul><li></msubsup> </li></ul><ul><li></mrow> </li></ul>
  58. 58. Ejemplo (VII) <munderover> <ul><li><mrow> </li></ul><ul><li><mstyle displaystyle='true'> </li></ul><ul><li><munderover> </li></ul><ul><li><mo>sum</mo> </li></ul><ul><li><mrow> </li></ul><ul><li><mi>i</mi> </li></ul><ul><li><mo>=</mo> </li></ul><ul><li><mn>1</mn> </li></ul><ul><li></mrow> </li></ul><ul><li><mi>&infty;</mi> </li></ul><ul><li></munderover> </li></ul><ul><li><msup> </li></ul><ul><li><mstyle> </li></ul><ul><li><mo>+</mo> </li></ul><ul><li><mstyle displaystyle='false'> </li></ul><ul><li><munderover> </li></ul><ul><li><mo>sum</mo> </li></ul><ul><li><mrow> </li></ul><ul><li><mi>i</mi> </li></ul><ul><li><mo>=</mo> </li></ul><ul><li><mn>1</mn> </li></ul><ul><li></mrow> </li></ul><ul><li><mi>&infty;</mi> </li></ul><ul><li></munderover> </li></ul><ul><li><msup> </li></ul><ul><li><mi>x</mi> </li></ul><ul><li><mi>i</mi> </li></ul><ul><li></msup> </li></ul><ul><li></mstyle> </li></ul><ul><li></mrow> </li></ul>
  59. 59. Notación de Presentación Tablas <ul><li>Las tablas en MathML son muy parecidas a las tablas en HTML, con la salvedad de que poseen muchos más atributos para la correcta presentación del simbolismo específicamente matemático. </li></ul><ul><li><mtable> fila1 ... </mtable> </li></ul><ul><li>Construye una tabla por filas. </li></ul><ul><ul><li>rowalign y columnalign determinan el alineamiento de filas y columnas, por ejemplo &quot;center” (centrar), &quot;left” (izquierda), &quot;top“ (arriba), etc. </li></ul></ul><ul><ul><li>Rowlines , columlines y frame dibujan lineas de separación. </li></ul></ul><ul><ul><li>rowspacing , columnspacing , equalrows , y equalcolumns determinan el espaciado. </li></ul></ul><ul><li><mtr> celda1 ... </mtr> </li></ul><ul><li>Acepta atributos de tabla. </li></ul><ul><li><mtd> subexp1 ... </mtd> </li></ul><ul><li>Acepta atributos de tabla. Atributos especiales son rowspan y columnspan . </li></ul>
  60. 60. Ejemplo (VIII) Matrices <ul><li><mrow> </li></ul><ul><li><mi>A</mi> </li></ul><ul><li><mo>=</mo> </li></ul><ul><li><mfenced open='['; close=']'> </li></ul><ul><li><mtable> </li></ul><ul><li><mtr> </li></ul><ul><li><mtd><mi>a</mi></mtd> </li></ul><ul><li><mtd><mi>b</mi></mtd> </li></ul><ul><li></mtr> </li></ul><ul><li><mtr> </li></ul><ul><li><mtd><mi>c</mi></mtd> </li></ul><ul><li><mtd><mi>d</mi></mtd> </li></ul><ul><li></mtr> </li></ul><ul><li></mtable> </li></ul><ul><li></mfenced> </li></ul><ul><li></mrow> </li></ul>
  61. 61. Notación de prefijo <ul><li>Para realizar una operación como la suma 1+2, podemos representarla en: </li></ul><ul><ul><li>Notación de sufijo (1 2 +) </li></ul></ul><ul><ul><li>Notación exacta (1+2) </li></ul></ul><ul><ul><li>Notación de prefijo (+ 1 2) </li></ul></ul><ul><li>Se corresponde más estrechamente con la mayoría de las construcciones naturales del lenguaje. </li></ul><ul><ul><li>Como “f de x” o “restar 3 a 7” </li></ul></ul><ul><li>Una consecuencia interesante de esta notación, usada en MathML, es que los paréntesis no son estrictamente necesarios, ya que el orden de las operaciones es claro según la notación. </li></ul><ul><ul><li>Ejemplo: </li></ul></ul><ul><ul><ul><li>(x-y)/2 se escribe como: / - x y 2 </li></ul></ul></ul><ul><ul><ul><li>x – (y/2) se escribe como: – x / y 2 </li></ul></ul></ul>
  62. 62. Notación de contenido: Elementos de símbolo <ul><li><apply> Elemento fundamental. Acepta un operador como primera subexpresión, e interpreta las subexpresiones siguientes como los argumentos del operador introducido. </li></ul><ul><li><reln> Es análogo a <apply>. Se usa por ejemplo en ecuaciones y relaciones. </li></ul><ul><li><ci> Representa identificadores, cuando un identificador es aproximadamente cualquier tipo de nombre o etiqueta. Un atributo tipo especifica el tipo de objeto que es representado. </li></ul><ul><li><cn> Se diseñó inicialmente para el marcado de números enteros, racionales reales o complejos, aunque acepta cualquier carácter (como <cn>xii</cn>). El atributo tipo especifica qué tipo de número es codificado. El atributo base especifica que la base es distinta de 10 (como hexadecimal ). </li></ul><ul><li>Los operadores y las funciones están representadas por elementos vacíos (no se necesitan elementos <co>), como <cos/> o <intersect>. También se puede usar el elemento fn . </li></ul>
  63. 63. Notación de contenido: Contenedores <ul><li>MathML usa contenedores para representar objetos matemáticos básicos y tipos de datos: </li></ul><ul><li><set> [<elt1> <elt2> ... | <condition>] </set> </li></ul><ul><li>Construye un conjunto matemático cuyos elementos están especificados de dos formas: </li></ul><ul><ul><li>lista de símbolos y contenedores </li></ul></ul><ul><ul><li>mediante una condición </li></ul></ul><ul><li><interval> <pt1> <pt2> </interval> </li></ul><ul><li>Especifica un intervalo, las subexpresiones codifican los puntos extremos. El atributo closure determina cuales de los extremos pertenecen al intervalo, como ”open” (abierto), “open-closed”, etc. </li></ul>
  64. 64. Notación de contenido: Contenedores <ul><li><vector> <elt1> <elt2> ... </vector> </li></ul><ul><li>Construye un vector. Por convenio, los vectores se consideran por columna. </li></ul><ul><li><matrix> <row1> <row2> ... </matrix> </li></ul><ul><li>Acepta cualquier número de subexpresiones, pero todas deben ser elementos de matriz por filas. Las subexpresiones de los elementos de matriz por filas representan las entradas individuales en la matriz. </li></ul>
  65. 65. Ejemplo (IX) Intervalos <ul><li><reln> <eq/> </li></ul><ul><li><set> </li></ul><ul><li><bvar> <ci>x</ci> </bvar> </li></ul><ul><li><condition> </li></ul><ul><li><reln> <geq/><ci>x</ci><cn>0</cn> </reln> </li></ul><ul><li></condition> </li></ul><ul><li></set> </li></ul><ul><li><interval closure='closed-open'> </li></ul><ul><li><cn>0</cn> </li></ul><ul><li><ci>&infty;</ci> </li></ul><ul><li></interval> </li></ul><ul><li></reln> </li></ul>
  66. 66. Ejemplo (X) Matriz y Vector <ul><li><reln> <eq/> </li></ul><ul><li><apply><times/> </li></ul><ul><li><vector type=“row”> <cn>1 </cn> <cn>2 </cn> </vector> </li></ul><ul><li><matrix> </li></ul><ul><li><matrixrow> <cn>0 </cn> <cn>1 </cn> </matrixrow> </li></ul><ul><li><matrixrow> <cn>1 </cn> <cn>0 </cn> </matrixrow> </li></ul><ul><li></matrix> </li></ul><ul><li></apply> </li></ul><ul><li><apply> <transpose/> </li></ul><ul><li><vector> <cn>2 </cn> <cn>1 </cn> </vector> </li></ul><ul><li></apply> </li></ul><ul><li></reln> </li></ul>
  67. 67. Notación de contenido: Operadores y relaciones <ul><li>Hay unos 50 elementos de operador vacíos que representan los operadores y funciones más comunes. </li></ul><ul><li>El único elemento de operador distinto es el elemento <fn> , que se usa para declarar que una subexpresión es un operador. </li></ul><ul><li>En notación de prefijo, no hay diferencia entre funciones y operadores. </li></ul><ul><li>MathML elige relaciones de otras funciones y operadores. Por ejemplo <eq>. </li></ul><ul><li>Observación: Los paréntesis en torno a la x en la expresión f(x) no aparece como marca de MathML, por lo que un intérprete debería usar algún tipo de decisión heurística cuando los paréntesis son apropiados visualmente. </li></ul>
  68. 68. Ejemplo (XI) Funciones <ul><li>(sin + cos)(x) </li></ul><ul><li><apply> </li></ul><ul><li><fn> </li></ul><ul><li><mfenced> </li></ul><ul><li><apply> </li></ul><ul><li><plus/> </li></ul><ul><li><sin/> </li></ul><ul><li><cos/> </li></ul><ul><li></apply> </li></ul><ul><li></mfenced> </li></ul><ul><li></fn> </li></ul><ul><li><ci>x</ci> </li></ul><ul><li></apply> </li></ul><ul><li>g(y) </li></ul><ul><li><apply> </li></ul><ul><li><fn> g </fn> </li></ul><ul><li><ci>y</ci> </li></ul><ul><li></apply> </li></ul>
  69. 69. Notación de contenido: Calificadores <ul><li>El mayor grupo de calificadores lo constituye los elementos int , sum y prod . Todos tienen un límite inferior, un límite superior y una variable asociada. </li></ul><ul><ul><li><apply><sum/> </li></ul></ul><ul><ul><li><bvar> <ci>n</ci> </bvar> </li></ul></ul><ul><ul><li><lowlimit> <cn>0</cn> </lowlimit> </li></ul></ul><ul><ul><li><uplimit> <ci>&infty;</ci> </uplimit> </li></ul></ul><ul><ul><li><apply><power/> </li></ul></ul><ul><ul><li><ci>x</ci> </li></ul></ul><ul><ul><li><ci>n</ci> </li></ul></ul><ul><ul><li></apply> </li></ul></ul><ul><ul><li></apply> </li></ul></ul>
  70. 70. Notación de contenido: Calificadores <ul><li>Otra locución importante que involucra calificadores surge con los operadores diferenciales diff y partialdiff . </li></ul><ul><li><apply><diff/> </li></ul><ul><li><bvar> </li></ul><ul><li><ci>x</ci> </li></ul><ul><li><degree> <cn>3</cn> </degree> </li></ul><ul><li></bvar> </li></ul><ul><li><apply><fn> f </fn> </li></ul><ul><li><ci> x </ci> </li></ul><ul><li></apply> </li></ul><ul><li></apply> </li></ul>
  71. 71. Notación combinada: Razones <ul><li>Es necesario utilizar en los diseños de expresiones matemáticas los dos tipos de elementos estudiados para una mayor efectividad. </li></ul><ul><li>Las expresiones matemáticas deberán de exhibirse lo más correctamente posible, y estar el contenido así mismo lo más comprensible posible, además de estar disponible (y ser comprensible) para otros programas. </li></ul><ul><li>El elemento que permite esto es <semantics>. </li></ul><ul><li>Con el elemento <annotation> , resp. <annotation-xml> (dentro de <semantics> ) se puede llegar a almacenar información adicional. </li></ul><ul><li>Esto también es posible usando notación de presentación en la notación de contenido, y recíprocamente. </li></ul>
  72. 72. Ejemplo (XII) <Semantics> <ul><li><semantics> </li></ul><ul><li><mrow> </li></ul><ul><li><msup> <mi>f</mi> <mi>&prime;</mi> </msup> </li></ul><ul><li><mfenced><mi>x</mi></mfenced> </li></ul><ul><li></mrow> </li></ul><ul><li><annotation-xml encoding=&quot;MathML-Content&quot;> </li></ul><ul><li><apply><diff/> </li></ul><ul><li><bvar> </li></ul><ul><li><ci>x</ci> </li></ul><ul><li></bvar> </li></ul><ul><li><apply> </li></ul><ul><li><fn> f </fn> </li></ul><ul><li><ci> x </ci> </li></ul><ul><li></apply> </li></ul><ul><li></apply> </li></ul><ul><li></annotation-xml> </li></ul><ul><li></semantics> </li></ul>
  73. 73. MathML no es tan ideal… después de todo. <ul><li>El uso de elementos de presentación de MathML para objetos matemáticos elementales es excesivo, dado que la representación en MathML es poco concisa comparada con ASCII. Por ejemplo, compárese la expresión 1+sen(x) con su código en MathML. </li></ul><ul><li>El Software para MathML no es gratuito por regla general: </li></ul><ul><ul><li>La mayoría de software disponible para MathML es comercial. </li></ul></ul><ul><ul><li>Hay escasez de software “open source” para MathML en general, y para referencias de contenido de MathML en particular. </li></ul></ul><ul><ul><li>Para el software que está disponible, el proceso de edición se hace realmente tedioso por algunas soluciones que implementan su propia sintaxis. </li></ul></ul><ul><li>El soporte para geometría en MathML está limitado. </li></ul><ul><li>Para nuevos elementos (como en el punto anterior), usamos el elemento <annotation-xml> con el Diccionario de contenido codificado de Open Math (otra opción para integrar matemáticas en la red), pero en donde puede no existir una codificación determinada. </li></ul>
  74. 74. MathML frente a documentos PDF <ul><li>Un trabajo desarrollado en XML permite componerlo en PDF para imprimir o bien en HTML para la Web. </li></ul><ul><li>No se necesita almacenar grandes cantidades de ecuaciones en imágenes con el documento. </li></ul><ul><li>Como MathML es una aplicación en XML, los documentos se puede procesar uniformemente con standards industriales. </li></ul><ul><ul><li>No es necesario extraer la información matemática para procesarla por separado, está anexa al documento. </li></ul></ul><ul><li>Los documentos en formato PDF han sido un medio tradicional para presentar contenido CTM en la web. </li></ul><ul><li>El formato PDF es todavía una opción muy importante dentro de un trabajo en XML-MathML, pero hay algunos inconvenientes en el uso de PDF en la web. </li></ul>
  75. 75. Desventajas de PDF <ul><li>El texto y los gráficos no se recolocan para las especificaciones de los diferentes visualizadores (browsers). </li></ul><ul><li>Acrobat Reader suplanta al visualizador-navegador al presentar un documento PDF y no se puede integrar el contenido con otro contenido de la web. </li></ul><ul><li>El formato está limitado a la hora de incorporar cualquier medio no textual, como video o sonido. </li></ul><ul><li>El texto en PDF se puede manipular, pero las ecuaciones matemáticas deben mostrarse como gráficos, limitando su pleno uso al lector. </li></ul><ul><li>Los documentos son de mayor tamaño en comparación con los HTML </li></ul><ul><li>Es difícil, si no imposible, asegurar el mandato “section 508” de accesibilidad. </li></ul>
  76. 76. Herramientas y productos que soportan MathML <ul><li>Los más importantes son: </li></ul><ul><li>Visualizadores : WebEQ (Geometry Center), Techexplorer (IBM), Amaya (W3C), Mozilla . </li></ul><ul><li>Editores : EZMath , STARS </li></ul><ul><li>Herramientas de conversion : LaTex2HTML , Omega , TeX4ht, </li></ul><ul><li>Generadores : Mathematica (WRI), Maple (WMI), MathType (Design Science) </li></ul>
  77. 77. Herramientas y productos que soportan MathML <ul><li>Los browsers más populares que soportan MathML son principalmente dos: </li></ul><ul><ul><li>Mozilla </li></ul></ul><ul><ul><li>Amaya </li></ul></ul><ul><li>Pero por ahora sólo pueden renderizar la notación de presentación . </li></ul><ul><li>Internet Explorer aún no está preparado para soportar MathML, aunque existe un plug-in para el navegador proporcionado con la aplicación MathPlayer 2.0 </li></ul>
  78. 78. Despliegue comercial de MathML <ul><li>Una forma de evaluar la viabilidad de la integración de la nueva tecnología es observar el éxito generado en: </li></ul><ul><ul><li>Oficina de patentes de U.S.A. </li></ul></ul><ul><ul><li>Sociedad Física Americana. </li></ul></ul><ul><ul><li>Microsoft (usa ayuda matemática en el servicio de MSN Encarta Premium para institutos). </li></ul></ul>
  79. 79. Conclusiones <ul><li>MathML: </li></ul><ul><ul><li>Elimina la necesidad de imágenes </li></ul></ul><ul><ul><li>Permite crear PDFs para imprimir y HTML (XHTML) para la Web. </li></ul></ul><ul><ul><li>Trabaja con formatos de página en XSL ( eXtensible Stylesheet Language , que define o implementa el lenguaje de estilo de los documentos escritos para XML ). </li></ul></ul><ul><ul><li>Reutilizable con copiar y pegar. </li></ul></ul><ul><ul><li>Información enriquecedora </li></ul></ul><ul><ul><li>Mejor información estructural </li></ul></ul><ul><ul><li>Codifica contenido matemático. </li></ul></ul><ul><ul><li>Mejora en la Búsqueda e Indexado. </li></ul></ul><ul><ul><li>Accesibilidad. </li></ul></ul><ul><li>Se ha implementado con éxito en el uso a gran escala: </li></ul><ul><ul><li>Oficina de patentes de USA </li></ul></ul><ul><ul><li>Sociedad Física Americana </li></ul></ul><ul><ul><li>Microsoft </li></ul></ul><ul><li>Para las publicaciones CTM en XML, no hay otras alternativas viables. </li></ul>
  80. 80. Referencias y enlaces de interés sobre MathML <ul><li>Fundamentales </li></ul><ul><li>www.w3.org/Math </li></ul><ul><li>www.w3.org/Math/mathml-faq.html </li></ul><ul><li>www.mathtype.com/support/tutorials/mathml </li></ul><ul><li>www.w3.org/1999/07/REC-MathML-19990707 </li></ul><ul><li>tech.irt.org/articles/js081/#1 </li></ul><ul><li>tech.irt.org/articles/js208/#intro </li></ul><ul><li>www.geom.umn.edu/~rminer/w3c/interface </li></ul><ul><li>www.webeq.com/mathml/gitmml </li></ul><ul><li>www.tejedoresdelweb.com/307/article-5809.html </li></ul>
  81. 81. Referencias y enlaces de interés sobre MathML <ul><li>Lenguaje XML: </li></ul><ul><ul><li>http://www.w3.org/TR/1998/REC-xml-19980210 </li></ul></ul><ul><li>Plug-in para IExplorer 6.0 </li></ul><ul><ul><li>http://www.dessci.com/en/company/press/releases/040722.htm </li></ul></ul><ul><li>Presentaciones: </li></ul><ul><ul><li>dmath.savonia-amk.fi/IIworkshop/pre/ TokushigeKobayashi/Presentation/XSL-FO+MathML.ppt </li></ul></ul><ul><ul><li>www.cs.huji.ac.il/course/2003/sdbi/2001/MathML.ppt </li></ul></ul><ul><ul><li>www.xmlconference.org/xmlusa/2004/slides/bmathews/ Integrating%20MathML%20into%20a%20Publishing%20Workflow.ppt </li></ul></ul><ul><ul><li>www-user.tu-chemnitz.de/~mzel/lehre/mathml/mathml.ppt </li></ul></ul><ul><ul><li>fgb.informatik.unibas.ch/fgb/archive/ ss02/xmltech/material/online/sess11/mathml.ppt </li></ul></ul><ul><ul><li>web.iu-vannes.fr/docinfo/ssites/XML/ EX_exp-XML-DESS-2002/MathML/PPT/mathmlSlideShow.ppt </li></ul></ul><ul><li>Poner matemáticas en la red: </li></ul><ul><ul><li>http://math.wcupa.edu/~johnston/presentations/sshema/ </li></ul></ul>
  82. 82. Trabajo realizado por: <ul><li>Juan Carlos Marcos Sánchez </li></ul><ul><li>Para el curso: Látex – HTML </li></ul><ul><li>e-mail: jcymaloles@yahoo.es </li></ul>Granada, Abril de 2005

×