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