Archiv

Juni 2012
M D M D F S S
« Mai   Jul »
 123
45678910
11121314151617
18192021222324
252627282930  
Download PDF

MathJax-Erweiterungen im Newsportal

Seit 2010 werden mathematisch Formeln, die in LaTeX-Notation vorliegen, als Graphik dargestellt. Das dafür zuständige CGI ist jetzt durch die JavaScript-Engine MathJax ersetzt worden, die zusätzliche Möglichkeiten eröffnet.

Seitdem wir unsere webbasierte Schnittstelle zum News-Server in Betrieb genommen haben, haben wir so viele Änderungen, Erweiterungen und manchmal sogar Fehlerkorrekturen nachgefahren, dass man den Eindruck gewinnen könnte, die Sourcen haben kaum noch was mit dem ursprünglichen Auslieferungsstatus gemein. Zuletzt haben wir  im Februar 2010 mit der Anbindung an das CGI mathtex eine Schnittstelle geschaffen, über die mathematischer Formel-Code in der Web-Ausgabe als Graphik dargestellt wird. Diese Möglichkeit wurde seinerzeit im Blog-Artikel  „Neues vom Newsportal: Mathematische Formeln lesbarer darstellen“ beschrieben.

Diese seinerzeit überwiegend selbstgebastelte Schnittstelle wurde in der Zwischenzeit durch die JavaScript-Engine MathJax ersetzt. Das dies offenbar noch niemandem aufgefallen ist – zumindest sind mir bislang keine Beschwerden zu Ohren gekommen – liegt vermutlich daran, dass zwischen dem alten und neuen Verfahren auf den ersten Blick kaum Unterschiede sichtbar werden – auf diesen Punkt werden wir tatsächlich später noch zurück kommen.

Grob vereinfacht ausgedrückt parst das JavaScript MathJax nach dem laden die komplette HTML-Seite und wandelt die gefundenen Mathe-Sequenzen in eine Mischung aus MathML, CSS und Webfonts um (durch das dynamische nachladen der Mathefonts ergeben sich gelegentlich Verzugszeiten von 2-3 Sekunden, bevor die Formel dargestellt wird). In der Ausgabe entdeckt man auf den ersten Blick  keine Unterschiede, danach überrascht MathJax jedoch mit vielen tollen Möglichkeiten, beispielsweise:

  • Durch die Verwendung von Webfonts ist eine verlustfreie Skalierung der Formel möglich. Im Newsportal wird dies sichtbar, indem Sie mit der Maus über den Formel-Bereich fahren, wodurch die Formel aus dem Text, auf 200% skaliert, herausgehoben wird. Den Maßstab der Skalierung können Sie zudem über ein Kontextmenü beeinflußen, welches durch einen Rechts-Mausklick, auf die Formel erscheint (s. Abbildung 1).
  • Über das selbe Kontextmenü  kann auch der Quellcode der Formel eingesehen werden und zwar wahlweise als TeX-Code oder im MathML-Format. Diese Ansicht kann wiederum dazu genutzt werden den Formel-Code über die betriebssystemeigene Zwischenablage in andere Applikationen zu transportieren.

MathJax Kontextmenü

Abbildung 1: Das MathJax Kontextmenü

Eingabeänderungen im Newsportal

Aus Kompatibilitätsgründen haben wir versucht die Eingabeschalter für das Newsportal möglichst unverändert zu lassen, d.h. die Formel wir im TeX-Code erfasst und von den Sequenzen [ und ] begrenzt. Neu jetzt ist jedoch das Verhalten, dass hierdurch die Formel immer in einem eigenen Absatz gesetzt wird.

Soll die Formel dagegen tatsächlich in die laufende Textzeile gesetzt werden, so können hierfür die Delimiter ( und ) verwendet werden.

Erst kontrollieren, dann abschicken

Obwohl die Eingabe im TeX-Format um bereits einiges praktikabler als der Erfassung von MathML-Sequenzen ist, ist aufgrund der Komplexität der Sache die Fehlerwahrscheinlichkeit nach wie vor sehr hoch – zumindest haben wir in der Vergangenheit häufiger festgestellt, dass Mathe-Code in der Gruppe feu.test offenbar vorab sicherheitshalber ausgestestet wurde. Obwohl die Gruppe, wie der Name ja nahe legt,  durchaus für sowas gedacht ist, so scheint es doch eher umständlich zu sein Massenpostings zu erzeugen, bevor man zur „gebrauchsfähigen“ Formel gelangt.

Aus diesem Grund haben wir dem „Artikel-Erfassungs-Fenster“ des Newsportals (s. Abbildung 2) einen neuen Vorschau-Knopf gegönnt, über den sich ein Artikel vor dem abschicken nochmal im Layout betrachten lässt.

Artikel-Vorschau

Abbildung 2: Die Artikel-Vorschau

 Thomas Feuerstack

3 Kommentare zu “MathJax-Erweiterungen im Newsportal”

  1. Thomas sagt:

    Seit gerade eben sind auch unsere Wikis auf MathJax umgestellt worden. Siehe: http://wiki.fernuni-hagen.de/index.php/FernUniWiki:Hilfe

  2. Antonio sagt:

    Ich mag MathJax! Verwende ich selbst.

  3. Marco sagt:

    Finde das Programm klasse!

Kommentieren

FernUni-Logo FernUniversität in Hagen, Zentrum für Medien und IT (ZMI), 58084 Hagen, Tel.: +49 2331 987-2809, Fax: +49 2331 987-2720