| Typst | |
|---|---|
| Basisdaten | |
| Hauptentwickler | Typst GmbH |
| Erscheinungsjahr | 21. März 2023 |
| Aktuelle Version | 0.15.1 (17. Juli 2026) |
| Aktuelle Vorabversion | 0.1.0 (4. April 2023) |
| Betriebssystem | plattformübergreifend |
| Programmiersprache | Rust |
| Kategorie | Textsatzsystem |
| Lizenz | Apache Software License 2.0 (Compiler), proprietär (Online-Editor) |
| deutschsprachig | ja |
| https://typst.app | |
| Typst | |
|---|---|
| Dateiendung: | .typ |
| Entwickelt von: | Typst GmbH |
| Erstveröffentlichung: | 2023 |
| Aktuelle Version | 0.15.1 (17. Juli 2026) |
| Art: | Textauszeichnungssprache |
| https://typst.app | |
Typst ist ein quelloffenes programmierbares Textsatzsystem, mit dem unter anderem wissenschaftliche Texte geschrieben und formatiert werden können.
Der Typst-Compiler ist in Rust geschrieben. Er liest den Quellcode ein, der die ebenfalls Typst genannte Programmiersprache nutzt (Dateiendung .typ), und gibt dann das fertige Dokument im gewünschten Format (beispielsweise PDF, SVG oder HTML) aus. Zusätzlich lassen sich quelloffene Erweiterungspakete vom Typst Universe nutzen, die die Funktionalität des Compilers erweitern.
Typst wird von den Erfindern Laurenz Mädje und Martin Haug seit 2019 und der gleichnamigen Typst GmbH seit 2023 entwickelt. Die Typst GmbH betreibt einen kollaborativen, cloudbasierten Web-Editor, vergleichbar mit Overleaf für TeX, dessen erweiterte Funktionen kostenpflichtig sind.
Die Entwickler zielen darauf ab, Typst als modernen Nachfolger für TeX bzw. LaTeX zu etablieren. Im Gegensatz zu diesen möchten sie eine einfachere Syntax, leichter verständliche Fehlermeldungen, sowie schnellere und inkrementelle Kompilation bieten.
Typst wurde ab 2019 von den deutschen Entwicklern Laurenz Mädje und Martin Haug geschrieben. Es war Inhalt ihrer Masterarbeiten an der TU Berlin, die 2022 abgegeben wurden. Mitte 2022 äußerte sich Mädje erstmals öffentlich zu Typst, unter anderem auf seinem Blog. Ab Dezember 2022 war Typst im geschlossenen Betatest verfügbar, für den sich Interessenten seit spätestens Juli 2022 anmelden konnten.
Am 18. Januar 2023 gründeten Haug und Mädje die Typst GmbH mit Sitz in Berlin. Wenig später, am 21. März, stellten sie den Compiler unter einer Open-Source-Lizenz öffentlich zur Verfügung. Das Projekt wurde außerdem auf der TUG im Juli 2023 vorgestellt.
Das Hauptprodukt der Firma ist die proprietäre „Typst app“, eine Web-IDE für Typst, die unter anderem eine Livevorschau des aktuellen Dokuments und einen Cloudspeicher für eigene Dokumente zur Verfügung stellt. Die grundlegende Nutzung der IDE ist kostenlos, weitergehende Funktionen, z. B. zur Zusammenarbeit in größeren Organisationen, sind kostenpflichtig.
Bis Juli 2026 wuchs die Typst GmbH laut eigenen Angaben auf fünf Mitarbeiter, die unter anderem den Compiler entwickeln. Stand 2026 gibt es noch keine Version 1.0 des Typst-Compilers, dennoch gilt die Software als stabil und inkompatible Änderungen an der Sprache und den APIs sind selten.
So wie TeX und seine Derivate ist Typst kein WYSIWYG-System, d. h. der Typst-Code muss zunächst in ein Anzeigeformat wie PDF kompiliert werden. Allerdings kompiliert Typst meist so schnell, dass die Ausgabe des Compilers während dem Tippen in Echtzeit angezeigt werden kann, anders als bei LaTeX, wo selbst einfache Dokumente mehrere Sekunden zum Kompilieren brauchen.
Neben dem Kompilieren von einfachem Text ist es mit Typst auch möglich, diesen zu formatieren und den Spiegelsatz anzupassen. Dabei existiert eine Unterscheidung zwischen Inhalt und dessen Formatierung. Beispielsweise definiert der Typst-Code Hallo, *Wikipedia*! lediglich den entsprechenden Textinhalt sowie die starke Hervorhebung des Worts Wikipedia. Wie der Text genau auf der Seite dargestellt wird, beispielsweise Position oder Schriftart, oder die Darstellung der starken Hervorhebung, beispielsweise deren Schriftstärke oder -schnitt, wird hier nicht definiert. Diese Aufgabe fällt Formatierungsausdrücken wie show strong: set text(weight: 900) zu. Dieser Ausdruck definiert beispielsweise eine Schriftstärke von 900 für stark hervorgehobenen Text.
Typst-Quellcode operiert in zwei grundlegend verschiedenen Modi, dem Code-Modus und dem Inhaltsmodus. Der standardmäßig aktive Inhaltsmodus erlaubt die Eingabe von Dokumentinhalt. Um zusätzliche Funktionalität aufzurufen, beispielsweise um die Formatierung zu verändern, ist der Wechsel in den Code-Modus erforderlich. Für einzelne Ausdrücke kann dies mit dem Sonderzeichen # geschehen, beispielsweise #underline([Unterstrichener Text]) oder #let five = 5. Um im Code-Modus wiederum Inhalt einzufügen, wird dieser in eckigen Klammern [] eingeschlossen. Diese Inhaltsblöcke (content) gehören zu den grundlegenden Datentypen in Typst, neben üblichen Datentypen wie Zeichenketten oder Zahlen.
Die allermeisten Funktionen von LaTeX sind in Typst in vergleichbarer Form zu finden. Dazu gehören auch z. B. Papierformatdefinitionen und die Verwaltung von Literaturverzeichnissen (mit BibTeX kompatibel). Typst verfügt so wie TeX über einen speziellen Mathematik-Eingabemodus (math mode), mit dem Formeln gesetzt werden können. Obwohl dieser Modus ebenfalls mit Dollarzeichen ($) begonnen wird, unterscheidet sich seine Syntax wesentlich von der TeX-Syntax:
| Typst | LaTeX | Ungefähres Ergebnis |
|---|---|---|
$a, b in { 1/2, sqrt(4 a b) }, (6 + 20)/(5) $ |
$a, b \in \left\{ \frac{1}{2}, \sqrt{4 a b} \right\}, \frac{6 + 20}{5}$ |
Die quelloffenen Erweiterungspakete erlauben, ähnlich wie bei LaTeX, die Nutzung diverser zusätzlicher Funktionalität. Es gibt beispielsweise Pakete zum Zeichnen von Grafiken und Diagrammen (vergleichbar mit PGF/TikZ), zum Erstellen von Präsentationsfolien, für ostasiatischen Schriftsatz, musikalische Noten, Pseudocode oder SI-Größen. Pakete können entweder aus einem lokalen Verzeichnis oder aus dem offiziellen Paketrepositorium, Typst Universe, eingebunden werden, aktuell (Version 0.15) allerdings nicht aus beliebigen Onlinequellen, wie z. B. alternativen Paketverzeichnissen.
Auf der linken Seite ist ein Beispiel als Quelltext dargestellt, das mit einem beliebigen Texteditor erstellt werden kann. Rechts ist die Ausgabe dieses Beispiels dargestellt.