# Overview of MathML

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

MathML is a markup language for describing the visual structure and meaning of mathematical formulas. It was developed by the *World Wide Web Consortium* (W3C) primarily for displaying mathematics in Web pages. The goal of MathML is to do for mathematics what *Hypertext Markup Language* (HTML) did for text; that is, to allow equations to be freely exchanged, processed, and displayed over the Web. This has long been an important goal for scientific communication, but it has proved impossible to do with existing techniques.

MathML can describe the symbolic meaning of mathematics, not just its notation. As a result, equations expressed in MathML can be searched, indexed, archived, interpreted, and evaluated by software applications designed for that purpose. This makes MathML an ideal format for exchanging mathematical content between applications such as Web browsers, equation editors, computer algebra systems, and other scientific software.

It is already possible to view MathML equations in most Web browsers, either directly or using free add-on software. In addition, a wide variety of software tools are available for authoring MathML and for converting mathematical content in other formats into MathML. After many years of development, MathML is finally ready for widespread adoption by a mainstream audience. However, at this time the only reliable source for learning about MathML is the **W3C specification**, which is intended mainly as a reference for specialists. There is, hence, a need for a clear and comprehensive account of MathML that will make the details of this language and its use accessible to the average user. This book was written to fill that need.

## Who this book is for

This book will be useful to anybody interested in learning about MathML and its potential for communicating mathematics on the Web. Some of this book’s specific audiences — which are overlapping rather than mutually exclusive — are listed below:

- Researchers in technical fields like mathematics, physics, and engineering who wish to share their work with colleagues and distribute content over the Web. Educators and students at universities, colleges, and high schools who have a special interest in developing courseware and other instructional materials for use over the Web.
- Web developers who want to create dynamic Web sites for displaying interactive mathematical content.
- Programmers who need to develop new MathML-based applications or modify existing applications to support MathML.
- Managers who need to understand the significance of MathML to evaluate whether it should play a role in their company’s documentation strategy.
- Users of computer algebra systems such as
*Mathematica*,*Maple*, and*Mathcad*. - Users of mathematical typesetting systems such as TEX and LATEX.
- Academic and commercial publishers who need to archive and distribute technical documents in electronic form.

This book is both a primer that introduces the fundamental concepts of MathML as well as a detailed and comprehensive reference guide. It includes the following elements:

- An overview of MathML — its origin, importance, and practical applications.
- A tutorial introduction to MathML with detailed examples to illustrate the syntax.
- A review of free and commercial software for viewing and authoring MathML. This includes browsers, plug-ins, authoring tools, and mathematical software.
- A discussion of how to use
*Cascading Style Sheets*(CSS) and*eXtensible Stylesheet Language for Transformations*(XSLT) in rendering MathML for display. - Practical information on converting TEX documents to MathML.
- A complete listing of all tags and attributes organized in a systematic way for ready reference.

The discussion of MathML syntax in this book closely follows the W3C specification but with some important differences. Some technical details, such as the concept of embellished operators or the algorithm for determining alignment in tables, have been omitted since they are not essential for a general understanding of MathML. To make the material more accessible, discussion of many topics has been simplified and a number of additional examples have been provided.

Athough a basic familiarity with HTML and XML is useful, you do not need to know programming to understand the material in this book. To make the book as self-contained as possible, XML primer briefly describes all XML concepts you do need to know in order to understand MathML.

- Introduction to MathML
- XML primer
- Fundamentals of MathML
- Presentation markup
- Content markup
- Combining presentation and content markup
- Displaying MathML in web browsers
- Applying styles and transformations
- Authoring and editing MathML
- Converting between TEX and MathML
- Using MathML for computations
- Creating dynamic math web pages
- Presentation elements
- Content elements

<< 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