What is MathML?
MathML 3.0 was released as a W3C Recommendation on 21 October 2010. It is a revision of MathML 2.0, issued seven years ago. A product of the W3C Math Working Group, MathML is a low-level specification for describing mathematics as a basis for machine to machine communication which provides a much needed foundation for the inclusion of mathematical expressions in Web pages. It is also important in publishing workflows for science and technology and wherever mathematics has to be handled by software. The new version brings, for instance, improvements for accessibility of mathematics, and for formulas in languages written from right to left. The basic markup remains the same, as the community have seven years of experience with it. See the Testimonials welcoming MathML 3.0. [more].
Try it!
A variety of implementations of MathML are available (browsers and authoring tools, educational and symbolic algebra software…), many of which are Open Source. Go to the MathML Software list for descriptions and pointers, or read the Implementation and Interoperability report.
There is a good chance that your browser already supports MathML (possibly with the addition of a plug-in).
News
2014-02-11: W3C review for MathML3 2nd edition
The members of W3C are currently reviewing the second editions of MathML 3 and XML Entity Definitions for Characters. The Math Working Group updated both Recommendations to correct some obvious mistakes and especially to add many clarifications. The review lasts four weeks and the expectation is that these documents will replace the existing Recommendations around March/April.
Most people are used to MathML on its own or inside XML-based formats. But now that people are starting to use math in HTML5, which has slightly different syntax rules, people asked for more explanation. MathML has the same structure and meaning independent of the concrete syntax, but may have to be written in a different way inside HTML5. The new specification explains that, and also makes sure that all examples (except, obviously, those that specifically demonstrate syntax issues) can be copied and pasted into an HTML5 context.
As far as implementations go, the new specification requires no changes. HTML5 implementations have to follow the syntax defined in the HTML5 specification, XML implementations follow the XML specification, and the MathML specification defines how to display and interpret the resulting elements. And that part has not changed.
The XML Entities specification was updated to include the latest Unicode specification. (The previous Recommendation referred to Unicode 5, the current version to 6.) Descriptions were added for symbols that are new in Unicode 6, including the new Arabic math symbols. The text was also reorganized for more clarity. No new entities were defined.
2013-11-26: “Mathematics in ebooks”: project looking for sponsors
Frédéric Wang, well-known for his work on MathML in Firefox and MathJax, has launched a call for sponsors for a project called Mathematics in ebooks.
Although Firefox supports MathML, and MathJax can be used to emulate MathML in browsers that support JavaScript, the resulting rendering is not as good as one would hope: Before you convert a book with mathematical formulas to an e-book, you would want typesetting closer to the quality of paper books.
The problem is lack of programmer time. There are few people who can do the programming and they have little spare time. Frédéric Wang is one of them and the project is meant to allow him to work full-time for a few months.
The main goals of the project are twofold:
- Create a collection of educational & scientific documents that will serve as examples & test cases for publishers and implementers.
- Improve rendering quality in WebKit and Gecko so that EPUB publishers can rely on it.
His initial target is € 3960, or one person in France working full-time for three months.
2011-06-07: MathML for CSS Profile is a W3C Recommendation
With the advancement of CSS Level 2 Revision 1 to Recommendation, the MathML for CSS Profile automatically also became a Recommendation.
The Profile describes which parts of MathML3 can be formatted with CSS and which can thus be displayed by many types of software that understand CSS but do not understand MathML itself. This allows quite a large part of MathML already to be used even though not all browsers and formatters implement full MathML yet.
The specification had already been tested and reviewed by the W3C members and the W3C Director in October 2010, but it has a normative dependency on CSS, and thus couldn't be a standard unless CSS Level 2 was a standard itself.
2010-10-21: MathML3 is a W3C Recommendation
The W3C Director has advanced MathML version 3.0 to a W3C Recommendation. The press release has more information. Several companies have already expressed support for the new standard.
Compared to MathML 2, the major additions in version 3 are support for bidirectional layout, better linebreaking and explicit positioning, elementary math notations, and a new strict content MathML vocabulary with well-defined semantics.
MathML 3 is also part of version 5 of HTML (currently still in development), which means embedding math in Web documents will become easier, with direct import from HTML to mathematics software and vice versa.
The MathML for CSS Profile has also received positive reviews, but it cannot yet progress to W3C Recommendation, because it depends on CSS2, which is still in CR status. (The CSS working group expects CSS2 to become W3C Recommendation early in 2011.)
2010-08-10: MathML3 and MathML for CSS are Proposed Recommendations
The W3C Director approved the publication of the MathML version 3.0 specification and its companion, the MathML for CSS Profile, as Proposed Recommendations. Until September 10, the two documents undergo what should be the final review by the W3C members, before becoming W3C Recommendations. MathML3 was until now a Candidate Recommendation, which means it was being tested in practice. Becoming Proposed Recommendation means the tests were successful. You can see with the test suite (and the test results of a number of current implementations) how well your software supports MathML.
Feedlines from Planet MathML
- See the MathML Software List.
- A Gentle Introduction to MathML by Robert Miner and Jeff Schaeffer
- MathML: Presenting and Capturing Mathematics for the Web by Michael Kohlhase
- The MathML Handbook, by Pavi Sandhu
- The Importance of MathML to Mathematics Communication by R. Miner
- Mathematics on the Web with MathML by M. Froumentin
- Math on the Web: A Status Report (Sep 2002) by R. Miner and P. Topping.
- OpenMath, a language to represent semantic mathematical objects
- MathWeb.org, supporting mathematics on the Web
- Math on the Web from AMS
- MathML Central by Wolfram Research
- MathML Information Center by Design Science
- SGML/XML and Math by Robin Cover
- Zvon MathML reference & examples (requires Javascript)
- MathZilla = MathML + Mozilla
- ActiveMath, a learning environment for mathematics
- The Math Forum, an online math education community center
- Journal of Online Mathematics
- EMTeachline®educational sotfware: School mathematics in XML-MathML