# Quarkdown: Tipps & Tricks aus der Praxis

> Teil 11 und Finale der Quarkdown-Reihe: die kleinen Kniffe — Leerzeilen-Regel, Verkettung, kompakte Fußnoten, lebende Code-Blöcke, rechnende CSV-Tabellen, Text-Symbole und eigene Mini-Bibliotheken.

Source: https://www.jpkc.com/db/blog/quarkdown-tipps-tricks/

Zum Abschluss der Reihe sammle ich die Kniffe, die in den vorherigen zehn Teilen nur am Rand vorkamen — die kleinen Dinge, die den Alltag mit Quarkdown spürbar leichter machen. Nach dem [Blick in die Pipeline](https://www.jpkc.com/db/blog/quarkdown-inside-pipeline/) wird es noch einmal praktisch und kompakt.

## Die Leerzeile ist heilig

Der mit Abstand häufigste Stolperstein, deshalb zuerst: Stack-Funktionen wie `.row` trennen Elemente am **Block** — und Blöcke entstehen durch **Leerzeilen**. `A`, `B`, `C` ohne Leerzeilen dazwischen sind *ein* Absatz und ergeben *eine* Spalte. Immer eine Leerzeile zwischen die Items setzen. (Mehr dazu in [Teil 4](https://www.jpkc.com/db/blog/quarkdown-layout/).)

## Lesbarkeit: Verkettung und Zeilenfortsetzung

Verschachtelte Aufrufe werden mit `::` von innen-nach-außen zu links-nach-rechts — `.pow {3} {2}::subtract {1}::sum {2}` liest sich wie Mathematik. Und wenn ein Aufruf viele Argumente hat, bricht ein Backslash am Zeilenende die Argumentliste sauber um:

```markdown
.container alignment:{center} \
           background:{red} \
           padding:{1px}
```

## Funktionsaufrufe mitten im Wort

Ein Aufruf direkt an einem Wortzeichen wird normal nicht erkannt. Wickelst du ihn in geschweifte Klammern, darf er überall stehen — die Klammern verschwinden im Output:

```markdown
H{.text {2} script:{sub}}O
```

## Kompakte Fußnoten

Statt Referenz und Definition zu trennen, kannst du eine Fußnote direkt an Ort und Stelle definieren:

```markdown
… und vieles mehr[^: Alle Markdown-Features werden unterstützt].
```

## Lebende Code-Blöcke

Die `.code`-Funktion ist der dynamische Bruder des Triple-Backtick-Blocks: Sie wertet ihren Body als Quarkdown aus. In Kombination mit `.read` lädst du einen Schnipsel aus der **echten** Quelldatei — der Block bleibt damit automatisch synchron mit dem Code, den er zeigt:

```markdown
.code lang:{typescript} focus:{5..8}
    .read {assets/point.ts}
```

`focus:{5..8}` hebt einen Zeilenbereich hervor, `linenumbers:{no}` schaltet die Nummerierung ab. Für Inline-Code mit Funktionsauswertung gibt es analog `.codespan`.

## Rechnende CSV-Tabellen

`.csv` mit `mode:{markdown}` interpretiert Zellinhalte als Inline-Quarkdown — so rechnen Tabellen beim Kompilieren selbst und bleiben mit der Datenquelle synchron (siehe [Teil 5](https://www.jpkc.com/db/blog/quarkdown-daten-diagramme/)). Ein unterschätzter Hebel für Reports, die sich mit den Daten aktualisieren.

## Text-Symbole geschenkt

Quarkdown ersetzt gängige Symbole automatisch in Fließtext (nicht in Code/Math/URLs): `--` wird —, `->` wird →, `>=` wird ≥, `!=` wird ≠, `(C)` wird ©, `(TM)` wird ™, und gerade Anführungszeichen werden zu typografischen. Soll ein Zeichen *nicht* ersetzt werden, stellst du einen Backslash voran: `\->`.

## Kleine Helfer: Collapse und Icons

`.collapse {Titel}` erzeugt einen aufklappbaren Block — ideal für FAQ-artige Details oder lange Beispiele; `open:{yes}` startet ihn geöffnet. Und `.icon {github}` setzt ein pixelgenaues [Bootstrap-Icon](https://icons.getbootstrap.com/#icons) mitten in den Text.

## Dekorative Überschriften

Eine Überschrift mit `!` (also `##!` statt `##`) wird **nicht** nummeriert und **nicht** ins Inhaltsverzeichnis aufgenommen — praktisch für Zwischentitel in Layout-Blöcken, die nicht in die Gliederung gehören.

## Eigene Mini-Bibliothek

Wiederkehrende Funktionen musst du nicht in jedes Dokument kopieren. Lege sie in eine eigene `.qd`-Datei und binde sie per `.include {name}` (ohne Endung) ein — genau wie die eingebaute `paper`-Bibliothek aus [Teil 6](https://www.jpkc.com/db/blog/quarkdown-wissenschaftliches-schreiben/). So entsteht aus deinen Bausteinen eine wiederverwendbare Stilbibliothek.

## Und immer: `--strict`

Im Normalbetrieb rendert Quarkdown Fehler als Boxen ins Dokument — praktisch beim Schreiben, gefährlich in der Produktion. In jedem automatisierten Build gehört darum `--strict` dazu, damit ein Fehler den Build hart abbrechen lässt statt still durchzurutschen.

## FAQ

### Was ist der eine Tipp, den ich mir merken sollte?

Die Leerzeile. Gefühlt neun von zehn „Warum sieht das falsch aus?"-Momenten in Quarkdown gehen darauf zurück, dass zwischen zwei Blöcken die trennende Leerzeile fehlt.

### Wie organisiere ich ein größeres Projekt?

Setup und Inhalt trennen (`.include {setup.qd}`), wiederkehrende Komponenten in eine eigene Bibliotheks-`.qd` auslagern und für Wissensbasen mit [Subdocuments](https://quarkdown.com/wiki/subdocuments) arbeiten. So bleibt auch ein großes Dokument wartbar.

### Wo finde ich alle Funktionen?

In der [Standardbibliothek](https://quarkdown.com/docs/) — sie listet jede Funktion mit Signatur, Parametern und Rückgabetyp. Für konzeptionelle Erklärungen ist die [Wiki](https://quarkdown.com/wiki) die richtige Anlaufstelle.

## Die Reihe im Überblick

Damit ist die Reihe komplett. Sie führt vom [Einstieg](https://www.jpkc.com/db/blog/quarkdown-einstieg/) über [Skripting](https://www.jpkc.com/db/blog/quarkdown-funktionen-skripting/), [Dokumenttypen & Themes](https://www.jpkc.com/db/blog/quarkdown-dokumenttypen-themes/), [Layout](https://www.jpkc.com/db/blog/quarkdown-layout/), [Daten & Diagramme](https://www.jpkc.com/db/blog/quarkdown-daten-diagramme/), [wissenschaftliches Schreiben](https://www.jpkc.com/db/blog/quarkdown-wissenschaftliches-schreiben/), [Präsentationen](https://www.jpkc.com/db/blog/quarkdown-praesentationen/), [CLI & Deployment](https://www.jpkc.com/db/blog/quarkdown-cli-pdf-deployment/) und den [KI-Teil](https://www.jpkc.com/db/blog/quarkdown-ki-agent-skill/) bis [hinter die Kulissen](https://www.jpkc.com/db/blog/quarkdown-inside-pipeline/). Die vollständige Referenz bleibt die [offizielle Wiki](https://quarkdown.com/wiki).

