MathML
Mathematical Markup Language (MathML) is an XML-based language for describing mathematical notation.
MathML was originally designed as a general-purpose specification for browsers, office suites, computer algebra systems, EPUB readers, LaTeX-based generators. However, this approach was not very adapted to the Web: the subset focusing on semantics has never been implemented in browsers while the subset focusing on math layout led to incomplete and inconsistent browser implementations.
MathML Core is a subset with increased implementation details based on rules from LaTeX and the Open Font Format. It is tailored for browsers and designed specifically to work well with other web standards including HTML, CSS, DOM, JavaScript.
Below you will find links to documentation, examples, and tools to work with MathML. Although many of these still use the MathML Full specification as a reference, transition towards MathML Core is in progress. It is highly recommended that developers and authors switch to that specification, perhaps relying on other web technologies to cover missing use cases from the legacy specification.
MathML reference
- MathML element reference
-
Details about each MathML element and compatibility information for desktop and mobile browsers.
- MathML attribute reference
-
Information about MathML attributes that modify the appearance or behavior of elements.
- MathML examples
-
MathML samples and examples to help you understand how it works.
-
Suggestions and tips for writing MathML, including suggested MathML editors and how to integrate their output into Web content.
Getting help from the community
Tools
- W3C Validator
- Mathzilla Firefox add-on collection
- TeXZilla — Javascript LaTeX to MathML converter (live demo, Firefox add-on, using in a Web Page, JS program etc)
- LaTeXML - Convert LaTeX documents into HTML+MathML Web pages
- MathJax - Cross-browser JavaScript display engine for mathematics. To force MathJax to use native MathML, try this Mozilla add-on, this Safari extension or this GreaseMonkey script.
Related topics
Browser compatibility
BCD tables only load in the browser