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
	- 
        Laden der Datei GPLmath.zip in ein
	beliebiges Verzeichns.
        
- 
	Entpacken der Datei GPLmath.zip
	(Verzeichnisstruktur behalten).
        
- 
	Alle Dateien in allen Ordnern für
	Lesen und Schreiben freigeben.
        
- 
	Starten der Demo mit [pfad]java
	demo.
	- 
        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
        - 
	
 
 
- 
	
 
- 
        Das Programm demo02 benutzt bereits
	MathML und zeigt- 
	
 
 
- 
	
 
- 
        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:
        - 
        Auswahl des XML-Parsers
        Soll SAX oder DOM verwendet werden? Wo sind die Unterschiede? Wie
        verwendet man diese Parser überhaupt? 
- 
        Formeln in MathML
        Wie werden Formeln in MathML ausgedrückt? Wie kann Java sie
        auslesen? Welche Möglichkeiten der textuellen Ausgabe (für
        die Berechnung wichtig) gibt es? 
- 
        Java Programme aus MathML-Dokumenten erzeugen
        Wie geht das? Was muss beachtet werden? Wie können die Typen
        für Variablen erzeugt werden? Wie werden die Klammern gesetzt,
        die ja in MathML-Brüchen unnötig sind? 
        - 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:
	- 
	Soweit möglich sind alle Methoden statisch.
        
- 
	Das DOM wird nicht als Parsing-Model verwendet.
        
- 
	Die Anzeige wird auf das Zeichnen der Glyphen reduziert.
	
- 
        Dynamische Speicherstrukturen werden auf eigene Listen umgestellt.
Die Verbindung zu anderen Systemen wird natürlich ebenfalls
bearbeitet. Die frühe Bereitstellung erfolgt, damit der
Community viel Raum für Anregungen bleibt.