Add first version of workshop slides
9
chapters/about-me.typ
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
|
||||||
|
#slide(title: "Über mich")[
|
||||||
|
- B.#(sym.space.nobreak.narrow)Eng. Julius Freudenberger
|
||||||
|
- 2000 geboren
|
||||||
|
- 2016 erste Kontakte mit #LaTeX
|
||||||
|
- 2019 -- 2023 Bachelorstudium an der Hochschule Esslingen
|
||||||
|
- 2023 -- 2026(?) Masterstudium an der Hochschule Karlsruhe
|
||||||
|
]
|
||||||
41
chapters/closing.typ
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
|
||||||
|
= Ausblick
|
||||||
|
|
||||||
|
#slide(title: [Was kann typst noch?])[
|
||||||
|
- Präsentationen mit #link("https://typst.app/universe/package/polylux")[polylux] oder #link("https://typst.app/universe/package/touying")[touying]
|
||||||
|
|
||||||
|
- Zeichnen mit #link("https://typst.app/universe/package/cetz")[cetz]
|
||||||
|
- Plotting mit #link("https://typst.app/universe/package/lilaq")[lilaq]
|
||||||
|
- Chemische Formeln mit #link("https://typst.app/universe/package/alchemist")[alchemist]
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Nächste Projekte für typst?])[
|
||||||
|
- Wissenschaftliches Dokumentieren
|
||||||
|
|
||||||
|
- Praxissemesterbericht
|
||||||
|
- Hausarbeiten
|
||||||
|
#v(1em)
|
||||||
|
- (Thesis)
|
||||||
|
#v(2em)
|
||||||
|
- Bewerbungsunterlagen
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Bewerbungsunterlagen])[
|
||||||
|
#columns(2)[
|
||||||
|
- Lebenslauf mit #link("https://typst.app/universe/package/moderner-cv")[moderner-cv]
|
||||||
|
#image(height: 90%, "/images/moderner-cv.png")
|
||||||
|
|
||||||
|
#colbreak()
|
||||||
|
- Anschreiben mit #link("https://typst.app/universe/package/briefs")[briefs]
|
||||||
|
#image(height: 90%, "/images/briefs.png")
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Wohin bei Problemen?])[
|
||||||
|
- #link("https://typst.app/docs")[typst Dokumentation]
|
||||||
|
- bzw.~Dokumentation des jeweiligen Pakets
|
||||||
|
|
||||||
|
- Suchmaschine des Vertrauens
|
||||||
|
- #link("https://forum.typst.app")[typst-Forum]
|
||||||
|
]
|
||||||
24
chapters/external-files.typ
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
|
||||||
|
= Externe Dateien
|
||||||
|
|
||||||
|
#slide(title: [Externe Dateien einbinden --- SVG und PDF])[
|
||||||
|
- `#image` akzeptiert die Vektorformate `svg` und `pdf` nativ
|
||||||
|
- Nutzung entweder als Bild (z.#(sym.space.nobreak.narrow)B. mit `#figure`)
|
||||||
|
- oder um PDF--Dateien als ganze Seiten einzufügen (z.#(sym.space.nobreak.narrow)B. externe Dokumente im Anhang)
|
||||||
|
```typ
|
||||||
|
#page(margin: 0pt, image("filename.pdf", page: 1))
|
||||||
|
|
||||||
|
// mehrere Seiten
|
||||||
|
#page(margin: 0pt, for n in range(1, N + 1) { image("file.pdf", page: n) })
|
||||||
|
```
|
||||||
|
- aktuell kann typst nicht erkennen, wie viele Seiten eine PDF hat
|
||||||
|
- deshalb `N` mit der Anzahl an einzubindender Seiten ersetzen
|
||||||
|
- Eintrag im Inhaltsverzeichnis
|
||||||
|
```typ
|
||||||
|
#{
|
||||||
|
show heading: none
|
||||||
|
heading[Eingebettete PDF]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
]
|
||||||
71
chapters/formatting.typ
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
|
||||||
|
= Dokumentformatierung
|
||||||
|
|
||||||
|
#slide(title: "Formatierungsoptionen")[
|
||||||
|
- Papierformat
|
||||||
|
- wird im Parameter `paper` in der Funktion `#page()` gesetzt
|
||||||
|
- `#set page(paper: "a4")` (Standard)
|
||||||
|
- `#set page(paper: "a5")`
|
||||||
|
- `#set page(paper: "us-letter")`
|
||||||
|
- Seitenränder
|
||||||
|
- wird im Paramter `margin` in der Funktion `#page()` gesetzt
|
||||||
|
- Standard: $frac(2.5,21)*$kleinere Kante der Seite
|
||||||
|
- A4: 2,5~cm
|
||||||
|
- `#set page(margin: 4pt)` gleicher Rand auf allen Seiten
|
||||||
|
- `#set page(margin: (x: 8pt, y: 4pt))` horizontale und vertikale Ränder
|
||||||
|
- `top, right, bottom, left` Ränder an den jeweiligen Seiten
|
||||||
|
- `inside, outside` Ränder innen und außen (bei Büchern)
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Querformat")[
|
||||||
|
- Gesamtes Dokument im Querformat
|
||||||
|
```
|
||||||
|
#set page(flipped: true)
|
||||||
|
```
|
||||||
|
|
||||||
|
- Einzelne Seiten im Querformat (nützlich für große Tabellen oder breite Abbildungen)
|
||||||
|
```
|
||||||
|
#page(flipped: true)[
|
||||||
|
Inhalt
|
||||||
|
]```
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Kopf- und Fußzeile")[
|
||||||
|
- `#set page(header: [Kopfzeile], footer: [Fußzeile])`
|
||||||
|
- Inhalt wird standardmäßig wie gewohnt linksbündig gesetzt
|
||||||
|
- immer rechts mit `#align(right)[Inhalt]`
|
||||||
|
- mehrere Spalten
|
||||||
|
```
|
||||||
|
#set page(footer: [#grid(columns: (1fr, 1fr, 1fr), align(left)[Linker Inhalt], align(center)[Mittlerer Inhalt], align(right)[Rechter Inhalt])])
|
||||||
|
```
|
||||||
|
- wenn Seitenzahl angezeigt werden soll `context` nutzen
|
||||||
|
```
|
||||||
|
#set page(footer: context [#grid(columns: (1fr, 1fr, 1fr), align(left)[Linker Inhalt], align(center)[Mittlerer Inhalt], align(right)[#counter(page).display("1")])])
|
||||||
|
```
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#slide(title: "Fußzeile in Büchern")[
|
||||||
|
- `inner` und `outer` nicht nativ vorgesehen
|
||||||
|
- Paket #link("https://typst.app/universe/package/chic-hdr/")[chic-hdr] nicht auf aktuelle typst Version angepasst
|
||||||
|
- daher selbst gebastelte Lösung
|
||||||
|
#raw(lang: "typ", read("/codebeispiele/book-footer.typ"))
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Kopfzeile mit Überschriften")[
|
||||||
|
- Paket #link("https://typst.app/universe/package/hydra")[hydra] ermöglicht Anzeigen der aktuellen Überschriften
|
||||||
|
```
|
||||||
|
#set page(header: context {
|
||||||
|
[#grid(columns: (1fr, 1fr),
|
||||||
|
align(left, emph(hydra(1))),
|
||||||
|
align(right, emph(hydra(2))
|
||||||
|
))]
|
||||||
|
if hydra(1) != none {
|
||||||
|
line(length: 100%, stroke: 0.5pt, start: (0%, -.8em))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
```
|
||||||
|
- Dieser Header ist ähnlich zum Style `scrheadings` von `scrlayer-scrpage` in #LaTeX
|
||||||
|
]
|
||||||
27
chapters/graphics-floats.typ
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
|
||||||
|
= Abbildungen und Gleitobjekte
|
||||||
|
|
||||||
|
#slide(title: [Abbildungen und Graphiken])[
|
||||||
|
- Einbinden mit `#image("/path/to/file")` (mit Dateiendung)
|
||||||
|
- Dateipfad mit `/` am Anfang: vom Projektverzeichnis aus
|
||||||
|
- ohne `/`: vom Verzeichnis der aktuellen Datei aus
|
||||||
|
- folgende Formate sind möglich: `png`, `jpg`, `gif`, `svg`, `pdf`, `webp`
|
||||||
|
#v(1em)
|
||||||
|
- Höhe und Breite optionale Parameter
|
||||||
|
- Standard ist `auto`, das Bild wird an den zur Verfügung stehenden Platz angepasst
|
||||||
|
- kann auch relativ angegeben werden
|
||||||
|
- `#image("/path/to/file", width: 80%)`
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Graphiken als Gleitobjekt])[
|
||||||
|
#show-code-render("image-float.typ")
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Gleitobjekte])[
|
||||||
|
- können für Graphiken, Tabellen, Codelistings, etc. verwendet werden
|
||||||
|
- immer mit `#figure()` eingeleitet
|
||||||
|
- der `body` ist dann unterschiedlich
|
||||||
|
- automatische Positionierung im Text
|
||||||
|
- Platzierungsalgorithmus nicht ganz so gut wie in #LaTeX
|
||||||
|
]
|
||||||
17
chapters/introduction.typ
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
|
||||||
|
#slide(title: "Wer seid ihr?")[
|
||||||
|
- Name
|
||||||
|
- Fakultät? Was macht ihr da?
|
||||||
|
- Schon von typst gehört oder etwas damit gemacht?
|
||||||
|
- Schon #LaTeX genutzt?
|
||||||
|
- Nächste (wissenschaftliche) Arbeit, die du vielleicht mit typst schreiben möchtest?
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Materialien für den Kurs")[
|
||||||
|
- Dieser Foliensatz
|
||||||
|
- Kleine Vorlagen zum Mitmachen
|
||||||
|
- Dokumente, die wir im Laufe des Kurses erstellen
|
||||||
|
#v(1em)
|
||||||
|
- wird alles im geteilten Ordner hochgeladen
|
||||||
|
]
|
||||||
67
chapters/listings.typ
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
|
||||||
|
== Codelistings
|
||||||
|
|
||||||
|
#slide(title: [Codelistings])[
|
||||||
|
- Abdrucken von Codezeilen
|
||||||
|
- einfaches Syntaxhighlighting
|
||||||
|
- nativ unterstützt
|
||||||
|
- Paket #link("https://typst.app/universe/package/codly")[codly] für mehr Anpassungsmöglichkeiten und Zeilennummern
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Native Codelistings])[
|
||||||
|
#show-code-render("native-listings.typ")
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Einbinden von Beispielen aus externen Dateien])[
|
||||||
|
- `lang` _muss_ explizit gesetzt werden, auch wenn die Dateiendung Teil des Pfades ist
|
||||||
|
```typ
|
||||||
|
#raw(read("/path/to/file"), lang: "<language>", block: true)
|
||||||
|
```
|
||||||
|
- `#read()` ließt Inhalt der Datei ein
|
||||||
|
- `#raw()` für Listingdarstellung
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Plugin codly])[
|
||||||
|
- #link("https://typst.app/universe/package/codly")[codly] bietet viele weitergehende Features
|
||||||
|
- Einrückung
|
||||||
|
- Zeilennummern
|
||||||
|
- Zebrastreifen
|
||||||
|
- Einrichtung:
|
||||||
|
```typ
|
||||||
|
#import "@preview/codly:1.3.0": *
|
||||||
|
#import "@preview/codly-languages:0.1.1": *
|
||||||
|
#show: codly-init.with()
|
||||||
|
#codly(languages: codly-languages)
|
||||||
|
```
|
||||||
|
|
||||||
|
- danach werden Codeblöcke automatisch durch codly formatiert
|
||||||
|
- tiefgehende #link("https://raw.githubusercontent.com/Dherse/codly/main/docs.pdf")[Dokumentation]
|
||||||
|
]
|
||||||
|
|
||||||
|
#codly-enable()
|
||||||
|
|
||||||
|
#slide(title: [codly -- Beispiel])[
|
||||||
|
```java
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println("Hello Cyberweek");
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
- codly ist stark konfigurierbar
|
||||||
|
- jedes Verhalten und Feature kann deaktiviert oder angepasst werden
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [codly -- In `figure`])[
|
||||||
|
#show-code-render("codly-figure.typ")
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [codly -- Highlights])[
|
||||||
|
#show-code-render("codly-highlights.typ")
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [codly -- Highlights referenzieren])[
|
||||||
|
#show-code-render("codly-highlights-reference.typ")
|
||||||
|
]
|
||||||
|
|
||||||
|
#codly-disable()
|
||||||
110
chapters/listofs.typ
Normal file
|
|
@ -0,0 +1,110 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
|
||||||
|
== Weitere Verzeichnisse
|
||||||
|
|
||||||
|
#slide(title: "Weitere Verzeichnisse")[
|
||||||
|
- automatisch aktualisierendes Inhaltsverzeichnis sowie Verzeichnisse für
|
||||||
|
- Abbildungen (`kind: image`)
|
||||||
|
- Codelistings (`kind: raw`)
|
||||||
|
- (Glossar (Paket #link("https://typst.app/universe/package/glossarium")[glossarium])
|
||||||
|
- Abkürzungen (entweder auch glossarium oder Paket #link("https://typst.app/universe/package/acrostiche")[acrostiche])
|
||||||
|
- ...)
|
||||||
|
- alles mit der Funktion `#outline()`
|
||||||
|
- Ausnahme: Literaturverzeichnis
|
||||||
|
|
||||||
|
```typ
|
||||||
|
#outline()
|
||||||
|
|
||||||
|
#outline(target: figure.where(kind: image))
|
||||||
|
```
|
||||||
|
]
|
||||||
|
|
||||||
|
= Literatureinbindung
|
||||||
|
|
||||||
|
#slide(title: "Literaturverzeichnis")[
|
||||||
|
- Erstellen/Generieren von Literaturdateien
|
||||||
|
- `.bib`, häufig Bib#(TeX)--Format genannt
|
||||||
|
- `.yaml`, das typst--eigene Hayagriva--Format
|
||||||
|
- Hinzufügen von Literaturdateien (`.bib` oder `.yaml`)
|
||||||
|
- Zitieren von Literatur im Text `@citekey` oder `#cite(<citekey>)`
|
||||||
|
- Literaturverzeichnis (`#bibliography("file")`)
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Literaturdatei")[
|
||||||
|
- Jeder Eintrag hat einen eindeutigen Key, unter dem er im Text referenziert wird
|
||||||
|
- Literatur kann durch verschiedene Typen kategorisiert werden, u.a.
|
||||||
|
- article
|
||||||
|
- book
|
||||||
|
- inproceedings
|
||||||
|
- online
|
||||||
|
- thesis
|
||||||
|
- ...
|
||||||
|
- Jeder Literatureintrag hat verschiedene Attribute
|
||||||
|
- Titel
|
||||||
|
- Autor:innen
|
||||||
|
- Jahr
|
||||||
|
- ...
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Literaturdatei -- Formate")[
|
||||||
|
- typst unterstützt neben dem gängigen Bib#(TeX)--Format auch das eigene Hayagriva--Format, das die YAML--Syntax nutzt
|
||||||
|
- Hayagriva ist eine Eigenentwicklung vom typst--Team
|
||||||
|
- von Literaturverwaltungen nicht sonderlich unterstützt
|
||||||
|
- von Verlagen selten angeboten
|
||||||
|
- hat aber interessante Ideen
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Literaturdatei -- Formate")[
|
||||||
|
#columns(2)[
|
||||||
|
#raw(lang: "bib", read("/codebeispiele/bib-file.bib"))
|
||||||
|
#colbreak()
|
||||||
|
#raw(lang: "yaml", read("/codebeispiele/hayagriva-file.yaml"))
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Quellen für Literaturdateien")[
|
||||||
|
- Literatursuchmaschinen
|
||||||
|
#only("1")[#align(center, image(width: 80%, "/images/boss.png"))]
|
||||||
|
#only("2")[#align(center, image(width: 65%, "/images/blb.png"))]
|
||||||
|
#only("3-")[- Verlage]
|
||||||
|
#only("4")[#align(center, image(width: 50%, "/images/springer.png"))]
|
||||||
|
#only("5")[#align(center, image(width: 75%, "/images/pearson.png"))]
|
||||||
|
]
|
||||||
|
|
||||||
|
== Exkurs: Literaturverwaltung
|
||||||
|
|
||||||
|
#slide(title: "Exkurs: Literaturverwaltung")[
|
||||||
|
#only("1")[#align(center, image(width: 90%, "/images/bibliothek.png"))]
|
||||||
|
#only("2-")[
|
||||||
|
- Verschiedene Programme zur Literaturverwaltung verfügbar
|
||||||
|
- #link("https://zotero.org/")[Zotero] (Open--Source, Crossplattform)
|
||||||
|
- #link("https://lumivero.com/products/citavi/")[Citavi] (Keine Hochschullizenz mehr in Baden-Württemberg)
|
||||||
|
- #link("https://www.mendeley.com")[Mendeley]
|
||||||
|
- bieten Integrationen in WYSIWYG--Editoren
|
||||||
|
- können auch nach Bib#(TeX) exportieren
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Exkurs: Literaturverwaltung -- Zotero")[
|
||||||
|
- guter automatischer Export mit #link("https://retorque.re/zotero-better-bibtex/")[Better Bib#(TeX) for Zotero]
|
||||||
|
- generiert automatisch Bib#(TeX) mit allen Literatureinträgen einer Sammlung
|
||||||
|
- hält Datei bei Änderungen oder neu hinzugefügten Dateien aktuell
|
||||||
|
#v(1em)
|
||||||
|
- einfach neue Literatur in Zotero einfügen mit #link("https://www.zotero.org/download/connectors")[Zotero Connector]
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Literatur -- Meine Empfehlungen")[
|
||||||
|
- Verschiedene Literaturarten (Bücher, Paper, Thesen, Webseiten) in verschiedenen Untersammlungen verwalten
|
||||||
|
- pro Untersammlung ein automatischer Bib#(LaTeX)--Export
|
||||||
|
- Bib#(TeX)--Dateien in einen eigenen Unterordner
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Einbinden der Literatur in das Dokument und Zitieren")[
|
||||||
|
#raw(lang: "typ", read("/codebeispiele/bibliography.typ"))
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Zitieren und Erscheinen im Literaturverzeichnis")[
|
||||||
|
- Standardmäßig wird nur Literatur im Literaturverzeichnis ausgegeben, die auch im Text zitiert wurde
|
||||||
|
- `#cite(<citekey>, form: none)` fügt ein unzitiertes Werk ins Literaturverzeichnis ein
|
||||||
|
- `#bibliography("file", full: true)` zeigt alle Werke im Literaturverzeichnis an
|
||||||
|
]
|
||||||
38
chapters/math.typ
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
|
||||||
|
== Mathematik
|
||||||
|
|
||||||
|
#slide(title: "Mathematik")[
|
||||||
|
- typst nutzt eine andere Mathematiksyntax als #LaTeX
|
||||||
|
- Exponenten und Indizes gleich
|
||||||
|
- Symbole, Klammern und Funktionen werden anders gesetzt
|
||||||
|
- es gibt aber ein Kompatibilitätsplugin: #link("https://typst.app/universe/package/mitex")[mitex]
|
||||||
|
- Mathemodus wird immer mit `$` begonnen und beendet
|
||||||
|
- wird als Block gesetzt, wenn die Formel mit einem Leerzeichen beginnt und endet
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Mathematik -- inline])[
|
||||||
|
- setzt die Gleichung in eine Fließtext ein
|
||||||
|
- keine Referenzierung
|
||||||
|
#show-code-render("math-inline.typ")
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Mathematik -- block])[
|
||||||
|
- setzt die Gleichung als Block mit Absätzen
|
||||||
|
- Leerzeichen oder Zeilenumbruch nach erstem `$` und vor letzem `$`
|
||||||
|
- standardmäßig keine Referenzierung
|
||||||
|
#show-code-render("math-block.typ")
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Mathematik -- Gleichung])[
|
||||||
|
- Um Gleichungen referenzieren zu können, müssen diese nummeriert sein
|
||||||
|
- Nummerierung entweder pro Gleichung aktivieren
|
||||||
|
#show-code-render("math-numbered.typ")
|
||||||
|
- oder global aktivieren
|
||||||
|
`#set math.equation(numbering: "(1)")`
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Mathematik -- Zeichen])[
|
||||||
|
#show-code-render("math-symbols.typ")
|
||||||
|
#align(center)[Die Größe der Klammern wird automatisch angepasst.]
|
||||||
|
]
|
||||||
22
chapters/own-changes.typ
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
|
||||||
|
= Direkt ausprobieren und mitmachen
|
||||||
|
|
||||||
|
#slide(title: "Projekt kompilieren")[
|
||||||
|
- Im Projektverzeichnis `typst compile file.typ`
|
||||||
|
|
||||||
|
- oder inkrementell `typst watch file.typ`
|
||||||
|
- in Typesetter Vorschau aktivieren
|
||||||
|
- mit Docker
|
||||||
|
- Outputfile `file.pdf` als PDF-Datei im gleichen Verzeichnis
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Erste eigene Änderungen")[
|
||||||
|
- Eigener Text, Absätze
|
||||||
|
- Textformatierung: *fett* und _kursiv_ mit `*fett*` und `_kursiv_`
|
||||||
|
- Eigene Abschnitte mit Überschriften (`=`, `==`)
|
||||||
|
- Metadaten ändern
|
||||||
|
- Titel des Dokuments ändern mit `title:`
|
||||||
|
- Eigener Name als Autor mit `author:`
|
||||||
|
- Anzeigen des Titels mit `#title()`
|
||||||
|
]
|
||||||
44
chapters/tables.typ
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
|
||||||
|
= Tabellen
|
||||||
|
|
||||||
|
#slide(title: [Setzen von Tabellen])[
|
||||||
|
- Tabellen werden mithilfe der Funktion `#table` gesetzt
|
||||||
|
- Jede Tabellenzeile ist ein eigener Inhaltsblock
|
||||||
|
- kann dementsprechend formatiert werden
|
||||||
|
- Anzahl der Spalten wird als Parameter festgelegt
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Beispieltabelle])[
|
||||||
|
#show-code-render("example-table.typ")
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Spaltenbreite])[
|
||||||
|
- `auto`: Standard und versucht bestmögliche Verteilung
|
||||||
|
- absolute Längen
|
||||||
|
- Verhältnis der Gesamttabelle in `%`
|
||||||
|
- Anteil an verfügbarem Platz
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Spaltenbreite --- Verhältnis der Gesamttabelle])[
|
||||||
|
- Spalten können so maximal 100 % der Tabellenbreite einnehmen
|
||||||
|
- Durch `gutter` können aber weitere Abstände hinzukommen
|
||||||
|
- Tabelle nimmt mehr als 100 % ihres Platzes ein
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Spaltenbreite --- Anteil an verfügbarem Platz])[
|
||||||
|
- Summe aller Werte mit Einheit `fr`
|
||||||
|
- Verteilt all diese Spalten entsprechend des Verhältnisses
|
||||||
|
#show-code-render("table-fr.typ")
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Alternierende Zeilenfarbe])[
|
||||||
|
#show-code-render("table-alternate-row-color.typ")
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: [Tabelle über mehrere Seiten])[
|
||||||
|
- `block`, der Tabelle umschließt muss `breakable` gemacht werden
|
||||||
|
```
|
||||||
|
#show figure: set block(breakable: true)
|
||||||
|
```
|
||||||
|
]
|
||||||
31
chapters/typst-code.typ
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
|
||||||
|
#slide(title: "Wie sieht typst Code aus?")[
|
||||||
|
#raw(lang: "typ", read("/codebeispiele/beispiel.typ"))
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Grundlegender Aufbau")[
|
||||||
|
- Keine Präambel wie in #LaTeX
|
||||||
|
|
||||||
|
- Einstellungen für das gesamte Dokument und eingebundene Pakete trotzdem am Anfang des Dokuments
|
||||||
|
- Einstellungen können später im Dokument geändert werden
|
||||||
|
- Einstellungen können auch lokal überschrieben werden
|
||||||
|
- Zusätzliche Pakete
|
||||||
|
- Preview von vielen Paketen, die von der Community entwickelt werden
|
||||||
|
- werden im Repository gehostet und bei Bedarf heruntergeladen
|
||||||
|
- keine Distributionen wie bei #LaTeX
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Modi")[
|
||||||
|
- typst kennt drei Modi
|
||||||
|
- Markupmodus
|
||||||
|
- Mathemodus
|
||||||
|
- Programmiermodus
|
||||||
|
- Schreibmodus ist der normale Modus
|
||||||
|
- Text wird gesetzt
|
||||||
|
- aus Programmiermodus als Inhaltsblock `[]`
|
||||||
|
- Mathemodus ermöglicht das Setzen von Formeln
|
||||||
|
- eingeleitet mit `$`
|
||||||
|
- Programmiermodus für Konfiguration oder eigene Funktionalität
|
||||||
|
- eingeleitet mit `#`
|
||||||
|
]
|
||||||
18
chapters/what-is-needed.typ
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
|
||||||
|
#slide(title: "Bevor wir beginnen: Was brauche ich?")[
|
||||||
|
- typst Installation
|
||||||
|
- Windows: https://typst.app/open-source/#download
|
||||||
|
- Mac: Homebrew `typst`
|
||||||
|
- Linux: Installation über den Paketmanager
|
||||||
|
- deb: nicht paketiert, rpm: `copr/claaj/typst`
|
||||||
|
- Arch Linux: `typst`
|
||||||
|
- NixOS: `nixpkgs.typst`
|
||||||
|
- Docker: `ghcr.io/typst/typst`
|
||||||
|
- Texteditor
|
||||||
|
- #link("https://code.visualstudio.com/")[VSCode] mit #link("https://marketplace.visualstudio.com/items?itemName=myriad-dreamin.tinymist")[Tinymist], #link("https://neovim.io/")[neovim] mit #link("https://github.com/Myriad-Dreamin/tinymist/blob/main/editors/neovim/README.md")[Tinymist]
|
||||||
|
- #link("https://typesetter.trowell.net/")[Typesetter]
|
||||||
|
- Online-Editoren
|
||||||
|
- #link("https://typst.app/")[Online-Editor], Registrierung erforderlich
|
||||||
|
- #link("https://typst.app/play/")[Playground]
|
||||||
|
]
|
||||||
35
chapters/what-is-typst.typ
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
|
||||||
|
= typst -- die Theorie
|
||||||
|
|
||||||
|
#slide(title: "Was ist typst?")[
|
||||||
|
- Textsatzsystem
|
||||||
|
- moderne Entwicklung als Konkurrenz zu #LaTeX
|
||||||
|
- Preview Dezember 2022 gestartet
|
||||||
|
- seit März 2023 Open Source
|
||||||
|
- viele Entwicklungen
|
||||||
|
- Noch nicht komplett stabil -- es gibt Änderungen in neuen Versionen, die manchmal nicht abwärtskompatibel sind
|
||||||
|
#v(1em)
|
||||||
|
- setzt vorgegebenen Text und weitere Anweisungen automatisch und versucht dabei bestmögliches Layout
|
||||||
|
- hat einfacherere Programmiermöglichkeiten als #LaTeX
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Warum typst?")[
|
||||||
|
#columns(2)[
|
||||||
|
=== Warum typst?
|
||||||
|
- Automatisch Textsatz, Referenzen, Layout
|
||||||
|
- Keine große Layoutarbeit am Ende
|
||||||
|
- Kein Ruinieren des Dokuments beim Verschieben eines Bildes
|
||||||
|
- Das Dokument "sieht einfach schön aus"
|
||||||
|
#v(1em)
|
||||||
|
- Als Bibliothek in Softwareprogrammen einsetzbar
|
||||||
|
- inkrementelles Kompilieren, ohne doppelte Durchläufe
|
||||||
|
#colbreak()
|
||||||
|
=== Warum (noch) kein typst?
|
||||||
|
- Neue Versionen nicht komplett abwärtskompatibel
|
||||||
|
- Vorlagen für #LaTeX vorgegeben
|
||||||
|
- Unbekannter
|
||||||
|
]
|
||||||
|
#v(1em)
|
||||||
|
#align(center)[Mit typst ist das Layouten von Arbeiten deutlich einfacher.]
|
||||||
|
]
|
||||||
51
chapters/writing-text.typ
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
|
||||||
|
= Text, Inhalt und Struktur
|
||||||
|
|
||||||
|
#slide(title: "Funktionen")[
|
||||||
|
- ermöglichen besondere Formatierung oder lokales Überschreiben von Einstellungen
|
||||||
|
- werden mit `#` eingeleitet
|
||||||
|
- im Programmiermodus können weitere Funktionen ohne `#` begonnen werden
|
||||||
|
- Parameter können positioniert oder benannt sein
|
||||||
|
- Inhalt wird nach den Parametern in `[]` angegeben
|
||||||
|
- besteht der Inhalt aus einem weiteren Funktionsaufruf, kann dieser auch als Argument übergeben werden
|
||||||
|
#show-code-render("functions.typ")
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Anführungszeichen")[
|
||||||
|
- Werden je nach ausgewählter Sprache richtig gesetzt
|
||||||
|
#show-code-render("quotations.typ")
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Wichtige besondere Zeichen")[
|
||||||
|
#table(
|
||||||
|
columns: (auto, auto, auto),
|
||||||
|
align: center,
|
||||||
|
[Schrägstrich], [\\], [`\\`],
|
||||||
|
[geschütztes Leerzeichen (ohne Zeilenumbruch)], [~], [\~],
|
||||||
|
[schmales geschütztes Leerzeichen], [z.#(sym.space.nobreak.narrow)B.], [`z.#(sym.space.nobreak.narrow)B.`],
|
||||||
|
[Tilde], [\~], [`\~`],
|
||||||
|
[Gedankenstrich (Halbgeviertstrich)], [--], [`--`],
|
||||||
|
[Geviertstrich], [---], [`---`],
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
|
== Verweise
|
||||||
|
|
||||||
|
#slide(title: [Verweise -- Was wollen wir?])[
|
||||||
|
- Referenzieren von Abbildungen, Tabellen, Codezeilen, etc.
|
||||||
|
- automatische Nummerierung
|
||||||
|
- kein manuelles Nummerieren, Aktualisieren und Überprüfen
|
||||||
|
- automatische Verzeichnisse
|
||||||
|
- anklickbarer Link
|
||||||
|
]
|
||||||
|
|
||||||
|
#slide(title: "Verweise")[
|
||||||
|
- Label setzen: `<labelname>`
|
||||||
|
- Referenzieren: `@labelname`
|
||||||
|
- Typ des referenzierten Objekts wird in der Textsprache mitgenannt (Abbildung, Gleichung, ...)
|
||||||
|
- Seite referenzieren: `#ref(<labelname>, form: "page")`
|
||||||
|
- Referenz nutzt immer aktuellste Abschnittnummer bzw. Seitenzahl – ohne weiteren Aufwand
|
||||||
|
- Daten sind immer aktuell, keine doppelten Kompilierungsdurchläufe notwendig
|
||||||
|
- Verweis ist ein Link, der direkt auf das referenzierte Objekt führt
|
||||||
|
]
|
||||||
17
codebeispiele/beispiel.typ
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
#import "@preview/unify:0.7.1": * // Einfügen von Paketen
|
||||||
|
#set page("a4") // Papierformat
|
||||||
|
#set document( // Dokumenteninformationen
|
||||||
|
title: [Dokumententitel]
|
||||||
|
)
|
||||||
|
#set text(lang: "de") // Sprache des Dokuments
|
||||||
|
#show link: set text(blue) // Formatierung (hier: Links in blau)
|
||||||
|
|
||||||
|
#title() // Dokumententitel
|
||||||
|
= Überschrift // Anzahl der = gibt Ebene der Überschrift an
|
||||||
|
== Unterüberschrift
|
||||||
|
|
||||||
|
#outline() // Inhaltsverzeichnis
|
||||||
|
|
||||||
|
Beispielhafter Text
|
||||||
|
- Aufzählung 1 // Aufzählung mit - begonnen
|
||||||
|
- Aufzählung 2 // Einrückung mit 2 Leerzeichen
|
||||||
14
codebeispiele/bib-file.bib
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
@book{kochbuch,
|
||||||
|
title = {Mathematik für das Ingenieurstudium},
|
||||||
|
author = {Koch, Jürgen},
|
||||||
|
editor = {Stämpfle, Martin},
|
||||||
|
address = {München},
|
||||||
|
publisher = {Hanser},
|
||||||
|
year = {2018},
|
||||||
|
edition = {4., aktualisierte Auflage},
|
||||||
|
isbn = {9783446451667},
|
||||||
|
doi = {10.3139/9783446455818},
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{...
|
||||||
|
|
||||||
16
codebeispiele/bibliography.typ
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
// Im Dokument
|
||||||
|
@citation-key
|
||||||
|
// oder
|
||||||
|
#cite(<citation-key>)
|
||||||
|
// für die Einbindung innerhalb des Satzes
|
||||||
|
#cite(<citation-key>, form: "prose")
|
||||||
|
// nur Autor:in
|
||||||
|
#cite(<citation-key>, form: "author")
|
||||||
|
|
||||||
|
// Stelle, an der Literaturverzeichnis erscheinen soll
|
||||||
|
#bibliography(
|
||||||
|
("bib/books.bib",
|
||||||
|
"bib/theses.bib",)
|
||||||
|
title: "Literaturverzeichnis", // Standardübersetzung Bibliografie
|
||||||
|
style: "ieee"
|
||||||
|
)
|
||||||
11
codebeispiele/book-footer.typ
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
#set page(footer: context {
|
||||||
|
let page-num = counter(page).get().first()
|
||||||
|
let inner-text = [Innerer Text]
|
||||||
|
let middle-text = [Mittlerer Text]
|
||||||
|
let outer-text = [#page-num]
|
||||||
|
if calc.even(page-num) {
|
||||||
|
grid(columns: (1fr, 1fr, 1fr), align(left, inner-text), align(center, middle-text), align(right, outer-text))
|
||||||
|
} else {
|
||||||
|
grid(columns: (1fr, 1fr, 1fr), align(left, outer-text), align(center, middle-text), align(right, inner-text))
|
||||||
|
}})
|
||||||
|
|
||||||
12
codebeispiele/book-header.typ
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
#set page(footer: context {
|
||||||
|
let page-num = counter(page).get().first()
|
||||||
|
let inner-text = [Innerer Text]
|
||||||
|
let middle-text = [Mittlerer Text]
|
||||||
|
let outer-text = [#page-num]
|
||||||
|
if calc.even(page-num) {
|
||||||
|
grid(columns: (1fr, 1fr, 1fr), align(left, inner-text), align(center, middle-text), align(right, outer-text))
|
||||||
|
} else {
|
||||||
|
grid(columns: (1fr, 1fr, 1fr), align(left, outer-text), align(center, middle-text), align(right, inner-text))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
11
codebeispiele/codly-figure.typ
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
#figure(
|
||||||
|
caption: [Beispielcode in Java]
|
||||||
|
)[
|
||||||
|
```java
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println("Hello Cyberweek");
|
||||||
|
}
|
||||||
|
```
|
||||||
|
]<code:example-java>
|
||||||
|
|
||||||
|
In @code:example-java ist ein wichtiger Codeausschnitt zu sehen.
|
||||||
4
codebeispiele/codly-highlights-reference.typ
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
In @code:codly-highlights wird die alte Syntax verwendet.
|
||||||
|
Für kleine Projekte kann die `main`-Funktion ohne Parameter und ohne Modifier angegeben werden. Aus @code:codly-highlights:psvm wird dann ```java main() {```.
|
||||||
|
|
||||||
|
Außerdem ist nun auch der Aufruf ohne das ```java System.out.``` möglich, wie in @code:codly-highlights:sout dargestellt.
|
||||||
13
codebeispiele/codly-highlights.typ
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
|
||||||
|
#figure(caption: [Highlights in codly])[
|
||||||
|
#codly(highlights: (
|
||||||
|
(line: 1, fill: blue, label: <code:codly-highlights:psvm>),
|
||||||
|
(line: 2, start: 3, end: 13, fill: red, label: <code:codly-highlights:sout>),
|
||||||
|
))
|
||||||
|
```java
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println("Hello Cyberweek");
|
||||||
|
}
|
||||||
|
```
|
||||||
|
]<code:codly-highlights>
|
||||||
7
codebeispiele/example-table.typ
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
#table(
|
||||||
|
columns: 3,
|
||||||
|
align: (left, center, right),
|
||||||
|
table.header[*Tabellenkopf*][*für*][*Barrierefreiheit*],
|
||||||
|
[Hallo],[Beispiel],[Ende],
|
||||||
|
[Dies],[ist],[Zeile 2]
|
||||||
|
)
|
||||||
3
codebeispiele/functions.typ
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#align(center)[Zentrierter Text]
|
||||||
|
|
||||||
|
#text(lang: "en")[english text]
|
||||||
16
codebeispiele/hayagriva-file.yaml
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
kochbuch:
|
||||||
|
type: book
|
||||||
|
title: Mathematik für das Ingenieurstudium
|
||||||
|
author: Koch, Jürgen
|
||||||
|
date: 2018
|
||||||
|
editor: Stämpfle, Martin
|
||||||
|
publisher:
|
||||||
|
name: Hanser
|
||||||
|
location: München
|
||||||
|
edition: 4., aktualisierte Auflage
|
||||||
|
serial-number:
|
||||||
|
doi: 10.3139/9783446455818
|
||||||
|
isbn: '9783446451667'
|
||||||
|
artikel:
|
||||||
|
type: article
|
||||||
|
...
|
||||||
11
codebeispiele/image-float.typ
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
#figure(
|
||||||
|
image(
|
||||||
|
"/images/katze.jpg",
|
||||||
|
width: 80%
|
||||||
|
),
|
||||||
|
caption: [
|
||||||
|
Eine Katze
|
||||||
|
],
|
||||||
|
)<img:katze>
|
||||||
|
|
||||||
|
@img:katze zeigt eine Katze.
|
||||||
3
codebeispiele/math-block.typ
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
In diesem Absatz geht es um ein wichtiges Thema.
|
||||||
|
Nun folgt eine Gleichung:
|
||||||
|
$ f(x)=x^2 $
|
||||||
1
codebeispiele/math-inline.typ
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Hier ist nun ein Fließtext, in den ich eine Gleichung $f(x)=x^2$ setzen möchte.
|
||||||
4
codebeispiele/math-numbered.typ
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
In diesem Absatz geht es um ein wichtiges Thema.
|
||||||
|
Nun folgt eine Gleichung:
|
||||||
|
#math.equation(block: true, numbering: "(1)")[$f(x)=x^2$]<eq:example-block>
|
||||||
|
In @eq:example-block steht eine wichtige Gleichung.
|
||||||
11
codebeispiele/math-symbols.typ
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
$
|
||||||
|
f(x)=x^2 \
|
||||||
|
f_(x y)(x)=x^(2-y) \
|
||||||
|
pi approx 3.14 \
|
||||||
|
2 dot 4 <= 8 \
|
||||||
|
1 < 2 > 1, 2 != 3 \
|
||||||
|
1 lt 2 gt 1, 2 eq.not 3, 4 lt.eq 8 \
|
||||||
|
(f^(-1)_x) \
|
||||||
|
frac(2,4) + frac(1, frac(5,17)) \
|
||||||
|
sqrt(16) = 4, root(4, 64) = 2
|
||||||
|
$
|
||||||
14
codebeispiele/native-listings.typ
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
`Text in Monospacefont`
|
||||||
|
|
||||||
|
Javacode im ```java public static``` Fließtext
|
||||||
|
|
||||||
|
```java
|
||||||
|
public static void main() {
|
||||||
|
println("Hallo Cyberweek");
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#raw("def main():
|
||||||
|
print(\"Hallo Cyberweek\")",
|
||||||
|
block: true,
|
||||||
|
lang: "python")
|
||||||
5
codebeispiele/quotations.typ
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
#text(lang: "de")["Beispieltext"]
|
||||||
|
|
||||||
|
#text(lang: "fr")["texte exemple"]
|
||||||
|
|
||||||
|
#text(lang: "en")["example text"]
|
||||||
7
codebeispiele/table-alternate-row-color.typ
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
#table(
|
||||||
|
columns: 3,
|
||||||
|
fill: (x, y) => if calc.odd(y) { green.lighten(80%) },
|
||||||
|
table.header[*Tabellenkopf*][*für*][*Barrierefreiheit*],
|
||||||
|
[Hallo],[Beispiel],[Ende],
|
||||||
|
[Dies],[ist],[Zeile 2]
|
||||||
|
)
|
||||||
6
codebeispiele/table-fr.typ
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
#table(
|
||||||
|
columns: (2fr, 1fr, 2fr),
|
||||||
|
table.header[*Tabellenkopf*][*für*][*Barrierefreiheit*],
|
||||||
|
[Hallo],[Beispiel],[Ende],
|
||||||
|
[Dies],[ist],[Zeile 2]
|
||||||
|
)
|
||||||
15
globals.typ
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
#import "@preview/touying:0.6.1": *
|
||||||
|
#import themes.metropolis: *
|
||||||
|
|
||||||
|
#import "@preview/codly:1.3.0": *
|
||||||
|
#import "@preview/codly-languages:0.1.1": *
|
||||||
|
|
||||||
|
#import "@preview/metalogo:1.2.0": LaTeX, TeX
|
||||||
|
|
||||||
|
#let show-code-render(path) = {
|
||||||
|
columns(2)[
|
||||||
|
#include "/codebeispiele/" + path
|
||||||
|
#colbreak()
|
||||||
|
#raw(lang: "typ", read("/codebeispiele/" + path).replace("#import \"/globals.typ\": *\n\n", ""))
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
images/bibliothek.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
images/blb.png
Normal file
|
After Width: | Height: | Size: 190 KiB |
BIN
images/boss.png
Normal file
|
After Width: | Height: | Size: 191 KiB |
BIN
images/briefs.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
images/katze.jpg
Normal file
|
After Width: | Height: | Size: 247 KiB |
BIN
images/moderner-cv.png
Normal file
|
After Width: | Height: | Size: 396 KiB |
BIN
images/pearson.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
images/springer.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
73
workshop.typ
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
#import "/globals.typ": *
|
||||||
|
#import "@preview/codly:1.3.0": *
|
||||||
|
#import "@preview/codly-languages:0.1.1": *
|
||||||
|
|
||||||
|
#set text(
|
||||||
|
lang: "de",
|
||||||
|
font: "Fira Sans",
|
||||||
|
)
|
||||||
|
#show link: set text(blue)
|
||||||
|
#set list(marker:([•], [◦], [--]))
|
||||||
|
|
||||||
|
#set table(stroke: (x, y) => (
|
||||||
|
left: if x > 0 { 0.8pt },
|
||||||
|
top: if y > 0 { 0.8pt },
|
||||||
|
))
|
||||||
|
#set raw(lang: "typ")
|
||||||
|
#show: codly-init.with()
|
||||||
|
#codly(languages: codly-languages)
|
||||||
|
#codly-disable()
|
||||||
|
|
||||||
|
#show outline.entry: it => link(
|
||||||
|
it.element.location(),
|
||||||
|
it.indented(it.prefix(), text(black, it.body())),
|
||||||
|
)
|
||||||
|
|
||||||
|
#show: metropolis-theme.with(
|
||||||
|
aspect-ratio: "16-9",
|
||||||
|
footer-right: [],
|
||||||
|
config-info(
|
||||||
|
title: [WYSIWYAF with typst],
|
||||||
|
subtitle: [Einstieg in wissenschaftliche Arbeiten mit typst],
|
||||||
|
author: [Julius Freudenberger],
|
||||||
|
date: [Cyberweek Wintersemester 2025/2026],
|
||||||
|
institution: [Hochschule Esslingen],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
#title-slide()
|
||||||
|
|
||||||
|
#include "chapters/what-is-needed.typ"
|
||||||
|
|
||||||
|
#include "chapters/about-me.typ"
|
||||||
|
|
||||||
|
#include "chapters/introduction.typ"
|
||||||
|
|
||||||
|
= Inhalt <touying:hidden>
|
||||||
|
#outline(title: none, depth: 2)
|
||||||
|
|
||||||
|
#include "chapters/what-is-typst.typ"
|
||||||
|
|
||||||
|
#include "chapters/typst-code.typ"
|
||||||
|
|
||||||
|
#include "chapters/own-changes.typ"
|
||||||
|
|
||||||
|
#include "chapters/writing-text.typ"
|
||||||
|
|
||||||
|
#include "chapters/math.typ"
|
||||||
|
|
||||||
|
#include "chapters/tables.typ"
|
||||||
|
|
||||||
|
#include "chapters/graphics-floats.typ"
|
||||||
|
|
||||||
|
#include "chapters/listings.typ"
|
||||||
|
|
||||||
|
#include "chapters/listofs.typ"
|
||||||
|
|
||||||
|
#include "chapters/formatting.typ"
|
||||||
|
|
||||||
|
#include "chapters/external-files.typ"
|
||||||
|
|
||||||
|
#include "chapters/closing.typ"
|
||||||
|
|
||||||
|
#title-slide()
|
||||||