#import "@preview/minimal-presentation:0.7.0": * #set text(font: "Noto Sans") #show math.equation: set text(font: "Noto Sans Math") #show raw: set text(font: "FiraCode Nerd Font", size: 1.5em) #show: project.with( title: "Typst", sub-title: "besseres LaTeX?", author: "jan", date: "07.10.2025", lang: "de", ) = Was ist Typst? == Meine Erfahrungen mit LaTeX basierend auf *einem* Projekt vor *11 Jahren* #columns-content()[ - unhandliche Syntax - kein Paketmanagement - diverse Abhänigkeiten - aber kein Management - nicht alles auf CTAN - hoffentlich schreibst du gerne Makefiles - verschiedene CLIs benötigt - 4-6 pdflatex Aufrufe nötig ][ ```latex \chapter{FabLab} \section{Untergruppen} \begin{itemize} \item Chaostreff \item Repair-Caf\'{e} \end{itemize} ``` ] == Geht's auch einfacher? #columns-content()[ - weniger überflüssige Syntax - viele Funktionen eingebaut - Paketmanagement ][ ```typ = FabLab == Untergruppen - Chaostreff - Repair-Cafe\u{301} ``` ] = Grundlagen == Syntax #columns-content()[ ```typ Einfache Formatierungen wie *fett* und _kursiv_ sind intuitiv. Je nach Sprache werden "Anführungszeichen" korrekt umgewandelt. Absätze werden durch eine Leerzeile getrennt. ``` ][ Einfache Formatierungen wie *fett* und _kursiv_ sind intuitiv. Je nach Sprache werden "Anführungszeichen" korrekt umgewandelt. Absätze werden durch eine Leerzeile getrennt. ] == Syntax #columns-content()[ ```typ Es gibt viele Möglichkeiten für Sonderzeichen: - e\u{301} - $bitcoin$ - #emoji.face - 🥳 Keine Angst vor UTF-8! ``` ][ Es gibt viele Möglichkeiten für Sonderzeichen: - e\u{301} - $bitcoin$ - #emoji.face - 🥳 Keine Angst vor UTF-8! ] == Formatierung #columns-content()[ ```typ #set rect( fill: gray, width: 100%, height: 100% ) #grid( columns: (1fr, 2fr), rows: (1fr, 3fr), gutter: 3pt, rect[Hello], rect[World], rect[from], rect[grids], ) ``` ][ #set rect( fill: gray, width: 100%, height: 100% ) #grid( columns: (1fr, 2fr), rows: (1fr, 3fr), gutter: 3pt, align: center, rect[Hello], rect[World], rect[from], rect[grids], ) ] == Inhaltsverzeichnis #sym.arrow outline.typ == Defaults überschreiben #columns-content()[ ```typ #show "foo": "bar" foo #set text(blue) #show regex("\w+\?"): set text(red) Was steht auf deinem Handtuch? Keine Panik! ``` ][ #[ #show "foo": "bar" foo #set text(blue) #show regex("\w+\?"): set text(red) Was steht auf deinem Handtuch? Keine Panik! ] ] == Code #columns-content()[ ```typ #let antwort = 7 * 6 Die Antwort ist #antwort. #table( columns: 5, ..for i in range(10) { ([#i],) } ) #{ [Code Block] } ``` ][ #let antwort = 7 * 6 Die Antwort ist #antwort. #table( columns: 5, ..for i in range(10) { ([#i],) } ) #{ [Code Block] } ] == Daten einlesen #columns-content(colwidths: (70%, auto))[ ```typ #let rows = csv("data.csv", row-type: dictionary) #rows.len() Zeilen eingelesen. #table( columns: 2, align: right, ..for (Jahr, E-Mails) in rows.slice(0,5) { (Jahr, E-Mails) } ) ``` ][ #let rows = csv("data.csv", row-type: dictionary) #rows.len() Zeilen eingelesen. #table( columns: 2, align: right, ..for (Jahr, E-Mails) in rows.slice(0,5) { (Jahr, E-Mails) } ) ] = Pakete == Wo findet man Pakete? Offizielles Repo: https://typst.app/universe/ Abhängigkeiten werden im Dokument definiert: ```typ #import "@preview/minimal-presentation:0.7.0": * ``` == Diagramme #columns-content(colwidths: (2fr, 1fr))[ ```typ #import "@preview/lilaq:0.5.0" #let rows = csv("data.csv", row-type: dictionary) #let x = rows.map(it => int(it.Jahr)) #let y = rows.map(it => int(it.E-Mails)) #lilaq.diagram( xlabel: "Jahr", ylabel: "E-Mails", width: 100%, height: 70%, lilaq.bar( x, y, ) ) ``` ][ #import "@preview/lilaq:0.5.0" #let rows = csv("data.csv", row-type: dictionary) #let x = rows.map(it => int(it.Jahr)) #let y = rows.map(it => int(it.E-Mails)) #lilaq.diagram( xlabel: "Jahr", ylabel: "E-Mails", width: 100%, height: 70%, lilaq.bar( x, y, ) ) ] == Präsentationen ```typ #import "@preview/minimal-presentation:0.7.0": * #show: project.with( title: "Typst", sub-title: "besseres LaTeX?", author: "jan", date: "07.10.2025", lang: "de", ) = Was ist Typst? == Meine Erfahrungen mit LaTeX ``` == Protokolle #sym.arrow protocol.typ