Content deleted Content added
Undid revision 1307712709 by 151.236.180.121 (talk): Test edit. |
|||
(22 intermediate revisions by 16 users not shown) | |||
Line 1:
{{short description|Format for expressing mathematical formulae}}
{{
{{Use dmy dates|date=February 2021}}
{{Infobox technology standard
Line 13:
| publication-date = 2016
| access-date = 2021-04-06
| website = ISO
}}</ref>
Line 51 ⟶ 50:
}}
| authors = {{Collapsible list|title=Principal authors|
{{blist|Ron Ausbrooks|Stephen Buswell|David Carlisle|Giorgi Chavchanidze|Stéphane Dalmas|Stan Devitt|Angel Diaz|Sam Dooley|Roger Hunter|Patrick Ion|Michael Kohlhase|Azzeddine Lazrek|Paul Libbrecht|Bruce Miller|Robert Miner|Chris Rowley|Murray Sargent|Bruce Smith|Neil Soiffer|Robert Sutor|Stephen Watt}}
}}<ref name="w3c-standard-2nd-ed"/>
| website = {{ubl
Line 78 ⟶ 57:
}}
| base_standards = [[XML]]
| related_standards = [[OpenMath]], [[OpenDocument]], [[Office Open XML]], {{abbr|[[OMDoc]]|Open Mathematical Documents}}
| abbreviation = MathML
}}
'''Mathematical Markup Language''' ('''MathML''') is a pair of [[mathematical markup language]]s, an application of [[XML]] for describing [[mathematics|mathematical]] notations and capturing both its structure and content
== History ==
Line 89 ⟶ 68:
| url = https://www.w3.org/MarkUp/HTMLPlus/htmlplus_45.html
| date = 1993-11-08
}}</ref> MathML 1 was released as a W3C recommendation in April 1998 as the first [[XML]] language to be recommended by the [[W3C]]. Version 1.01 of the format was released in July 1999 and version 2.0 appeared in February 2001. Implementations of the specification appeared in [[Amaya (web editor)|Amaya 1.1]], [[
| title = Mozilla 1.0 Released!
| url = http://www.mozillazine.org/articles/article2278.html
| date = 2002-06-05
| access-date = 2023-03-03
}}</ref><ref name="opera-kestrel">{{
| url = http://dev.opera.com/articles/view/can-kestrels-do-math-mathml-support-in/
| title = Can Kestrels do Math? MathML support in Opera Kestrel
Line 129 ⟶ 108:
| access-date = 2023-03-03
}}</ref> with a [[Chromium (web browser)|Chromium]] implementation following a couple of years later,<ref>{{cite web
| title = A web
| url = https://blog.chromium.org/2012/11/a-web-developers-guide-to-latest-chrome.html
| date = 2012-11-08
Line 146 ⟶ 125:
| date = 2015-06-23
| access-date = 2015-06-12
}}</ref> Also in 2015, the MathML Association was founded to support the adoption of the MathML standard.<ref>{{
| url = http://mathml-association.org/about.html
| archive-url = https://web.archive.org/web/20151002150927/http://mathml-association.org/about.html
| title = Mondial Association for Tools Handling MathML▼
| url-status = usurped
| archive-date = 2 October 2015
| access-date = 2016-06-20
| author1 = Deyan Ginev
Line 165 ⟶ 147:
=== MathML Core ===
In August 2021, a new specification called ''MathML Core'' was published, described as the
| title = MathML Core
| url = https://www.w3.org/TR/2022/WD-mathml-core-20220504/#abstract
| date = 2022-05-04
| access-date = 2023-03-03
}}</ref> MathML Core set itself apart from MathML 3.0 by including detailed rendering rules and integration with [[CSS]], automated browser support testing resources, and focusing on a fundamental subset of MathML. An implementation was added to Chromium at the beginning of 2023.<ref name="igalia-chrome-109">{{cite web
| url = https://www.igalia.com/2023/01/10/Igalia-Brings-MathML-Back-to-Chromium.html
| title = Igalia Brings MathML Back to Chromium
Line 219 ⟶ 201:
}}</ref>
The quality of rendering of MathML in a browser depends on the installed fonts. The [[STIX Fonts project]] have released a comprehensive set of mathematical fonts under an open license. The [[Cambria Math]] font supplied with Microsoft Windows had slightly more limited support.<ref name="Vismor">{{
| url = https://vismor.com/documents/site_implementation/viewing_mathematics/viewing_mathematics.php
| title = Viewing Mathematics on the Internet
Line 256 ⟶ 238:
As usual in HTML and XML, many [[character entity reference|entities]] are available for specifying special symbols by name, such as {{code|lang=HTML|π}} and {{code|lang=HTML|→}}. An interesting feature of MathML is that entities also exist to express normally-invisible operators, such as {{code|lang=HTML|⁢}} (or the shorthand {{code|lang=HTML|⁢}}) for implicit multiplication. They are:
* {{unichar|2061|FUNCTION APPLICATION}} (to distinguish <math>\sin(x)</math> from <math>\sin\cdot x</math> in <math>\sin{x}</math>);
* {{unichar|2062|INVISIBLE TIMES}} (to distinguish <math>a_{m\times n}</math> from <math>a_{m,n}</math> in <math>a_{mn}</math>);
* {{unichar|2063|INVISIBLE SEPARATOR}} (vice versa);
* {{unichar|2064|INVISIBLE PLUS}} (to distinguish <math>2 + \frac{1}{3}</math> from <math>2 \cdot \frac{1}{3}</math> in <math>2\tfrac{1}{3}</math>).
The full specification of MathML entities<ref>{{cite web
Line 271 ⟶ 253:
}}</ref>
Thus, the expression <math
<syntaxhighlight lang="xml">
Line 474 ⟶ 456:
== Other standards ==
The [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] standard [[OpenDocument]] (ODF) natively supports MathML for mathematical content. OpenDocument is the default file format in office suites like [[LibreOffice]] and [[Collabora Online]], the MathML content is stored in the ODF files (e.g., .odt, .ods, .odp). Microsoft Office does not support MathML in its default office suite XML document format. Instead, it defines a different XML math syntax derived from older [[Microsoft Office]] products.
Another standard called [[OpenMath]] that has been more specifically designed (largely by the same people who devised Content MathML) for storing formulae semantically can be used to complement MathML. OpenMath data can be embedded in MathML using the {{code|lang=XML|1=<annotation-xml encoding="OpenMath">}} element. OpenMath ''content dictionaries'' can be used to define the meaning of {{code|lang=XML|<csymbol>}} elements. The following would define ''P''<sub>1</sub>(''x'') to be the first [[Legendre polynomial]]:
<syntaxhighlight lang="xml">
Line 485 ⟶ 469:
The [[OMDoc]] format has been created for markup of larger mathematical structures than formulae, from statements like definitions, theorems, proofs, and examples, to complete theories and even entire text books. Formulae in OMDoc documents can either be written in Content MathML or in OpenMath; for presentation, they are converted to Presentation MathML.
== See also ==
Line 505 ⟶ 480:
* [[KaTeX]]{{snd}}JavaScript library that converts LaTeX to MathML
* [[MathJax]]{{snd}}JavaScript library that converts LaTeX to MathML
* [[OpenDocument]] The ISO/IEC standard used by applications like [[LibreOffice]] and [[Collabora Online]] natively support MathML for mathematical content
== References ==
Line 530 ⟶ 506:
{{W3C Standards}}
{{Web browsers}}
{{ISO standards}}
{{Authority control}}
|