Four "what"s about MathML

( a quick intro into MathML)

What is MathML?

It is an XML-based markup language to encode mathematical expressions. Pretty handy. To avoid confusion, let me mention from the beginning that there are two types of MathML markup: MathML Content and MathML Presentation . The first one encodes semantics of the math expressions, while the second tells how to render it. You are allowed to mix them to bind both content and presentation of your math formulae, but only Presentation MathML is usually rendered by browsers*.

*MathML is now native to Mozilla-familly web-browsers. To obtain them check the following links: Netscape, Mozilla, FireFox

What is good about MathML?

  • Look at the table below. Right part shows a math expression represented as an image. Looks OK, but try to change browser font size and you will see that formula size remains the same. Sometimes it can be quite inconvenient and even distracting to see your formulas twice bigger or smaller than surrounding text.

  • Try to select a part of expression. Can you do it dealing with picture? Of course not. On the other hand, if your math is encoded in MathML, you can easily copy a part of it and reuse in other formulae. I really like this feature.

  • Editing math formulas is much easier when they are encoded in MathML, rather than just captured as snapshots.
All of the above allow what I would call "active" math expressions on your web page.
To check out more, please refer the official MathML web site by W3C group.

What does is look like?

MathML vs. GIF image
( exp x + 3 ) 3 x 3 2 y 2 ( x y + y x + x 3 ) you are suppose to see a picture with your a expression here

What can you do with MathML?

  • First of all, you can get it from your math papers, written in TeX: check the ORCCA LaTeX to MathML converter on line.
    You also can get Presentation MathML from MathPlayer (a nice equation editor pluggable to Microsoft Word).

  • Secondly, as you see on this page, you can insert a MathML expression in your ordinary HTML page and let others to see your formulae.

  • Only Presentation MathML is rendered by browsers.
    To get Content MathML to be rendered in your favorite MathML - enabled browser, you have to pre-convert Content MathML to Presentation MathML.
    You can translate Content to Presentation MathML using the XSLT stylesheets.
    Furthermore you are welcome to use on-line Notation Selection Tool by the ORCCA lab.

  • If you need to translate your MathML expressions back to TeX for whatever other reason, you can use the ORCCA MathML to TeX online converter.

  • Last, but not least: since MathML is XML-based language, you can convert MathML to whatever you like, using XSLT stylesheets.

Note: this page is best seen with Mozilla, FireFox or Netscape

Elena Smirnova,
Ontario Research Centre for Computer Algebra,
(c) 2005.