Mathematical notation has always presented a special problem for authors of web-based expository articles. There are several possible solutions.

HTML provides only limited mark-up for mathematics--mainly the ` tag for a variable, and the `_{} and ^{} tags for subscripts and superscripts, respectively. Here is a sample mathematical expression rendered with basic HTML:

`y` = `a`_{0} + `a`_{1}`x` + `a`_{2}`x`^{2}

For an article with relatively simple mathematical notation, these basic HTML tags may be sufficient.

A common approach is to convert mathematical expressions into small graphics (typically in the PNG or GIF format). The graphics can be created with special tools (such as MathType) or with special converters (such as TeX to HTML). There are several drawbacks, however. First, the article is junked-up with possibly hundreds of images. A mathematical expression cannot be edited, without replacing the entire image. Style attributes that are applied to surrounding text (font type, weight, color, size) would not work on the images. Finally, the mathematical structure, the information contained in a mathematical expression, is completely lost and cannot be processed by software or hardware agents. In fact, "best practices" would require alternate text-based descriptions of the mathematical expressions (in TeX or MathML, for example), attached via the *alt* or *title* attributes of the tag.

Another common solution is to use proprietary formats (Word or PDF) for the basic exposition. We have already argued against this approach. To repeat the arguments, the user is locked into using proprietary tools to view the materials, and much of the inherent interactivity of the web, derived from HTML, is lost. The article suffers greatly in terms of the two core principles--access and reuse.

In my opinion, the best solution is MathML, the Mathematics Markup Language. MathML is essentially an extension to HTML that provides a very complete specification of mathematical notation. MathML is an open source, W3C standard and is now supported by the Mozilla Firefox browser and by the latest versions of Internet Explorer on the Windows platform via the free MathPlayer plug-in. Moreover, in keeping with the best practices discussed previously, MathML encodes the *structure* of the mathematics much more completely than previous mark-up languages (such as TeX). Because of this, mathematical expressions in MathML can be imported from one MathML-aware program (an HTML document, for example) to another (Maple, for example). On the downside, MathML is difficult to author without special editing tools (precisely because so much information is encoded), and MathML is not supported on older browsers.

MathML is the future of mathematics on the web. In spite of the difficulties, a major goal of JOMA is to promote and encourage its use. For more information, see Mathematics with Structure and Style.