Typst Universe, Editoren, CI/CD-Integration und Community-Ressourcen — alles für den produktiven Einsatz von Typst.
SerieTypst
Teil 5 von 6
In den vorherigen Artikeln dieser Serie ging es um die Grundlagen, praktische Anwendung und konkrete Projekte mit Typst. Zum Abschluss folgt ein Überblick über das Ökosystem: Wo findet man Dokumentation? Welche Tools machen produktiv? Wie sieht die Community aus – und wohin entwickelt sich Typst?
Dokumentation und Lernressourcen
Offizielle Dokumentation
Die offizielle Dokumentation unter typst.app/docs ist der beste Einstiegspunkt:
| Bereich | Inhalt | Empfehlung |
|---|---|---|
| Tutorial | Schritt-für-Schritt-Einführung | Für absolute Anfänger |
| Reference | Alle Funktionen mit Beispielen | Als Nachschlagewerk |
| Guides | Themenspezifische Anleitungen | Für konkrete Aufgaben |
Die Dokumentation ist durchsuchbar und enthält interaktive Beispiele, die direkt im Browser ausführbar sind.
Besonders nützlich:
- Syntax-Übersicht – alle Markup-Elemente auf einen Blick
- Math-Referenz – Formelsyntax mit LaTeX-Vergleich
- Styling-Guide – Show-Rules und Set-Rules erklärt
Community-Ressourcen
Neben der offiziellen Dokumentation gibt es wachsende Community-Inhalte:
Typst lernen (Kurs) Kostenloser deutschsprachiger Kurs mit Schritt-für-Schritt-Anleitungen: learn.casoon.dev/courses/typst-lernen
Awesome Typst Eine kuratierte Liste von Ressourcen, Templates und Tools: github.com/qjcg/awesome-typst
Typst Examples Book Sammlung von Code-Beispielen für häufige Anwendungsfälle: github.com/sitandr/typst-examples-book
Cheatsheets
- Typst Cheat Sheet – Syntax auf einer Seite
- LaTeX to Typst – Offizieller Migrations-Guide
Video-Tutorials
Auf YouTube finden sich zunehmend Tutorials:
- Offizielle Einführungsvideos auf dem Typst-Kanal
- Community-Tutorials zu spezifischen Themen (Templates, Wissenschaftliche Arbeiten)
Editoren und Integrationen
Web-Editor (typst.app)
Der offizielle Web-Editor unter typst.app bietet:
- Echtzeit-Preview: Änderungen sofort sichtbar
- Projekt-Verwaltung: Mehrere Dokumente organisieren
- Collaboration: Gemeinsam bearbeiten (wie Google Docs)
- Template-Galerie: Fertige Vorlagen zum Starten
- Export: PDF, PNG für einzelne Seiten
Kostenlose Version:
- Unbegrenzte öffentliche Projekte
- 3 private Projekte
- 500 MB Speicher
Pro-Version (ca. 8€/Monat):
- Unbegrenzte private Projekte
- 10 GB Speicher
- Prioritäts-Rendering
Für Einsteiger und kleinere Projekte reicht die kostenlose Version.
Visual Studio Code
Die beste lokale Entwicklungsumgebung. Zwei Extensions sind relevant:
Typst LSP (empfohlen)
- Syntax-Highlighting
- Auto-Completion
- Fehleranzeige in Echtzeit
- Go-to-Definition
- Hover-Dokumentation
Installation: ext install nvarner.typst-lsp
Typst Preview
- Live-Preview im Editor
- Synchronisiertes Scrollen
- Keine externe PDF-App nötig
Installation: ext install mgt19937.typst-preview
Empfohlene VS Code Settings:
{
"typst-lsp.exportPdf": "onSave",
"typst-lsp.experimentalFormatterMode": "on",
"[typst]": {
"editor.formatOnSave": true,
"editor.wordWrap": "on"
}
}
Weitere Editoren
| Editor | Support | Bemerkung |
|---|---|---|
| Neovim | LSP + TreeSitter | typst.vim Plugin, volle LSP-Unterstützung |
| Zed | Eingebaut | Native Unterstützung, sehr schnell |
| Sublime Text | Syntax-Paket | Grundlegende Highlighting |
| Emacs | typst-mode | Community-Paket |
| Helix | LSP | Über typst-lsp |
Für Vim/Neovim-Nutzer:
-- nvim-lspconfig
require('lspconfig').typst_lsp.setup{
settings = {
exportPdf = "onSave"
}
}
CLI-Tools
typst (Haupttool)
# Kompilieren
typst compile dokument.typ
# Watch-Modus
typst watch dokument.typ
# Mit Schriftpfad
typst compile --font-path ./fonts dokument.typ
# Andere Formate
typst compile dokument.typ output.png # PNG
typst compile dokument.typ output.svg # SVG
typstfmt (Formatter) Automatische Code-Formatierung:
cargo install typstfmt
typstfmt dokument.typ
typst-preview (Standalone) Live-Preview ohne Editor:
cargo install typst-preview
typst-preview dokument.typ
CI/CD-Integration
GitHub Actions
Typst lässt sich einfach in GitHub Workflows integrieren:
# .github/workflows/build-pdf.yml
name: Build PDF
on:
push:
branches: [main]
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Typst
uses: typst-community/setup-typst@v3
- name: Compile document
run: typst compile main.typ output.pdf
- name: Upload PDF
uses: actions/upload-artifact@v4
with:
name: document
path: output.pdf
Mit Caching für Fonts:
- name: Cache fonts
uses: actions/cache@v4
with:
path: ~/.cache/typst
key: typst-fonts-${{ hashFiles('fonts/**') }}
- name: Compile with custom fonts
run: typst compile --font-path ./fonts main.typ
GitLab CI
# .gitlab-ci.yml
build-pdf:
image: ghcr.io/typst/typst:latest
script:
- typst compile main.typ output.pdf
artifacts:
paths:
- output.pdf
Docker
Offizielles Docker-Image:
docker run -v $(pwd):/app ghcr.io/typst/typst:latest \
typst compile /app/main.typ /app/output.pdf
Für Build-Pipelines mit eigenen Fonts:
FROM ghcr.io/typst/typst:latest
COPY fonts/ /usr/share/fonts/
RUN fc-cache -fv
WORKDIR /app
ENTRYPOINT ["typst"]
Open-Source-Projekte
typst-business-templates (docgen)
Repository: github.com/casoon/typst-business-templates
Professionelle Geschäftsdokumente für Freelancer und kleine Unternehmen:
Für andere nützlich:
- Templates als Ausgangspunkt für eigene Designs
- JSON-Schema-Struktur für Dokumentenautomatisierung
- CLI-Architektur als Referenz für ähnliche Tools
- Multi-Language-Setup für internationale Projekte
Schnellstart:
brew install docgen # oder via Install-Script
docgen init my-business
cd my-business
docgen
renderreport
Repository: github.com/casoon/renderreport
Rust-Library für datengetriebene Reports mit Typst als eingebetteter Engine:
renderreport/
├── src/
│ ├── engine/ # Core Rendering
│ ├── components/ # ScoreCard, Finding, Table, etc.
│ ├── theme/ # Token-basiertes Theming
│ ├── pack/ # Template-Pack-System
│ └── render/ # Typst-Integration
├── templates/ # Eingebaute Templates
├── packs/ # Erweiterungspakete
└── examples/ # Nutzungsbeispiele
Für andere nützlich:
- Komponenten-Architektur für Report-Generierung
- Typst als Library einbinden (nicht CLI)
- Theme-Token-System für konsistentes Styling
- Pack-System für erweiterbare Templates
Nutzung:
use renderreport::prelude::*;
let engine = Engine::new()?;
let report = engine.report("default")
.title("Audit Report")
.add_component(ScoreCard::new("Score", 85))
.build();
let pdf = engine.render_pdf(&report)?;
Typst Universe: Package-Ökosystem
Das offizielle Package-Repository unter typst.app/universe wächst stetig:
Beliebte Packages
| Package | Beschreibung |
|---|---|
| tablex | Erweiterte Tabellen mit Merge, Styling |
| cetz | Zeichnungen und Diagramme (wie TikZ) |
| fletcher | Flowcharts und Diagramme |
| codly | Code-Highlighting mit Zeilennummern |
| showybox | Dekorative Boxen und Callouts |
| modern-cv | Lebenslauf-Template |
| charged-ieee | IEEE-Paper-Template |
| ilm | Wissenschaftliche Arbeiten |
Packages verwenden
// Import aus Universe
#import "@preview/tablex:0.0.8": tablex, rowspanx, colspanx
#tablex(
columns: 3,
rowspanx(2)[A], [B], [C],
(), [D], [E],
)
Das @preview-Prefix zeigt an, dass das Package aus dem Universe kommt. Nach der Stabilisierung wechselt es zu @std.
Eigene Packages veröffentlichen
- Repository auf GitHub erstellen
typst.tomlManifest hinzufügen:
[package]
name = "mein-package"
version = "0.1.0"
entrypoint = "lib.typ"
authors = ["Name <email>"]
license = "MIT"
description = "Kurze Beschreibung"
- Pull Request an typst/packages
Die Review-Zeit ist typischerweise kurz, die Community freundlich.
Community und Support
Offizielle Kanäle
- Discord: discord.gg/2uDybryKPe – Aktive Community, schnelle Hilfe
- GitHub Discussions: github.com/typst/typst/discussions – Feature-Requests, längere Diskussionen
- GitHub Issues: Bug-Reports und konkrete Probleme
Community-Charakter
Die Typst-Community ist bemerkenswert freundlich und hilfsbereit. Typisch für junge Projekte mit motivierten Early Adopters. Fragen werden schnell beantwortet, auch von den Kernentwicklern.
Beitragen
Typst ist Open Source (Apache-2.0). Beitragsmöglichkeiten:
- Bug-Reports: Probleme dokumentieren
- Feature-Requests: Ideen einbringen
- Packages: Eigene Erweiterungen veröffentlichen
- Templates: Vorlagen teilen
- Dokumentation: Übersetzungen, Tutorials
- Code: Rust-Kenntnisse für Core-Entwicklung
Das Projekt ist gut organisiert, Issues sind gelabelt, Contributing-Guidelines klar.
Zukunftsaussichten
Aktuelle Entwicklung
Typst entwickelt sich schnell. Wichtige Bereiche:
Stabilität:
- Das Dateiformat ist seit v0.11 stabil
- Breaking Changes werden vermieden
- Langzeit-Support für Dokumente
Features in Arbeit:
- HTML-Export (experimentell)
- Verbesserte Tabellen-Layouts
- Erweiterte Math-Unterstützung
- Accessibility (PDF/UA)
Ökosystem:
- Wachsende Package-Sammlung
- Mehr Editor-Integrationen
- Besseres Tooling (Formatter, Linter)
Trends im Textsatz
Typst ist Teil einer breiteren Bewegung:
- Weg von LaTeX-Komplexität: Markdown-ähnliche Syntax wird Standard
- Programmierbare Dokumente: Scripting eingebaut, nicht nachgerüstet
- Web-first: Browser-basierte Editoren, Echtzeit-Collaboration
- Developer Experience: Schnelle Feedback-Loops, gute Fehlermeldungen
Typst trifft den Zeitgeist: Modern genug für neue Projekte, mächtig genug für anspruchsvolle Anforderungen.
Realistische Einschätzung
Wo Typst bereits stark ist:
- Technische Dokumentation
- Interne Reports und Konzepte
- Neue Projekte ohne Legacy-Anforderungen
- Teams, die LaTeX vermeiden wollen
Wo LaTeX (noch) dominiert:
- Akademische Journals mit LaTeX-Pflicht
- Projekte mit spezialisierten LaTeX-Packages
- Bestehende Dokumente, die Migration nicht rechtfertigen
Die Koexistenz wird bleiben. Aber für neue Projekte ist Typst oft die bessere Wahl.
Rückblick auf die Serie
Diese Artikelserie hat Typst von den Grundlagen bis zur Praxis vorgestellt:
- Einführung: Warum Typst, Vergleich mit LaTeX
- Praxis-Einstieg: Installation, Syntax, erste Dokumente
- Professionelle Dokumente: Templates, Automatisierung, Datenintegration
- Praxisprojekte: docgen und renderreport im Einsatz
- Ökosystem: Tools, Ressourcen, Community (dieser Artikel)
Typst ist kein Spielzeug – es ist ein ernstzunehmendes Werkzeug für moderne Dokumentenerstellung. Die Kombination aus lesbarer Syntax, schneller Kompilierung und wachsendem Ökosystem macht es zur ersten Wahl für alle, die professionelle PDFs ohne LaTeX-Frustration erstellen wollen.
Der beste nächste Schritt: Ein kleines Projekt starten. Die Lernkurve ist flach, die Ergebnisse überzeugen.
Wichtige Links:
Offizielle Ressourcen:
Editoren:
Projekte aus dieser Serie:
Community: