Moderne Editoren für Web-Dokumente, insbesondere Online-Editoren, also auf Webseiten zur Verfügung stehende Editoren, ermöglichen Webseiten zu erstellen, die neben dem HTML-Code mit modernsten Sprachen und Technologien bestückt sind. Besondere Anforderungen werden gestellt, wenn es darum geht Mathematik auf die Webseite zu bringen. Software, die nur Mathematik darstellen soll, ohne eine Berechnung durchführen zu müssen, hat im Wesentlichen nur zwei Probleme zu lösen:

  1. Wie gebe ich die mathematische Idee (die Formel, das Symbol, die Struktur, etc.) ein? → Inputverarbeitung
  2. Wie kann diese Idee codiert werden, damit sie von allen modernen Browsern richtig dargestellt wird? → Outputverarbeitung

Schon bei der Einbettung einzelner mathematischer Symbole treten diese Probleme auf. Viele der erforderlichen Symbole haben einen HTML-Code (die so genannte HTML-Entität) und können zumindest mit allen modernen Browsern richtig angezeigt werden. Mathematische Symbole hingegen, denen seitens des "Internet-Konsortiums" (W3C) noch kein HTML-Code zugewiesen worden ist, müssen mühsam über die entsprechende Unicode-Nummer (den so genannten Codepunkt), in die laufende Textzeile eingesetzt werden. Außerdem werden diese Zeichen nur richtig angezeigt, falls auf dem Rechner des Betrachters zweierlei passiert ist:

  1. entsprechende Schriftarten müssen installiert sein und
  2. entsprechende systemspezifische Parameter für die Anzeige dieses erweiterten Zeichenvorrats müssen eingestellt sein.

Auf Windows-Rechner erfolgt der zweite Schritt in der Registrierungsdatenbank. Dies ist zwar alles leicht zu bewerkstelligen, nur leider nicht auf dem Rechner eines Internet­besuchers. Folglich bekommt dieser nur ein nichtssagendes Ersatzzeichen zu sehen.

Noch problematischer wird es, wenn ich gemäß der mathematischen Konvention zweidimensional layouten muss: 

\[\operatorname{\mit P\rm-lim}\frac{1}{n}\sum_{i=1}^{n}(X_i-E(X_i)) = 0 \qquad \mbox{(stochastische Konvergenz gegen 0)}\]

Hierfür werden heute zwei unterschiedliche Techniken verfolgt:

  1. Erzeugung der Symbole mittels einer graphischen Benutzeroberfläche und Einbettung der daraus erzeugten Bilder in die Webseite
  2. Codierte Eingabe über einen einfachen Texteditor und dynamische Erzeugung mittels Javascript beim Aufruf der Seite

Bei der 1. Technik wird alles zur Entwurfszeit erledigt. Alles geht zwar sehr zügig vonstatten, nur ist eine Lösung mit "Bildern für Buchstaben" nicht gerade state-of-the-art. Die 2. Technik hingegen erfordert Sprachkenntnisse bei der Eingabe und zeigt im Falle von web-basierten Javascript-Bibliotheken eine leichte Verzögerung in der Darstellung. Dennoch überzeugt mich diese Technik.

Hier einige Beispiele:

MathJax

Dieses Tool ermöglicht die Eingabe auf drei Arten:

  • MathML
  • LaTeX und
  • ASCIIMath

Auch die Ausgabe ist auf drei unterschiedlichen Arten möglich und zwar mittels:

  • MathML
  • HTML+CSS
  • SVG

Die jeweilige Ausgabeart kann im Browser sogar ausgetauscht werden.

Eine in \(\color{violet}{\LaTeX}\) geschriebene Textformel für ein Integral sieht z.B. so aus: \(\color{darkorchid}{a = \int_3^4 x^2\mbox{d}x}\) und die bekannte  p,q-Formel als abgesetzte Formel so: \[\color{darkgreen}{\boxed{x_{1,2}=-\frac{p}{2} ± \sqrt{\left(\frac{p}{2}\right)^2-q}}}\]