Progress Report: Summer 00David Vediner, NPACI REU
MathMLI have spent my REU time researching and testing the current status of methods to deliver mathematics content in an internet environment (particularly on the World Wide Web). What I found has been simultaneously encouraging and discouraging.The present and reasonably-well accepted standard for presenting math on the Web is through the XML subset known as MathML. XML stands for Extendable Markup Language, and MathML for Mathematics Markup Language. Both are subsets of SGML, the Standard General Markup Language. 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. There is an example on the link to follow, but you need an XML browser like Mozilla to view it. See this page for a comparison between LaTeX code and the equivalent MathML. Other conventions have been developed to unambiguously (within reason) present complex mathematical structures to computers using relatively small amounts of input. Examples include the conventions used by Maple, Mathematica, or LaTeX. However, none of these have the ability to be rendered natively in any browser, and, as far as I can tell, there are no current plans to make this possible. This is where MathML steps in. Despite the bulky code it requires, defining MathML as XML provides a more natural environment for the Web; XML is a decidedly Web-based technology. While the MathML standard (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 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 area of MathML development and authoring, I have 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. I have compiled compiled a series of steps which should help the process of converting Latex documents to XML/MathML documents and then viewing that output. The document can be found here.
MathML Documents:
MathML Links:
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:
|