- Der Autor hat seine Doktorarbeit mit Typst geschrieben, was im Vergleich zu klassischem LaTeX eine neue Herausforderung war
- Dank schneller Kompilierung, einer konsistenten und leistungsfähigen Skriptsprache, einfacher Layout-Anpassung und hervorragendem Code-Highlighting waren Dokumentüberarbeitungen und Template-Anpassungen sehr effizient
- Es gibt jedoch klare Unannehmlichkeiten und Grenzen, etwa umständliche Literaturverwaltung, Grenzen bei der LaTeX-Konvertierung, fehlende Templates wegen des jungen Ökosystems und Einschränkungen bei Fehlermeldungen
- Bei Kompatibilität mit LaTeX, Zusammenarbeit und der Unterstützung der für Einreichungen geforderten Formate gibt es noch Defizite; für gemeinsame Paper-Arbeit und Konferenzeinreichungen ist LaTeX de facto der Standard
- Typst ist besonders vorteilhaft, wenn programmatische Freiheit und moderne Funktionen benötigt werden, wird aber für Einsteiger und standardisierte Anforderungen nicht empfohlen
Warum ich meine Doktorarbeit mit Typst geschrieben habe
- Der Autor hat vor Kurzem seine Doktorarbeit mit Typst verfasst und damit statt des traditionell häufig genutzten LaTeX eine neue Typografiesprache ausprobiert
- Typst verbindet Markdown mit dynamischer Typisierung nach dem Vorbild von Rust; dadurch wirkt das Schreiben natürlicher als in LaTeX und die Erweiterbarkeit als Skriptsprache ist ebenfalls stark
- Kennzeichnend sind die intuitive Syntax und der einfache Wechsel zwischen Code und Dokument
Vorteile von Typst
Kompilierungsgeschwindigkeit
- Der Typst-Compiler ist sehr schnell, sodass selbst bei großen Dokumenten eine PDF-Echtzeitvorschau möglich ist
- Auch ein vollständiger Build ist in etwa 15 Sekunden abgeschlossen, und bei Inhaltsänderungen sind die Ergebnisse fast sofort sichtbar
- Layout- und Stiländerungen lassen sich dadurch effizient wiederholen, was die Qualität des Endergebnisses verbessert
Sprachdesign und Einsatz als Skriptsprache
- Die Typst-Sprache ist sehr konsistent, und dank des auf Rust basierenden Designs ist die Lernkurve gering
- Die in LaTeX oft störende mangelnde syntaktische Konsistenz zwischen einzelnen Paketen ist in Typst behoben
- Es gibt reichlich programmatische Anwendungsmöglichkeiten, etwa das direkte Parsen von TOML-Dateien zur automatischen Visualisierung von Daten im Dokument
- Ebenfalls stark ist die Integration mit modernen Tools (Compiler, Abhängigkeitsverwaltung, LSP usw.)
Templates und Layout-Anpassungen
- Die Template-Struktur von Typst ist klar, sodass Änderungen und Erweiterungen leicht nach Wunsch möglich sind
- Im Vergleich zur komplexen Bearbeitung von LaTeX-Templates ist die Konfiguration deutlich intuitiver und schneller
Code-Highlighting
- Dank der eingebauten Unterstützung für syntax highlighting ist Code in der Arbeit gut lesbar
- Textmate-Grammatiken lassen sich nutzen, und auch regex-basierte benutzerdefinierte Definitionen sind leicht umsetzbar
- Der Autor hat sogar experimentiert, durch selbst geschriebene Parser im Skript bestimmte Syntax-Highlights umzusetzen
Fehlermeldungen
- Im Vergleich zu LaTeX zeigen sie Fehlerposition und Ursache klarer an, wodurch sich die Zeit zur Problemlösung stark verringert
- Es gibt keine unnötigen Terminal-Ausgaben, und die Fehlerinformationen sind praktisch tatsächlich nützlich
Nachteile von Typst
Literaturverwaltung (Bibliography)
- Für die gesamte Arbeit wird nur eine einzelne Bibliography unterstützt; unterschiedliche Literaturdateien pro Kapitel oder für eingebundene Arbeiten sind nicht möglich
- Die Unterstützung für erweiterte Funktionen wie Bibtex-Variablen ist unzureichend, sodass eine manuelle Zusammenführung per Makefile nötig ist
- Eine teilweise Lösung ist über ein Paket (Alexandria) möglich, doch Bedienkomfort und Automatisierungsgrad sind gering
- Detailanpassungen bei Zitationsstil-Konvertierung oder Feld-Mapping sind unvollständig, und manuelle Arbeit ist unvermeidlich
- Da Bibliography-Felder vom Bibtex-Standard abweichen, entstehen Unterschiede im Ergebnis
Grenzen der Fehlermeldungen
- In komplexen Fällen (z. B. bei der Nutzung von Alexandria) erscheint ohne konkrete Fehlerbeschreibung nur eine einfache Fehlermeldung
- Bei zustandsbasierten
show rule-Konstrukten ist die Verfolgung der Fehlerposition schwierig, was das Debugging erschwert
- Bei manchen layoutbezogenen Warnungen lässt sich die Ursache nicht leicht ermitteln
Die komplizierte Realität: Kompatibilität und Ökosystem
Kompatibilität und Zusammenarbeit mit LaTeX
- Bestehende Arbeiten oder einzureichende Paper benötigen LaTeX-Formate, daher werden Typst-Dokumente über Pandoc und ähnliche Tools konvertiert und weiterverwendet
- Auch neue Arbeiten werden zunächst in Typst entworfen, bevor für die finale Einreichung eine Konvertierung nötig wird
- Die automatische Konvertierung von Typst nach LaTeX ist nicht perfekt, weshalb der Autor dafür ein eigenes Tool entwickelt hat
- Teile des Konvertierungsergebnisses (z. B. Code) müssen mit LaTeXs
\includepdf eingebunden werden, was unter Umständen nicht zu den Anforderungen des Verlags passt
- Da LaTeX Standard ist, entsteht zusätzlich der Aufwand, dass Mitwirkende Typst erst neu lernen müssen
Stand des Typst-Ökosystems
- Typst befindet sich noch in einem frühen Ökosystem, daher sind offizielle Templates und Einreichungsformate nur begrenzt verfügbar
- Oft müssen Nutzer selbst angepasste Templates erstellen
- Typst-Templates für wichtige Konferenzen und Journale sind in Abdeckung und Qualität noch nicht vollständig ausgereift
Fazit und Empfehlung
- Wer gern programmiert und Freude an detaillierter Werkzeug-Anpassung hat, dem kann das Schreiben wissenschaftlicher Arbeiten mit Typst durchaus empfohlen werden
- Die hohe Freiheit bei wiederholten Versuchen und bei der Anpassung kann zu einem besonders ansprechenden Ergebnis führen
- Wenn man jedoch ohne zusätzliche Einrichtung sofort loslegen muss, ist Typst für große Dokumente wie eine Doktorarbeit noch nicht geeignet
- Für kleinere Dokumente oder persönliche Experimente ist Typst aber einen Versuch wert
1 Kommentare
Hacker-News-Kommentare
.tex-Dateien liegen und später gemeinsam kompiliert werden. Das passt auch gut zu einem VCS wie git. Wenn man Abbildungen per Skript erzeugt, erkennt LaTeX neue Dateien automatisch und kompiliert neu. In Word müsste man jede Grafik manuell suchen und ersetzen, was ineffizient ist. Je größer das Dokument wird, desto unbequemer wird Word, während LaTeX nach der anfänglichen Einrichtung eher effizienter wird.git clean -xdf. Warum das passiert, ist mir bis heute nicht ganz klar, und die Makefiles selbst sind oft viel zu kompliziert.-outdirkann man außerdem Zwischenartefakte getrennt verwalten.