Summary of Results

(work in progress)

MathML

I have been spending considerable time researching delivering mathematics content in an internet environment (particularly on the World Wide Web). What I've found (so far), however, has been simultaneously encouraging and discouraging. The (reasonably) accepted standard for accomplishing this task is through the XML sub-set known as MathML. Being a sub-set of XML (which is itself a sub-set of SGML), MathML has a "tag"-like structure, making it fit in to existing XML (or XHTML) documents quite well. The downside of this "tag"-like structure is the incredible verbosity of even simple math declarations in MathML (see this page for a comparison between LaTeX code and the equivalent MathML). While other conventions have been developed to (within reason) unambiguously present complex mathematical structures to computers using relatively small amounts of input, such as the conventions used by Maple, Mathematica, or LaTeX, none of these have the ability to be rendered natively in any browser, and there are no current plans (as far as I can tell) to make this possible. This is where MathML steps in. Despite the bulky code it implies, defining MathML as XML provides a more natural environment for the web; XML is a decidedly web-based technology.

While the MathML standard (or more precisely, recommendation) is fairly certain (it is now in its second revision), the tools needed to both produce and display correctly rendered MathML are still in (at best) a developmental stage. There are two main areas of software which must be developed. First, there is the area of MathML development and authoring. Second is the area of viewing or rendering MathML. In the first category, I've found two major types of tools: one group consists of math-translators which take some proprietary math-input format and can output MathML. Both of the popular symbolic algebra packages Mathematica and Maple should soon support output to MathML. MathType, the full version of the "Equation Editor" included in Microsoft Word, currently has extensive support for the output of it's own math-format to MathML. There exists several other tools to author MathML equations one at a time. A second group of authoring programs (and Mathematica and/or Maple may turn out to more rightly belong in this group) allow the conversion of entire documents containing MathML into a web format. This group of tools will most likely prove to be much more useful than programs which just convert math into MathML. Of course, because these tools convert entire documents at once, they must rely on input from utilities which are currently capable of producing entire documents, such as LaTeX. Several utilities which take a LaTeX document and convert it to HTML already exist, but they invariably either rely on .gif files or extremely limited textual representations to display equations. Several of these utilities are being "upgraded" to support MathML. Merging MathML support into already tried and tested LaTeX to HTML converters allows a fully (with the exception of any possible figures the document might contain, more on that later) native web-based document. An added benefit to some of these conversion programs is that with MathML support, the LaTeX engine need not even be called, greatly speeding up the conversion process.

MathML Documents:

  • My Undergraduate Thesis Paper: This contains many instances of MathML, both in "inline" and "display" mode. The included figures are .gif files from the original encapsulated postscript (.eps).
  • PH265 Homework Assignment #9: This contains only one instance of inline MathML.
  • PH265 Homework Assignment #10: This contains several pages of vectors, matrices, and tensors, all of which are rendered using MathML. The included figures are .gif files from the original encapsulated postscript (.eps).

MathML Links:

  • W3 MathML Page: The definitive MathML resource.
  • Mozilla MathML Project Page: Home for the Mozilla MathML implementation.
  • Authoring MathML for Mozilla: Good starting point for writing MathML for Mozilla.
  • Tex4Moz Page: Tex4Moz is a conversion program which converts from TeX/LaTeX to Mozilla ready XML documents with MathML.
  • TtM Page: TtM is a conversion program which converts from TeX/LaTeX to HTML with MathML, but does not produce well-formed XML documents and therefore requires considerable editing to view in Mozilla.

MathML Related Files:

These fonts are needed by Mozilla to properly render certain special math characters like arrows, root signs, etc. The first two should already be installed if TeX is installed on the machine, but I had to install the TrueType versions to get windows to properly recognize them; windows doesn't seem to natively recognize PostScript fonts. If roots render with extremely thick overhead bars, manually add these first two fonts to your system. The third font should already be installed on a windows machine.

Mozilla Files:

  • MathML + SVG Mozilla (Win32): Nightly builds of MathML + SVG enabled builds of Mozilla for Win32. Note that this page only seems to load when using Netscape Navigator, not Internet Explorer or Mozilla.
  • Mozilla Main Page: Builds for other platforms should be available here, and at the Mozilla MathML main page listed above.
  • Amaya Home Page: Browser/Editor released by the W3. Has native MathML support.