Your SlideShare is downloading. ×
0
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Math content conversion
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Math content conversion

2,055

Published on

Math content conversion

Math content conversion

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

  • Be the first to like this

No Downloads
Views
Total Views
2,055
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • For XML, GUIs can alleviate authoring issues, though arguably haven’t succeeded yet.
  • Transcript

    • 1. Mathematical Content Conversions David McKain 9 th September 2009
    • 2. Outline <ul><li>Motivation </li></ul><ul><li>Quick summary of mathematical formats </li></ul><ul><li>LaTeX -> MathML conversion example </li></ul><ul><li>Reality check </li></ul><ul><li>Tools for LaTeX -> MathML </li></ul><ul><li>Conversion techniques </li></ul>
    • 3. Motivation: Philosophy <ul><li>Lots of content already out there </li></ul><ul><ul><li>in lots of different formats! </li></ul></ul><ul><li>One size never fits all </li></ul><ul><ul><li>TeX/LaTeX: concise, easy to author, hard to manipulate </li></ul></ul><ul><ul><li>XML: verbose, hard(er) to author, easy to manipulate </li></ul></ul><ul><li>MathML is more complex than you think… </li></ul><ul><ul><li>So often needs converted between itself </li></ul></ul><ul><li>Prevent bit rot </li></ul>
    • 4. Motivation: Practical examples <ul><li>Bog standard LaTeX to PS/DVI/PDF </li></ul><ul><ul><li>This is really a conversion! </li></ul></ul><ul><ul><li>LaTeX is both a format and a process </li></ul></ul><ul><ul><li>Whole document conversion </li></ul></ul><ul><ul><li>Easy turn-key solution </li></ul></ul>LaTeX PDF
    • 5. Example: “Single Source, Multiple Output” <ul><li>More complex! </li></ul><ul><li>Building block approach = useful </li></ul><ul><li>Another “whole document” conversion </li></ul><ul><li>Probably needs development effort </li></ul>PDF Slides LaTeX Web Pages XML
    • 6. Example: Dynamic maths in a browser Server-side Converter Web Page with embedded LaTeX fragments $frac{1}{2}$ Embedded JavaScript Rendered Web Page LaTeX replaced by MathML, image or other trickery read LaTeX to MathML LaTeX to images Good for: diverse browser mix, constrained delivery conditions
    • 7. Example: CAA question Student’s Browser Middleware Computer Algebra System Parse Response Process Response Show Feedback Get Outcome Render Question Randomise Start
    • 8. Typical formats <ul><li>TeX/LaTeX </li></ul><ul><li>MathML (Presentation & Content) </li></ul><ul><li>OpenMath </li></ul><ul><li>HTML/XHTML </li></ul><ul><li>Docbook </li></ul><ul><li>Typesetting/display (PDF, PS, DVI) </li></ul><ul><li>Other proprietary formats (e.g. Word) </li></ul><ul><li>Computer Algebra System syntaxes </li></ul>Both are schizophrenic, but in different ways! Will focus on this now!
    • 9. Example: Conversion challenges <ul><li>We’ll look at how this could be input using LaTeX and MathML </li></ul><ul><li>This will demonstrate some of the challenges and limitations of any TeX <-> MathML conversion processes. </li></ul>Consider the following function application: f(x+2α)
    • 10. LaTeX markup version <ul><li>This can be input in LaTeX (math mode) as: </li></ul><ul><li>f(x+2alpha) </li></ul><ul><li>LaTeX is most concerned about “display” </li></ul><ul><ul><li>Its main function is to lay out each symbol in a rather beautiful way </li></ul></ul><ul><ul><li>It doesn’t care or know about “semantics”, e.g. whether brackets match or not </li></ul></ul><ul><ul><li>“ Semantic” information can be specified though most people don’t bother </li></ul></ul>
    • 11. Presentation MathML spectrum <ul><li><math> </li></ul><ul><li><mi>f</mi> </li></ul><ul><li><mo>(<mo> </li></ul><ul><li><mi>x</mi> </li></ul><ul><li><mo>+</mo> </li></ul><ul><li><mn>2</mn> </li></ul><ul><li><mi>α</mi> </li></ul><ul><li><mo>)</mo> </li></ul><ul><li></math> </li></ul><math> <mi>f</mi> <mo>&ApplyFunction;</mo> <mfenced open=“(“ close=“)”> <mrow> <mi>x</mi> <mo>+</mo> <mrow> <mn>2</mn> <mo>&InvisibleTimes;</mo> <mi>α</mi> </mrow> </mrow> </mfenced> </math> Similar to LaTeX! Renders the same but encapsulates lots more meaning More semantic Less Semantic
    • 12. Content MathML version <ul><li><math> </li></ul><ul><li><apply> </li></ul><ul><li><ci type=“function”>f</ci> </li></ul><ul><li><apply> </li></ul><ul><li><plus/> </li></ul><ul><li><ci>x</ci> </li></ul><ul><li><apply> </li></ul><ul><li><times/> </li></ul><ul><li><cn>2</cn> </li></ul><ul><li><ci>α</ci> </li></ul><ul><li></apply> </li></ul><ul><li></apply> </li></ul><ul><li></apply> </li></ul><ul><li></math> </li></ul>This is not too far from the “semantic” PMathML version
    • 13. Conversion challenges <ul><li>Contextualisation: f(x+2α) was a function earlier. What about a(x+2α) ? e ? </li></ul><ul><li>Internationalisation: f’(x) vs df/dx , gcd vs ggT </li></ul><ul><li>Style: “ s.t.” vs “:” vs “|” vs bracketing </li></ul><ul><li>Symbol Reuse: 2|6 vs {n | n is prime} </li></ul><ul><li>Wiggle Room: Presentation MathML representations are non-unique </li></ul>
    • 14. LaTeX <-> MathML possibilities LaTeX (Low Semantic) Presentation MathML (High Semantic) Presentation MathML OR Content MathML Routine, modulo equivalents Harder, requires context knowledge OK, but needs knowledge about preferred notation Most converters focus on this
    • 15. Conversion guidelines <ul><li>Easiest to convert to a format with roughly same or lower semantic level </li></ul><ul><ul><li>LaTeX <-> simple Presentation MathML </li></ul></ul><ul><ul><li>Semantic Presentation MathML <-> Content MathML </li></ul></ul><ul><ul><li>Content MathML -> OpenMath </li></ul></ul><ul><li>Conversion to higher semantic level possible if some of the “challenges” can be controlled: </li></ul><ul><ul><li>E.g. restrict to “UK school level algebra” and LaTeX to Content MathML is possible... kind of… </li></ul></ul><ul><ul><li>Has applications to e-Learning & e-Assessment </li></ul></ul>
    • 16. Conversion tools <ul><li>There are lots of good tools out there, especially in the LaTeX -> simple PMathML direction. </li></ul><ul><li>I’m not going to try to list them all. (Phew!) </li></ul><ul><li>Some lists can be found at: </li></ul><ul><ul><li>http://www.w3.org/Math/Software/mathml_software_cat_converters.html </li></ul></ul><ul><ul><li>http://www.cse.ohio-state.edu/~gurari/TeX4ht/ </li></ul></ul><ul><li>Useful to consider some “discriminating factors” to help make an appropriate decision </li></ul>
    • 17. Discriminating factors <ul><li>Whole document vs. math fragments </li></ul><ul><li>Level of TeX/LaTeX completeness </li></ul><ul><li>Configurability/extensibility of outputs </li></ul><ul><li>Software library vs. service </li></ul><ul><li>Client (e.g. browser) vs. “server” </li></ul><ul><li>Choice of programming language </li></ul><ul><li>License/terms of use </li></ul><ul><li>… </li></ul>Thinking about these factors can help make the most appropriate decision for a given scenario
    • 18. Some (La)TeX-y to XML Converters (1) Name Converts Maths Output Platform Config? License Notes TeX4ht Whole doc MathML, Images TeX Very LPPL TtM Doc MathML, Images C “ Free” PlasTeX Doc Images Python “ Renderers” Good for Python platforms LaTeXML Doc MathML, Images Perl Post-processor Public Domain SnuggleTeX Doc (almost) or Fragments MathML, Images, XHTML+CSS Java Java API, XSLT, DOM hooks BSD GELLMU Doc with special LaTeX markup MathML, LaTeX ELISP Generates intermediate XML GPL Interesting approach Tralics Doc MathML C++ Custom
    • 19. Some (La)TeX-y to XML Converters (2) Name Converts Maths Platform Config? License Notes MathTran Fragments Images Web Service Not sure Useful SOA idea ORCCA Fragments XML Java Via Mapping file ??? LaTeXMathML Fragments MathML Browser JavaScript As above LGPL Based on ASCIIMath ASCIIMathML Fragments MathML Browser JavaScript Not really LGPL
    • 20. Conversion techniques (geeky!) <ul><li>Pipelining & reuse of components </li></ul><ul><li>Build on what’s already there… where possible </li></ul><ul><li>Use XML early and often… if possible </li></ul><ul><ul><li>Saves having to write custom parsers </li></ul></ul><ul><ul><li>Lots of XML tools already out there </li></ul></ul><ul><ul><li>XSLT & XPath are great. (Version 2.0 even better!) </li></ul></ul>

    ×