Formel-Satz mit MathML

Formel-Satz mit MathML

Zielgruppe sind StudentInnen und ambitionierte Informatik-Amateure

Grundkenntnisse der Informatik werden vorausgesetzt. Kenntnisse von HTML oder XML sind hilfreich.



Darstellung von Formeln


Formel-Bild

Diese Formel ist als Bild (Grafik-Datei MathML_Demo.png, 1145 Bytes) dargestellt.

MathML+MathJax

Diese Formel ist mit MathML + MathJax (Hilfs-Programme) als HTML-Text-Datei codiert (Datei MathML_Demo.html Quelltext, 626 Bytes).

MathML 'pur'

Diese Formel ist (nur) mit MathML als XML-Text-Datei codiert (Datei MathML_Demo.xml Quelltext, 408 Bytes).

Vorteile & Nachteile

Jedes Browser-Programm kann die Grafik anzeigen.
Die Datei braucht vergleichsweise viel Platz (und Übertragungs-Zeit)

Die Datei ist binär codiert und daher weder für Menschen noch für Programme lesbar.

Die Anpassung an andere Aufgaben ist nicht sinnvoll: Man muss jede Formel neu setzen und in eine Pixel-Grafik umwandeln.
Die meisten modernen Browser beherrschen diese Technologie. Wenn die Formel korrekt angezeigt wird, dann können sie die → MathML+MathJax-Beispiele ansehen.

MathJax wird von der Webseite selbst angefordert und braucht daher keine Browser-PlugIns.

MathJax erzeugt das Formel-Bild erst nach dem Laden der Webseite und bewirkt daher eine deutliche Verzögerung.
Derzeit beherrschen nur die besten Browser diese Technologie. Wenn die Formel korrekt angezeigt wird, dann können sie die → MathML-(pur)-Beispiele ansehen.

MathML wird von modernen Browsern direkt mit maximaler Geschwindigkeit verarbeitet und braucht keine anderen Hilfs-Programme.

Text-Dateien sind wesentlich kleiner und für Menschen ebenso wie für Programme lesbar.

Die Anpassung an ähnliche Aufgaben ist wesentlich einfacher.


In einem kleinen Intranet-(LAN)-Netzwerk kann man veraltete Technologie ignorieren und alle Geräte mit modernen Browser-Programmen ausrüsten.

In diesem Fall ist 'reines' MathML zu bevorzugen, weil mit dieser Technologie auch → Webseiten mit vielen Formeln schnell und sauber angezeigt werden und weil man keine weiteren Resourcen benötigt.


Entwicklung

Bei der Programmierung muss man eine Formel in jedem Fall neu setzen.
Dazu dienen Formel-Editor-Programme, z.B. das in   LibreOffice und   OpenOffice enthaltene Programm Math.
Zur Herstellung eines Formel-Bilds muss man die gesetzte Formel in eine Grafik-Datei (des Typs *.png oder *.gif) umwandeln.

Ein gutes Formel-Editor-Programm kann eine Formel direkt als Grafik-Datei exportieren.

Alternativ kann man die Formel mit einem geeigneten Programm (Textverarbeitung, Browser, ...) anzeigen und ein Bildschirm-Foto ( ScreenShot) herstellen.

Meistens muss man das Bild mit einem Grafik-Programm (z.B. → GIMP) nach-bearbeiten.
Zur Herstellung einer MathML+MathJax Datei muss man den MathML-Quelltext erzeugen und in eine Webseiten-Datei des Typs *.html einsetzen.

Ein gutes Formel-Editor-Programm kann eine Formel als MathML-Datei exportieren. Aus dieser Datei muss man den MathML-Code entnehmen und an der gewünschten Stelle in eine Webseiten-Datei *.html einsetzen.

Zusätzlich muss man in die Webseite eine Anweisung einfügen, um die MathJax-Hilfsprogramme zu laden.
Zur Herstellung einer MathML Datei muss man lediglich den MathML-Quelltext erzeugen.

Ein gutes Formel-Editor-Programm kann eine Formel als MathML-Datei exportieren.

Man kann den MathML-Text der Formel direkt (Inline) in eine → HTML-5 Webseite einfügen.

Alternativ kann man eine MathML-Datei als eigenständiges Dokument verwalten und in beliebigen Webseiten (mehrfach) verwenden.

MathML-Beispiel



MathML Quelltext

  Diesen Text hat ihr Browser vom Webserver erhalten und daraus das Bild der Formel hergestellt.

MathML ist Mitglied der → XML-Familie. Der Quelltext besteht daher aus (Auszeichnungs)-Elementen in < > Klammern und Daten (violett). Man kann die Elemente als Programm zur Herstellung des Formel-Bildes ansehen.

Das Sonderzeichen &middot; ist ein Multiplikations-Punkt in der Mitte der Zeile.

Ein MathML-Programm sieht auf den ersten Blick kompliziert aus, weil die Elemente meistens tief ineinander verschachelt sind. Die Logik ist allerdings einfach und nach kurzer Einarbeitung durchschaubar.
Details zur → Programmierung von MathML

Links

Software:
LibreOffice-Math, OpenOffice-Math
W3C: Symbole (Entities), MathML-Software

MathJax; MathJax, (Getting started), Wikipedia (MathJax)

Diese Repositories bieten mit dem Stichwort 'MathML' zahlreiche kostenfreie Programme für alle gängigen Betriebssysteme:
GitHub, SourceForge


Format-Umwandlung

Neben MathML werden auch andere Methoden bzw. Programme zur Darstellung von Formeln verwendet, z.B. LaTeX, ASCIIMathML, LibreOffice-Math, OpenOffice-Math
Im Internet findet man zahlreiche Möglichkeiten zur Umwandlung verschiedener Formelsatz-Formate.