Mathematik-Display

Die Bearbeitung mathematischer Formeln ist schon immer ein Problem in der Programmierung gewesen.
Seit TEX ist zumindest die Wiedergabe beim Druck als erledigt anzusehen. Für andere Anwendungen (Internet, Unterricht usw.) existieren viele einzelne Lösungen. Die wenigsten sind Open-Source und noch weniger arbeiten mit einer Sprache, die unabhängig vom Betriebssystem ist.
Hier wird die Grundlage für ein System vorgestellt, mit dem zunächst nur die Darstellung mathematischer Ausdrücke möglich ist. Eine Übersetzung nach MathML, (LATEX, OpenOffice ist in Planung) ist enthalten. Um auch die Ausgabe selbst unabhängig von Programmiersprachen zu halten, wird die Ausgabe auch über reine Glyphen mit SVG möglich sein.
Vor allen Darstellungen sollte jedoch die Verarbeitung stehen. Ein Interface für MathLab-Syntax ist ebenfalls im Aufbau. Das Ziel ist jedoch eine Java-Anwendung aus einem Guss, die trotzdem alle genannten Möglichkeiten bereit hält.
Vor dem Einsatz des Systems bitte die Lizenz GPL beachten. Für Fehlermeldungen, Erweiterungen, Vorschläge usw. ist der Autor dankbar. Die Kontaktadresse ist in jeder Quelltext-Datei zu finden.

Voraussetzungen

Für den ersten Kontakt mit dem Mathematik-Displays sind
erforderlich:
j2sdk1.4.2_xx oder besser,
Texteditor.
empfohlen:
j2sdk1.4.2_xx (wegen allgemeiner Verfügbarkeit),
Texteditor mit eigener Ausgabekonsole für die Anwendung, also
Textpad (Windows), xje, , NetBeans, eclipse.
Die Beschränkung auf eine reine RunTime-Umgebung (jre) ist nicht empfehlenswert.

Installation

Die Angabe des Pfads vor java ist abhängig von der Java-Installation. Wurden die Pfadangaben global gemacht, kann sie entfallen. Bei Verwendung der empfohlenen Editoren entfällt bei entsprechender Einrichtung sogar die Angabe von java.

MathML

Die Interaktion mit MathML ist noch ohne Argumente. Die Interpretation ist auf die Übernahme der mathematischen Aussage beschränkt. Es ist also nicht das Aussehen, sondern der Inhalt wichtig. Die Verwendung von Content-Markup kommt wegen der Ansprüche (z.B. MathLab-Syntax) nicht in Frage. So werden viele Probleme vermieden und trotzdem die Vorgaben des W3C eingehalten. Die etwas umfangreicheren Ausdrücke sichern die Darstellung in vorhandenen MathML-Browsern und sichern die Eindeutigkeit der Formulierungen.

Ergebnisse der Demo-Programme

Die Programme demo und demo01 führen zu der Anzeige von

formel01

Das Programm demo02 benutzt bereits MathML und zeigt

formel02

Wie vom W3C vorgeschlagen, können die Tags mit speziellen Darstellungen versehen werden. Hier wurde davon kein Gebrauch gemacht, aber in der Datei
translators/DocToDisplay.java
stehen alle Möglichkeiten offen.
Die Positionen von Indizes, Exponenten hängen vom gewählten Zeichensatz ab. Sie sind bestimmt durch Faktoren und in der Datei display/DiskObject.java vorhanden. Auch hier stehen alle Möglichkeiten bereit, die Faktoren anzupassen. Der grafische Mathe-Editor (noch in Arbeit), wird entsprechende Menüs enthalten. Antialiasing ist ebenfalls optional. Der Zeichensatz sollte ebenfalls etwas gefälliger sein (Times, Lucida).

Wie geht das überhaupt mit XML oder MathML?

Eine kleine Hilfe für die Bearbeitung von XML-Dokumenten erleichtert die Mitarbeit. Immer wieder wurde die Bitte geäußert, doch ein paar Tipps für XML und Java zu geben. So sei zwar die Anwendung des Displays in Java verständlich, jedoch das Zusammenspiel mit XML und damit natürlich auch MathML schwierig nachzuvollziehen.
Wir kommen diesem Wunsch nach. Hier also ein paar Beschreibungen und Beispiele:
Diese Fragen werden beantwortet. Natürlich kann nur das Wie gezeigt werden. Es sind keine Komplettlösungen, wohl aber Grundlagen für weitere Entwicklungen.

Allgemeines zur weiteren Entwicklung

Ein paar Hinweise zu eigenen Entwicklungen sind hilfreich. Damit die GPL-Vorgabe der Unabhängigkeit gewahrt bleibt, sind folgende Punkte erwähnenswert:

Die Verbindung zu anderen Systemen wird natürlich ebenfalls bearbeitet. Die frühe Bereitstellung erfolgt, damit der Community viel Raum für Anregungen bleibt.