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