Mathematical Markup Language

Mathematical Markup Language
Dateiendung: .mml
MIME-Type: application/mathml+xml, application/mathml-content+xml, application/mathml-presentation+xml, text/mathml (veraltet)[1][2]
Entwickelt von: World Wide Web Consortium
Aktuelle Version 3.0[3]
(10. April 2014)
Erweitert von: XML
Erweitert zu: OMDoc
Standard(s): MathML 1.01, MathML 2.0, MathML 3.0
www.w3.org/Math/



Die Mathematical Markup Language (MathML) ist ein Dokumentenformat zur Darstellung mathematischer Formeln und komplexer Ausdrücke. Wie in allen XML-Sprachen (z. B. XHTML) werden in MathML die Inhalte eines Dokumentes in einer logischen Struktur unabhängig von ihrer graphischen Gestaltung abgelegt.

MathML ist Bestandteil von HTML5 und gilt seit 2015 als ISO-Standard (ISO/IEC DIS 40314).[4]

HTML wird vom World Wide Web Consortium (W3C) und der Web Hypertext Application Technology Working Group (WHATWG) weiterentwickelt. Der Standard MathML 2.0 wird durch eine Spezifikation des World Wide Web Consortium (W3C) von 2001 festgelegt. Seit Oktober 2010 genießt MathML 3.0 den Status einer W3C-Empfehlung.

Während weiter an MathML 4.0 gearbeitet wird, wurde im August 2021 MathML Core vorgestellt. Das Subset MathML Core ist eine Untermenge mit erweiterten Implementierungsdetails, die auf den Regeln von LaTeX und OpenType beruht. Es ist auf die modernen Browser zugeschnitten und wurde speziell für die Zusammenarbeit mit anderen Webstandards entwickelt, darunter HTML, CSS, DOM und JavaScript.[5]

MathML besteht aus zwei Teilsprachen, die gemeinsam zum Einsatz kommen können:

  • Content MathML beschreibt nur die Struktur einer Formel, also welche Funktionen oder Operatoren auf welche Variablen oder Werte angewendet werden. In diesem Format ist die Bedeutung (Semantik) einer Formel besser zu erfassen.
  • Presentation MathML ist stärker auf die grafische Gestaltung einer Formel orientiert. Es schreibt zwar nicht die genaue Gestaltung einer Formel vor, wohl aber die Anordnung und Reihenfolge der Symbole.

Browser-Unterstützung

[Bearbeiten | Quelltext bearbeiten]

Eine Verwendung von MathML im Webdesign krankte an der mangelnden Browserunterstützung. Seit März 2023 unterstützen nun jedoch alle modernen Browser MathML Core.[6]

Browser wie Firefox und Safari unterstützten seit Version 1.8 (erschienen 2005), bzw. 5.1 MathML.[7][8] Der Internet Explorer unterstützte MathML nicht, es musste das MathPlayer-Plug-in installiert werden.[9]

Opera unterstützte ab Version 9.5 MathML in weiten Teilen.[10] Opera verwendete dabei CSS in Verbindung mit SVG zur Darstellung.[11] Mit dem Umstieg der Rendering-Engine in Opera 15 entfiel die MathML-Unterstützung.[12] Google Chrome unterstützte MathML vorübergehend in der Version 24 (erschienen im Januar 2013), mit der Version 25 wurde MathML allerdings wieder deaktiviert.[13][14]

Seit Version 109 unterstützt Chrome MathML wieder, möglich wurde dies durch Entwickler der Fa. Igalia.[15] Auch die anderen auf der Blink-Engine von Chrome basierenden Browser wie Opera und Edge unterstützen nun MathML.

MathML Core ist als XML-Dialekt integraler Bestandteil von HTML5. Es ist auf die modernen Browser zugeschnitten und wurde speziell für die Zusammenarbeit mit anderen Webstandards entwickelt, darunter HTML, CSS, DOM und JavaScript.

Durch die Syntax lässt es sich durch CSS formatieren. Mit JavaScript kann das DOM eines MathML-Dokuments ausgelesen und dynamisch verändert werden.

Unter Mathematikern und anderen interessierten Benutzern gilt MathML für die manuelle Editierung als unhandlich, sodass nur Programme zur Generierung zum Einsatz kommen. Daher wird zur Erstellung mathematischer Dokumente häufig auf das altbewährte Textsatzsystem LaTeX gesetzt. Andererseits gibt es immer mehr Programme, die auf Basis von MathML Formeln beschreiben.

Verwandte Standards

[Bearbeiten | Quelltext bearbeiten]

OpenMath wurde zum großen Teil von denselben Personen entwickelt, die auch Content MathML entwickelt haben, um die Semantik von Formeln besser zu beschreiben. Im Gegensatz zu Content MathML hat es keinen festen Vorrat an Funktionen und Operatoren, sondern ist um neue Symbole erweiterbar.

OMDoc wurde entwickelt, um größere mathematische Strukturen als Formeln aufzuschreiben: Aussagen wie Definitionen, Sätze, Beweise oder Beispiele, bis hin zu Theorien und Lehrbüchern. Formeln in OMDoc können sowohl in Content MathML als auch in OpenMath aufgeschrieben werden; zur Präsentation können sie nach Presentation MathML konvertiert werden.

MathML-Software (Auswahl)

[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Mathematical Markup Language 1.01 Specification. 7.1.3 Invoking Embedded Objects as Renderers. W3C, 7. Juli 1999, abgerufen am 24. März 2017 (englisch).
  2. Mathematical Markup Language (MathML) Version 3.0 2nd Edition. B Media Types Registrations. W3C, 10. April 2014, abgerufen am 19. März 2022 (englisch).
  3. www.w3.org.
  4. ISO/IEC 40314:2016. International Organization for Standardization, abgerufen am 19. Juli 2019 (englisch).
  5. David Carlisle, Frederic Wang: MathML Core. W3C, 10. August 2021, abgerufen am 21. März 2023 (englisch).
  6. Caniuse. Caniuse, abgerufen am 21. März 2023 (englisch).
  7. Math ML. mozilla developer center, abgerufen am 26. September 2010.
  8. MathML in Safari
  9. MathPlayer. Design Science, abgerufen am 24. März 2017 (englisch, kostenloses Plug-in für den Internet Explorer ab Version 6.0).
  10. Tommy A. Olsen: Even more work. Opera Desktop Team, 16. November 2007, archiviert vom Original (nicht mehr online verfügbar) am 18. November 2007; abgerufen am 26. September 2010 (englisch).
  11. Charles McCathieNevile: Can Kestrels do Math? MathML support in Opera Kestrel. In: Dev.Opera. Opera Software ASA, 27. September 2007, abgerufen am 26. September 2010.
  12. MathML auf selfhtml.org
  13. Jens Ihlenfeld: Chrome-24-Beta ist schneller und bringt neue Webtechnik. Golem.de, abgerufen am 9. November 2012.
  14. Jason Blevins: MathML and Chrome: On Again, Off Again. Abgerufen am 30. April 2013 (englisch).
  15. Igalia Brings MathML Back to Chromium. Abgerufen am 15. Januar 2023 (englisch).