In einem älteren Artikel hatte ich das Textsatzsystem LaTeX vorgestellt. Im Gegensatz zu Markdown ist LaTeX anspruchsvoller, bietet aber auch deutlich mehr Möglichkeiten, insbesondere was die Erstellung wissenschaftlicher Dokumente angeht. Darüber hinaus gibt es das — im Gegensatz zu LaTeX — modernere Satzsystem Typst. Es ist ähnlich mächtig wie LaTeX, aber einfacher in der Handhabung.
Installation von Typst
Es existieren mehrere Wege, um Typst auf den Rechner zu bringen. Ein Weg führt zu Github. Dort stehen Pakete für macOS, Linux und Windows zum Download bereit. Alternativ kann man einen Paketmanager für die Installation nutzen:
- Linux: Typst Snap
- macOS:
brew install typst - Windows:
winget install --id Typst.Typst
Falls auf Eurem System Rust installiert ist, kann auch cargo verwendet werden:
cargo install --locked typst-cliAnleitungen für die Installation von Rust findet ihr auf folgenden Internetseiten:
Grundlagen zu Typst
Für das Erstellen von Typst-Dokumenten kann ein belieber Editor verwendet werden. Einfacher ist das Arbeiten mit Typst, wenn eine Anwendung verwendet wird, die eine Syntax-Hervorhebung unterstützt. So gibt es beispielsweise für Sublime Text das Paket Typst.
Typst-Dateien haben die Endung „typ“. Das Erstellen einer PDF-Datei erfolgt im Terminal mit folgendem Befehl:
typst compile <Dateiname.typ>Es ist auch möglich, eine Typst-Datei zu überwachen, so dass nach einer Änderung am Typst-Dokument sofort die PDF-Datei aktualisiert wird.
typst watch Dateiname.typIn Sublime Text kann die PDF-Datei durch die Verwendung des integrierten Build-Systems aktualisiert werden, das über die Tastenkombination command + b (macOS) oder Strg + b (Linux, Windows) ausgeführt wird. Gegebenenfalls ist es erforderlich, zuvor dass zu verwendende Build-System einzustellen:
> Tools > Build System > TypstTypst-Syntax
Typst ist eine Auszeichnungssprache, bei der das Layout des Dokuments über eine Syntax gesteuert wird. Die vollständige Syntax würde den Rahmen dieses Artikels sprengen. Hier möchte ich nachfolgend nur die grundlegenden Funktionalität anhand eines einfachen Skripts zeigen, das Listen in Python erklärt.
Beginnen wir mit der Gliederung eines Dokuments. Dafür werden Gleichheitszeichen verwendet, wobei die Anzahl der Zeichen die Gliederungsebene bestimmt. Erstellt also eine neue Datei, die die Bezeichnung „Python-Listen.typ“ haben könnte und fügt folgenden Inhalt ein:
= Listen in Python
In Python können Daten in einer Liste zusammengefasst werden.
Dies ist sinnvoll, da man dadurch Ordnung in den Code bringt.
Bei einer Liste handelt es sich um eine #strong[Datenstruktur].
In anderen Programmiersprachen stehen dafür #emph[Arrays] zur
Verfügung. Sie sind aber weniger flexibel, da zu einer Liste
Elemente mit unterschiedlichen Datentypen hinzugefügt werden können.Durch das Gleichheitszeichen vor „Listen in Python“ wird die erste Gliederungsebene gekennzeichnet. Im Text wird durch die Verwendung von #strong das Wort „Datenstruktur“ fett dargestellt. Für die kursive Darstellung von „Arrays“ ist #emph zu verwenden.
| Darstellung | Syntax | Beispiel |
|---|---|---|
| Fett | strong | #strong[Text] |
| Kursiv | emph | #emph[Text] |
| Fett & Kursiv | Kombination aus strong und emph | #strong[#emph[Text]] |
Nach diesem kurzen Absatz folg ein Code-Beispiel. Wie auch bei Markdown üblich, werden für einen Code-Block drei Gravis-Akzente (```) (auch: Backtick oder Backquote) verwendet. Optional kann hinter den Akzenten die Programmiersprache genannt werden.
Nach dieser kurzen Einführung zu Listen könnte es mit einer Überschrift auf zweiter Gliederungsebene weitergehen, gefolgt von einer ungeordneten Liste:
== Unterschiede zu Arrays
Im Gegensatz zu Arrays haben Listen Vorteile:
- Verwendung unterschiedlicher Datentypen möglich
- Hinzufügen weiterer Elemente möglich
- Automatische SpeicherverwaltungIm PDF-Dokument würde dies wie folgt aussehen:
Anstelle eines Spiegelstrichs, wird für eine Aufzählung Pluszeichen verwendet:
+ Verwendung unterschiedlicher Datentypen möglich
+ Hinzufügen weiterer Elemente möglich
+ Automatische SpeicherverwaltungIm PDF-Dokument würde dies wie folgt aussehen:
Für das Hinzufügen einer URL wird #link()[] verwendet:
Weitere Informationen zu Listen findet ihr
#link("https://www.python-kurs.eu/python3_listen.php")[hier].Nun folgt eine weitere Überschrift, gefolgt von Lorem-ipsum-Text als Platzhalter.
== Methoden für die Datenmanipulation
#lorem(20)Fazit
Die in diesem Artikel vorgestellte Syntax liefert nur einen sehr kleinen Überblick über die Gestaltungsmöglichkeiten in Typst. Wenn ihr wissen möchtet, welche Möglichkeiten sonst noch bestehen, solltet ihr einen Blick in die Dokumentation zu Typst werfen. Ihr werdet feststellen, dass Typst deutlich mehr zu bieten hat als Markdown. Gleichzeitig ist es einfacher zu handhaben als LaTeX, so dass es eine gute Alternative sein könnte. Falls ihr aber bereits zahlreiche Vorlagen in LaTeX erstellt habt, mag es sinnvoller sein, bei LaTeX zu bleiben. Denn die Umstellung auf Typst und das Erstellen neuer Vorlagen nimmt Zeit in Anspruch. Diejenigen, für die das Thema Textsatzsystem neu ist, könnte Typst die bessere Wahl sein, da die Lernkurve nicht so steil ist wie bei LaTeX.


