Add files
This commit is contained in:
277
talk.typ
Normal file
277
talk.typ
Normal file
@@ -0,0 +1,277 @@
|
||||
#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
|
Reference in New Issue
Block a user