MathML
From Free net encyclopedia
- For help writing formulae in Wikipedia, please see Help:Formula.
Mathematical Markup Language (MathML) is an application of XML for representing mathematical symbols and formulae, aimed at integrating them into World Wide Web documents. It is a recommendation of the W3C math working group.
The specification of version 1.01 of the format was released in July 1999 and version 2.0 appeared in February 2001. In October 2003, the second edition of MathML Version 2.0 was published as the final release by the W3C math working group.
MathML deals not only with the presentation but can optionally also include information about the meaning of formula components (the latter part of MathML is known as MathML-Content). Because the meaning of the equation is preserved separate from the presentation, how the content is communicated can be left up to the user. For example, web pages with MathML embedded in them can be viewed as normal web pages with many browsers but visually impaired users can also have the same MathML read to them through the use of screen readers (e.g. using the MathPlayer plugin for Internet Explorer).
Another standard called OpenMath which has been designed (largely by the same people who devised MathML-Content) more specifically for storing formulae semantically can also be used to complement MathML.
Contents |
Example
The well-known quadratic formula:
- <math>x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}</math>
would be marked up using TeX syntax like this:
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
and like this in MathML:
<math> <mrow> <mi>x</mi> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>-</mo> <mi>b</mi> </mrow> <mo>±</mo> <msqrt> <mrow> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>-</mo> <mrow> <mn>4</mn> <mo>⁢</mo> <mi>a</mi> <mo>⁢</mo> <mi>c</mi> </mrow> </mrow> </msqrt> </mrow> <mrow> <mn>2</mn> <mo>⁢</mo> <mi>a</mi> </mrow> </mfrac> </mrow> </math>
Although less compact compared to TeX, the XML structuring promises to make it widely usable and allows for instant display in applications such as Web browsers and facilitates a straightforward interpretation of its meaning in mathematical software products. MathML is not intended to be written or edited directly by humans.
Software support
Several utilities for converting mathematical expressions to MathML are available, including converters [1] between TeX and MathML. ConTeXt does the reverse and uses TeX for typesetting MathML (usually resulting in PDF documents). MathType from Design Science allows users to create equations in a WYSIWYG window and export them as MathML. Also, Wolfram Research provides a web page to convert typed mathematical expressions to MathML.
Another WYSIWYG MathML-as-is editor, Formulator [2] provides a means for importing/exporting MathML with support for some abstract entities such as ⅇ and ⅆ. The W3C Browser/Editor Amaya can also be mentioned as a WYSIWYG MathML-as-is editor.
Of the major web browsers, those that directly support the format are recent versions of Mozilla and its derivatives.[3] Other browsers support the format using external plugins. For example, Internet Explorer supports MathML using the Design Science MathPlayer plugin.
MathML is also supported by major office products such as Microsoft Word, OpenOffice.org and KOffice and by mathematical software products such as MathType and Mathematica.
However, except for Mozilla, MathPlayer and Amaya, none of the above mentioned products support all of the basic elements of MathML 2.0 (e.g. <mmultiscripts> element) and its intricacies.
See also
External links
- W3C Math Home — Contains the specifications, a FAQ, and a list of supporting software.
- Latest MathML Recommendation
- Zvon MathML Reference
- MathML in Mozilla
- MathML Editor
- MathType — A Design Science application for authoring math equations, which can be exported in a variety of formats (including MathML).
- MathPlayer — A plugin from Design Science that allows Internet Explorer to display MathML.
- MathFlow — A suite of Design Science products which enable XML workflow tools to interpret, create, edit, and export MathML.
- MathML Central — Website containing utilities to display, plot, and convert any mathematical expression to and from MathML.
- The OpenMath Standard
- GtkMathView — A rendering engine for MathML markup
- Itex - LaTeX-like language for generating MathML
- MathML in ConTeXt - Example framework/demo page for conversion of MathML into PDF using ConTeXt (wiki page)
- SciWriter MathML editor and rendererbe:MathML
cs:MathML de:Mathematical Markup Language es:MathML fr:MathML it:MathML nl:Mathematical Markup Language ja:Mathematical Markup Language pl:MathML pt:MathML ru:MathML sv:MathML th:MathML vi:MathML zh:数学置标语言