Ausgangslage
Während einem Studium werden im Rahmen von Projektarbeiten viele Dokumente erstellt. Dabei hat man die Wahl zwischen einem Textverarbeitungsprogramm wie Word oder einem Textsatzsystem wie LaTeX.
Ich habe während meines Studiums beide Varianten ausprobiert und war mit beiden nicht vollständig zufrieden.
Während der letzten Arbeit, welche ich mit LaTeX geschrieben habe, hatte ich die Idee eines eigenen Interpreters.
Ziele
Das Ziel meiner Diplomarbeit war die Implementierung eines Prototyps, welcher ermöglicht ein mehrseitiges Dokument mit einer einfachen Auszeichnungssprache zu erstellen.
Die Format-Einstellungen wie z.B. Schriftart, Absatzabstand, usw. sollen einmalig konfiguriert werden können.
Ein zusätzliches Ziel war, meine Dokumentation mit dem implementierten Prototyp zu erstellen.
Zusammenfassung
In der Initialisierungsphase ermittelt, welche Elemente in einem Dokument benötigt werden und entsprechende Anforderungen definiert.
Anschliessend wurde die Auszeichnungssprache Markdown evaluiert, welche als Basis der zu interpretierenden Sprache dient. Um alle Anforderungen meiner Diplomarbeit abzudecken wurde die Sprache sinnvoll erweitert.
Neben der Konfiguration der Dokument-Formatierung besteht das Projekt aus zwei Hauptanwendungsfällen.
Der Quellcode muss gelesen werden, die Elemente aufgrund der definierten Auszeichnungssprache identifiziert und geparst werden.
Nachdem der Quellcode geparst wurde, muss das PDF-Dokument gerendert und erzeugt werden. Dabei wird das Dokument aufgrund der Konfiguration der Dokument-Formatierung formatiert.
Der Prototyp wurde mit C# und .NET 5 implementiert.
Features
Das implementierte User Interface umfasst folgende Funktionalitäten:
- Konfiguration der Schriftart, Abstand der Seitenränder und Absätze
- Konfiguration für die automatische Nummerierung von Überschriften
- Konfiguration für die automatische Aufnahme in das Inhaltsverzeichnis
- Konfiguration der Schriftgrösse und Schriftauszeichnung der einzelnen Elemente
- Automatische Generierung des Dokumentes nach einer Änderung der Quelldatei
- Anzeige des generierten PDF-Dokumentes
In einem Dokument können mit der Auszeichnungssprache folgende Elemente hinzugefügt werden:
- Deckblatt
- Überschriften der Ebene 1 bis 4
- Absätze mit individuellen Formatierungen in kursiv und fett
- Einträge für das Abkürzungs-, Quellenverzeichnis und Glossar
- Seitenumbrüche in Hoch- und Querformat
- Kopf- und Fusszeilen (mit automatischer Seitennummerierung)
- Tabellen mit Beschriftungen
- Abbildungen mit Beschriftungen
- Sortierte und unsortierte Listen
- Inhaltsverzeichnis
- Tabellenverzeichnis
- Abbildungsverzeichnis
- Abkürzungsverzeichnis
- Glossar
- Quellenverzeichnis