MathML in HTML5 - Implementation Note
MathML in HTML5 - Implementation Note
Editor’s Draft, October 31, 2017
Editors:
Frédéric Wang
Abstract
This document is a detailed technical document for a core subset of presentation MathML [MathML3] in order to render with high quality the majority of mathematical formulas used in practice. This document should be understandable by any implementer with sufficient knowledge of web rendering engines and text layout. Contrary to the official MathML specification, a significant effort is made to be as accurate as possible on the visual rendering of mathematical formulas using additional rules from the TeXBook’s Appendix G [TeXBook] and from the Open Font Format version 3 [OpenFontFormat3]. The priority is to be compatible with existing technologies of web rendering engines [HTML5] by relying as much as possible on CSS, text & table layout and box models. As a consequence, parts of presentation MathML that do not fit well in this framework or are rarely used in practice have been ommited ; details on these and suggestions for standardization bodies are provided in the appendix.
Status of This document
This section describes the status of this document at the time of its publication. Other documents may supersede this document.
This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
Copyright
Copyright © 2015-2016 Mondial Association for Tools Handling MathML, Ltd. This work is licensed under a Creative Commons Attribution 4.0 International License.
Table of Contents
- 1 Introduction
- 2 Relation with other technologies
-
3 Presentation Markup
- 3.1 Introduction
- 3.2 Token Elements
-
3.3 General Layout Schemata
- 3.3.1 Horizontally Group Sub-Expressions <mrow>
- 3.3.2 Fractions <mfrac>
- 3.3.3 Radicals <msqrt>, <mroot>
- 3.3.4 Style Change <mstyle>
- 3.3.5 Error Message <merror>
- 3.3.6 Adjust Space Around Content <mpadded>
- 3.3.7 Making Sub-Expressions Invisible <mphantom>
- 3.3.8 Expression Inside Pair of Fences <mfenced>
- 3.3.9 Enclose Expression Inside Notation <menclose>
- 3.4 Script and Limit Schemata
- 3.5 Tabular Math
- 3.6 Elementary Math
- 3.7 Enlivening Expressions
- 3.8 Semantics and Presentation
- A MathML
- B CSS
- C OpenType
- D Image Fallback