MathML for Math and Science Communication
MathML is a powerful new language for encoding mathematics. Its original
purpose was to provide a way for marking up mathematics in Web pages, since
HTML provided no easy way of handling it. However, because of the
enormous influence of the Web on all types of communication, MathML has begun to
influence the way mathematics are shared between all kinds of math
and science applications.
Brief History
The need for standards became apparent very early in the development of the
Web. In 1994, the World Wide Web Consortium
(W3C) was founded, and began putting in place a process to recommend standards
for the Web. Almost at once, proposals for adding math capabilities to HTML
began circulating at W3C, and in 1995, the formal development of MathML began.
The first release of the MathML
Specification was in 1997.
Design Science has been involved in the development of MathML from early in
the process, and Dr. Robert Miner, the editor of the MathML specification, is
Director of New Product Development for Design Science.
Why MathML is Important
MathML is similar in many ways to earlier encoding for math expressions.
However, the thing that sets MathML apart is the amount of information encoded.
Most previous encoding stored only information about what an equation looked
like. By contrast, MathML stores information about the logical structure and
meaning of equations as well as their appearance.
The philosophy of storing information about structure as well as
appearance is very much a part of the Web viewpoint. This is no accident, since
from the outset, MathML was intended for use in Web pages. This is also evident
in two other ways. First, MathML is defined in terms of XML.
XML is another W3C recommendation that defines the characteristic angle bracket
syntax used in HTML and many other data formats. Secondly, MathML tries to be as
media independent as possible, with support for interactivity, computation, and
speech synthesis, as well as traditional paper publishing.
Although there is a price to be paid for the ambitious goals
behind MathML -- it is a verbose, complicated language not well suited to hand
editing -- the payoff in terms of power and versatility is quite impressive:
- More information about structure and meaning allows better conversion to
other formats
- More information allows better searching and indexing
- Ability to encode expressions in a structured, media-independent way
allows greater interoperability between a wide range of software
- Ability to encode meaning allows expressions to be evaluated as well as
displayed in many cases
Because of these advantages, many math and science software
vendors have begun adding MathML support to their products, or are planning
to add support soon. As a result, the now well-known "network effect"
has already begun to boost the importance of MathML even further -- once a
critical mass of applications support MathML, the interoperability benefits
start to outweigh the costs of conversion.
MathType, MathPlayer and WebEQ
MathType and the WebEQ
Developers Suite are among the oldest and most comprehensive software
applications for working with MathML available. MathPlayer
is the leading way of displaying MathML in Internet Explorer.
The WebEQ
Browser Control applets offer powerful cross-platform support for
displaying, entering, graphing and evaluating MathML in web pages. The WebEQ
Editor and Publisher
directly edit and process MathML.
MathType and WebEQ also work well together. If you use MathType in Microsoft
Word, you can use MathType's MathML translation capabilities to author Web pages
containing Viewer Control applets. Consult Authoring
MathML with MathType for more information.
Learning More about MathML
There are many resources for learning more about MathML. Some of our
favorites include
- W3C MathML 2.0 Specification
- The latest official MathML specification.
- W3C MathML Working Group Home Page
- The official site for news about the MathML specification.
- A Gentle Introduction to MathML
- An introduction and tutorial to MathML along with a reference section on
the WebEQ implementation of MathML
|