typst-workshop/chapters/formatting.typ

71 lines
2.4 KiB
Typst

#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
]