-
Notifications
You must be signed in to change notification settings - Fork 22.5k
/
index.md
55 lines (39 loc) · 3.29 KB
/
index.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
---
title: MathML
slug: Web/MathML
page-type: landing-page
browser-compat: mathml.elements.math
---
{{MathMLRef}}
**Mathematical Markup Language (MathML)** is an [XML](/en-US/docs/Web/XML)-based language for describing mathematical notation.
[MathML](https://w3c.github.io/mathml/) was originally designed as a general-purpose specification for browsers, office suites, [computer algebra systems](https://en.wikipedia.org/wiki/Computer_algebra_system), [EPUB](https://www.w3.org/publishing/epub33/) readers, [LaTeX](https://en.wikipedia.org/wiki/LaTeX)-based generators. However, this approach was not very adapted to the Web: the [subset focusing on semantics](https://w3c.github.io/mathml/#contm) has never been implemented in browsers while the [subset focusing on math layout](https://w3c.github.io/mathml/#presm) led to incomplete and inconsistent browser implementations.
[MathML Core](https://w3c.github.io/mathml-core/) is a subset with increased implementation details based on rules from [LaTeX](https://en.wikipedia.org/wiki/LaTeX) and the [Open Font Format](https://learn.microsoft.com/en-us/typography/opentype/spec/math). It is tailored for browsers and designed specifically to work well with other web standards including [HTML](/en-US/docs/Web/HTML), [CSS](/en-US/docs/Web/CSS), [DOM](/en-US/docs/Web/API/Document_Object_Model), [JavaScript](/en-US/docs/Web/JavaScript).
Below you will find links to documentation, examples, and tools to work with MathML. MDN uses [MathML Core](https://w3c.github.io/mathml-core/) as a reference specification but, due to an erratic standardization history, legacy MathML features may still show up in existing implementations and web content.
> [!NOTE]
> It is highly recommended that developers and authors switch to MathML Core, perhaps relying on other web technologies to cover missing use cases. The Math WG is maintaining a set of [MathML polyfills](https://github.com/w3c/mathml-polyfills) to facilitate that transition.
## MathML reference
- [MathML element reference](/en-US/docs/Web/MathML/Element)
- : Details about each MathML element and compatibility information for desktop and mobile browsers.
- [MathML attribute reference](/en-US/docs/Web/MathML/Attribute)
- : Information about MathML attributes that modify the appearance or behavior of elements.
- [MathML examples](/en-US/docs/Web/MathML/Examples)
- : MathML samples and examples to help you understand how it works.
- [Authoring MathML](/en-US/docs/Web/MathML/Authoring)
- : Suggestions and tips for writing MathML, including suggested MathML editors and how to integrate their output into Web content.
- [MathML tutorial](/en-US/docs/Learn/MathML)
- : A gentle introduction to MathML.
- [Fonts for MathML](/en-US/docs/Web/MathML/Fonts)
- : How users can install such math fonts to properly display MathML in browsers.
## Getting help from the community
- [W3C Math Home](https://www.w3.org/Math/)
- [Raise issues on GitHub w3c/mathml repository](https://github.com/w3c/mathml/issues)
- [www-math w3.org mail archive](https://lists.w3.org/Archives/Public/www-math/)
## Tools
- [W3C Validator](https://validator.w3.org/)
- [W3C's wiki page](https://www.w3.org/wiki/Math_Tools)
## Related topics
- [CSS](/en-US/docs/Web/CSS)
- [HTML](/en-US/docs/Web/HTML)
- [SVG](/en-US/docs/Web/SVG)
## Browser compatibility
{{Compat}}