Von der Installation bis zum ersten PDF: Syntax-Grundlagen, Editor-Setup und die besten Tools für den produktiven Einstieg in Typst.
SerieTypst
Teil 2 von 6
Im ersten Teil dieser Serie ging es um das Warum: Warum Typst eine interessante Alternative zu LaTeX ist, welche Probleme es löst und für wen es geeignet ist. Jetzt wird es praktisch. In diesem Artikel richten wir Typst ein, lernen die Basis-Syntax kennen und erstellen das erste Dokument.
Installation: Web App oder CLI?
Typst bietet zwei Wege zum Einstieg – beide haben ihre Berechtigung.
Option 1: Die Web App (schnellster Start)
Unter typst.app läuft eine vollständige Online-Umgebung. Kein Download, keine Installation, sofort loslegen. Die Web App bietet:
- Live-Preview: Änderungen werden in Echtzeit gerendert
- Projekt-Verwaltung: Mehrere Dokumente organisieren
- Collaboration: Gemeinsam an Dokumenten arbeiten (ähnlich Google Docs)
- Template-Galerie: Fertige Vorlagen zum Starten
Für erste Experimente und kleinere Projekte ist die Web App ideal. Sie läuft im Browser, synchronisiert automatisch und erfordert null Setup.
Einschränkung: Die kostenlose Version hat Limits bei der Anzahl der Projekte. Für professionelle Nutzung gibt es kostenpflichtige Pläne.
Option 2: Das CLI (volle Kontrolle)
Für lokale Arbeit, Versionskontrolle mit Git und Integration in Build-Pipelines ist das Command Line Interface die bessere Wahl.
Installation auf macOS (Homebrew):
brew install typst
Installation auf Linux:
# Arch Linux
pacman -S typst
# Ubuntu/Debian (via Cargo)
cargo install --git https://github.com/typst/typst --locked typst-cli
Installation auf Windows:
# Via Scoop
scoop install typst
# Via Winget
winget install --id Typst.Typst
Nach der Installation steht der typst-Befehl zur Verfügung:
# Version prüfen
typst --version
# Dokument kompilieren
typst compile dokument.typ
# Watch-Modus (automatische Neukompilierung bei Änderungen)
typst watch dokument.typ
Der Watch-Modus ist Gold wert: Man editiert die .typ-Datei, und das PDF aktualisiert sich automatisch. Mit einem PDF-Viewer, der Dateien automatisch neu lädt (wie Skim auf macOS oder Zathura auf Linux), hat man einen Echtzeit-Preview.
Die Basis-Syntax: Markup, das Sinn ergibt
Typst-Dokumente sind Textdateien mit der Endung .typ. Die Syntax fühlt sich wie eine Mischung aus Markdown und einer sauberen Programmiersprache an.
Überschriften
Statt LaTeX-Kommandos nutzt Typst das Gleichheitszeichen:
= Hauptüberschrift (Level 1)
== Unterüberschrift (Level 2)
=== Noch eine Ebene (Level 3)
Das entspricht in LaTeX:
\section{Hauptüberschrift}
\subsection{Unterüberschrift}
\subsubsection{Noch eine Ebene}
Der Unterschied in der Lesbarkeit ist offensichtlich.
Textformatierung
Dies ist *fetter Text* und dies ist _kursiver Text_.
Man kann auch *_beides kombinieren_* oder `Code inline` setzen.
Ein #strike[durchgestrichener] Text und ein #underline[unterstrichener].
Die Sternchen und Unterstriche kennt man von Markdown. Für erweiterte Formatierungen wie Durchstreichen nutzt Typst Funktionen mit der #-Syntax.
Listen
Ungeordnete Liste:
- Erster Punkt
- Zweiter Punkt
- Unterpunkt (eingerückt)
- Noch ein Unterpunkt
- Dritter Punkt
Geordnete Liste:
+ Erstens
+ Zweitens
+ Drittens
Typst nummeriert automatisch. Verschachtelung funktioniert durch Einrückung.
Tabellen
Tabellen sind in Typst überraschend einfach:
#table(
columns: 3,
[*Name*], [*Alter*], [*Stadt*],
[Anna], [28], [Berlin],
[Max], [34], [München],
[Lisa], [22], [Hamburg],
)
Das erzeugt eine saubere Tabelle mit Header-Zeile. Die eckigen Klammern [...] markieren Zelleninhalte, Sternchen machen den Header fett.
Für mehr Kontrolle gibt es Parameter:
#table(
columns: (1fr, auto, auto),
align: (left, center, right),
stroke: 0.5pt,
inset: 8pt,
[*Name*], [*Alter*], [*Stadt*],
[Anna], [28], [Berlin],
[Max], [34], [München],
)
Mathematische Formeln
Formeln werden mit Dollarzeichen eingeleitet – wie bei LaTeX, aber mit sauberer Syntax:
Inline-Formel:
Die Formel $a^2 + b^2 = c^2$ kennt jeder.
Display-Formel (zentriert, eigene Zeile):
Die Euler-Identität ist bemerkenswert:
$ e^(i pi) + 1 = 0 $
Komplexere Formeln:
$ integral_0^infinity e^(-x^2) dif x = sqrt(pi) / 2 $
$ sum_(n=0)^infinity 1/n! = e $
Die Syntax ist näher an natürlicher Mathematik als LaTeX: sqrt(pi) statt \sqrt{\pi}, integral statt \int. Klammern gruppieren, keine geschweiften Klammern nötig.
Links und Referenzen
Ein #link("https://typst.app")[Link zur Typst-Website].
Siehe auch @einleitung für mehr Details.
= Einleitung <einleitung>
Dieser Abschnitt hat ein Label.
Labels werden mit spitzen Klammern definiert, Referenzen mit @. Typst kümmert sich automatisch um die Nummerierung.
Erstes komplettes Dokument
Genug Theorie – hier ein vollständiges Beispiel:
#set document(
title: "Mein erstes Typst-Dokument",
author: "Max Mustermann",
)
#set page(
paper: "a4",
margin: 2cm,
)
#set text(
font: "Linux Libertine",
size: 11pt,
)
= Einleitung
Dies ist mein erstes Dokument in Typst. Die Syntax ist überraschend
einfach und das Ergebnis sieht professionell aus.
== Warum Typst?
Es gibt mehrere Gründe für Typst:
- Schnelle Kompilierung
- Lesbare Syntax
- Modernes Tooling
== Eine Formel
Die quadratische Formel lautet:
$ x = (-b plus.minus sqrt(b^2 - 4 a c)) / (2 a) $
== Eine Tabelle
#table(
columns: 2,
[*Feature*], [*Unterstützt*],
[Formeln], [Ja],
[Tabellen], [Ja],
[Bilder], [Ja],
[Referenzen], [Ja],
)
= Fazit
Typst macht Spaß. Mehr dazu im nächsten Kapitel.
Speichern als dokument.typ, dann:
typst compile dokument.typ
Das erzeugt dokument.pdf – ein sauber gesetztes A4-Dokument mit korrekter Typografie.
Unterschiede zu LaTeX im Überblick
Wer von LaTeX kommt, muss einige Gewohnheiten ablegen. Hier die wichtigsten Unterschiede:
| Aufgabe | LaTeX | Typst |
|---|---|---|
| Dokumentklasse | \documentclass{article} | #set page(...) |
| Überschrift | \section{Titel} | = Titel |
| Fett | \textbf{text} | *text* |
| Kursiv | \textit{text} | _text_ |
| Aufzählung | \begin{itemize}...\end{itemize} | - Punkt |
| Nummerierung | \begin{enumerate}...\end{enumerate} | + Punkt |
| Formel (inline) | $...$ | $...$ |
| Formel (display) | \[...\] oder $$...$$ | $ ... $ (mit Leerzeichen) |
| Wurzel | \sqrt{x} | sqrt(x) |
| Bruch | \frac{a}{b} | a/b oder frac(a,b) |
| Package laden | \usepackage{...} | #import "@preview/...": ... |
| Kommentar | % Kommentar | // Kommentar |
Der größte Unterschied: Typst braucht keine Präambel. Man kann sofort mit dem Inhalt beginnen. Einstellungen wie Seitenformat oder Schriftart setzt man mit #set-Regeln, die überall im Dokument stehen können.
Tools und Editoren
Visual Studio Code
Die beste lokale Entwicklungsumgebung für Typst ist VS Code mit der offiziellen Extension:
- Extension “Typst LSP” installieren (von Nathan Varner)
- Optional: “Typst Preview” für Live-Vorschau im Editor
Features:
- Syntax-Highlighting
- Auto-Completion
- Fehleranzeige in Echtzeit
- Sprung zu Definitionen
- Formatierung
Empfohlene settings.json:
{
"typst-lsp.exportPdf": "onSave",
"typst-lsp.rootPath": null
}
Damit wird bei jedem Speichern automatisch ein PDF erzeugt.
Neovim
Für Neovim-Nutzer gibt es typst.vim und LSP-Support über nvim-lspconfig:
require('lspconfig').typst_lsp.setup{}
Mit typst watch im Terminal und einem PDF-Viewer wie Zathura hat man einen schlanken, schnellen Workflow.
Zed
Der neue Editor Zed hat eingebauten Typst-Support – Syntax-Highlighting und LSP funktionieren out of the box.
Web App Features
Die Typst Web App unter typst.app bietet zusätzlich:
- Templates: Fertige Vorlagen für Briefe, Paper, Präsentationen
- Collaboration: Mehrere Personen gleichzeitig am Dokument
- History: Versionsverlauf ohne Git
- Export: PDF, PNG (für einzelne Seiten)
Für Teams ohne technischen Hintergrund ist die Web App oft der pragmatischste Weg.
Tipps für den produktiven Start
1. Klein anfangen
Nicht gleich das 200-Seiten-Buch migrieren. Erst mit einem kurzen Dokument die Syntax verinnerlichen.
2. Die Dokumentation nutzen
Die offizielle Dokumentation unter typst.app/docs ist exzellent. Besonders hilfreich:
- Tutorial: Schritt-für-Schritt-Einführung
- Reference: Alle Funktionen mit Beispielen
- Guides: Spezifische Themen wie Tabellen, Bibliografien, Templates
3. Watch-Modus aktivieren
typst watch dokument.typ
Die sofortige Rückmeldung beschleunigt das Lernen enorm.
4. Fehler lesen
Typst-Fehlermeldungen sind verständlich geschrieben. Sie zeigen die genaue Zeile und erklären, was falsch ist – ein Luxus im Vergleich zu LaTeX.
5. Templates erkunden
Die Typst Universe enthält Community-Templates und Packages. Statt alles selbst zu bauen, lohnt sich ein Blick auf existierende Lösungen.
Nächste Schritte
Mit diesem Wissen lassen sich bereits produktive Dokumente erstellen. Im nächsten Teil der Serie geht es um Templates und Styling: Wie erstellt man wiederverwendbare Vorlagen? Wie setzt man ein Corporate Design um? Und wie strukturiert man größere Projekte mit mehreren Dateien?
Ressourcen:
- Typst Web App
- Typst Dokumentation
- VS Code Extension
- Typst Universe (Templates & Packages)
- GitHub Repository
Wann Typst die richtige Wahl ist
- Bei Dokument-Generierung aus Daten: Markdown reicht oft nicht.
- Bei wissenschaftlichen Texten: LaTeX-Alternative mit modernerer Syntax.
- Bei Berichten/Rechnungen aus Templates: Programmatische Generation.
Wann LaTeX bleibt
- Bei akademischer Publikation: LaTeX ist Standard, Reviewer erwarten es.
- Bei sehr komplexen Layouts: LaTeX hat 30+ Jahre Bibliotheken.
- Bei strikten Conference-Vorgaben: Templates oft LaTeX-only.
Wann Word/Pages reichen
- Bei einmaligen Dokumenten: Setup-Aufwand für Typst nicht gerechtfertigt.
- Bei Co-Editing mit Nicht-Tech-Personen: Word/Google Docs einfacher.
- Bei Standard-Geschäftsdokumenten ohne Custom-Layout.
Realistische Lernkurve
- Mit Markdown-Erfahrung: 1–3 Tage produktiv.
- Mit LaTeX-Erfahrung: 1 Tag.
- Custom-Templates entwickeln: 1–2 Wochen Aufwand.