Other methods of displaying mathematics on the web

(Excerpt from "The MathML Handbook" by Pavi Sandhu)

Despite the importance of mathematics for scientific communication, few effective solutions to the problem of displaying mathematical notation in Web pages have been put forth. Most mathematical content currently available on the Web is based on using either images or Portable Document Format (PDF) files. However, both of these methods have severe limitations.


The simplest way to include mathematical formulas in a Web page is to represent each formula as an image, typically in GIF or JPEG format. However, this approach has some severe drawbacks:

  • If a page has many equations, each of them must be stored as a separate image. This leads to large file sizes and long download times.
  • The quality of the images is poor, which is undesirable for both viewing online and printing. Images typically have a resolution of 72 or 96 dpi while the surrounding text has a resolution of 300 or 600 dpi. This disparity in resolution makes the images difficult to read.
  • Equations displayed as images cannot be integrated with the surrounding text. For example, the spacing and alignment of the equations cannot be adjusted to be correct relative to the adjacent text. Further, the font size, style, and color used to display the equation are fixed and cannot be updated to reflect changes in the display environment.
  • When you save an equation as an image, all information about the meaning of the equation is lost. This makes it impossible to search, archive, index, or otherwise process mathematical information. For example, consider the following equation: xn + yn = zn. If this equation is encoded textually using an appropriate markup language, you can search through a database and retrieve all documents containing the equation. If the equation is stored as an image, however, there is no way to search for the equation.
  • Equations stored as images cannot be copied and pasted from one application to another, limiting your ability to reuse the information.

PDF files

Another popular method for communicating mathematical content on the Web is using PDF files. The needed mathematical fonts are embedded in the PDF file, which leads to a high-quality, high-resolution document suitable for viewing and printing. However, PDF files suffer from several problems:

  • The display of PDF files requires a special viewer application, which must be specially installed and takes extra time to launch.
  • PDF files cannot be well integrated with the Web environment. Since the PDF reader takes over the entire browser window, you cannot combine equations in PDF form with other Web content such as HTML markup and images.
  • Mathematical content in PDF files cannot be copied and pasted into other applications and still retain its structure. This makes the information less portable and reusable.

For these reasons, PDF files are at best a workaround to the problem and not a complete solution.

Other Markup Languages

Before the advent of the Web, scientists were already using markup languages to encode mathematics. In particular, the TEX system invented by Donald Knuth in 1986 was widely adopted by the physics and mathematics communities. However, TEX documents cannot be displayed on the Web without complex processing. Although, several tools and utilities to automatically convert TEX documents into HTML exist, they are difficult to use. Also, the equations are, in any case, stored as images so you encounter all the problems discussed earlier.

In addition, TEX is primarily a formatting language. It is designed only to encode information about the visual appearance of mathematics, not its meaning. TEX is therefore unsuitable for applications where the meaning of mathematics is important, such as computer algebra systems.

Other markup languages besides TEX have been developed to represent mathematics. The two most notable ones are ISO 12083 and OpenMath. ISO 12083 is a Standard Generalized Markup Lanugage (SGML) application for representing mathematical notation. Like TEX, ISO 12083 is a presentational language only and does not directly encode the meaning of mathematical expressions.

OpenMath, on the other hand, is a standard specifically developed for encoding the semantic meaning of mathematics. OpenMath uses content dictionaries written in a special XML format for defining the meaning of mathematical objects. In fact, MathML makes use of the OpenMath specification to define the logical meaning of all content elements that represent operators and functions. However, the focus of OpenMath is on describing semantics and it does not address the issue of representing mathematical notation at all. In a sense, OpenMath is like the converse of presentational languages like TEX and ISO 12083.


<< back next >>





Copyright © CHARLES RIVER MEDIA, INC., Massachusetts (USA) 2003
Printing of the online version is permitted exclusively for private use. Otherwise this chapter from the book "The MathML Handbook" is subject to the same provisions as those applicable for the hardcover edition: The work including all its components is protected by copyright. All rights reserved, including reproduction, translation, microfilming as well as storage and processing in electronic systems.

CHARLES RIVER MEDIA, INC., 20 Downer Avenue, Suite 3, Hingham, Massachusetts 02043, United States of America