# Konfiguration: Übungen

> Übungsstile (exerciseStyles) und die Übungseinstellungen des Buchs (exercises): Nummernmarken, Schrift der Arbeitsanweisung, Kennbuchstaben und Ankreuzfelder der Antworten, Lücken, Richtig-oder-falsch-Antworten, Zuordnungen, Wortspeicher, Schreibflächen, Gitter, schriftliche Division, Schwierigkeitszeichen, Symbole, die Farbe der Lösungen, wo die Lösungen stehen, die Lehrerausgabe und die Bildschirmausgaben

- HTML-Fassung: https://postext.dev/de/docs/configuration-exercises
- Zuletzt aktualisiert: 2026-10-24
- Lesezeit: 12 min
- Andere Sprachen: [en](https://postext.dev/en/docs/configuration-exercises.md), [es](https://postext.dev/es/docs/configuration-exercises.md), [ca](https://postext.dev/ca/docs/configuration-exercises.md), [fr](https://postext.dev/fr/docs/configuration-exercises.md), [it](https://postext.dev/it/docs/configuration-exercises.md), [pt](https://postext.dev/pt/docs/configuration-exercises.md), [zh](https://postext.dev/zh/docs/configuration-exercises.md), [ja](https://postext.dev/ja/docs/configuration-exercises.md), [ar](https://postext.dev/ar/docs/configuration-exercises.md)

## Kurz gesagt

Diese Seite führt alle Einstellungen für das Aussehen von Übungen auf. Ein Übungsstil bestimmt, wie die Nummer gedruckt wird, wie die Antwortmöglichkeiten gekennzeichnet sind, wie eine Lücke zum Ausfüllen aussieht, wie die Schreiblinien liniert sind und wie Gitter und Rechnungen gezeichnet werden. Die Einstellungen des Buchs bestimmen, wo die Lösungen gedruckt werden und ob das Buch die Schülerausgabe oder die Lehrerausgabe ist. Sie legen auch fest, wie man die Übungen am Bildschirm löst. Wie die Übungen selbst geschrieben werden, erklärt die Seite Übungen.

## Übungsstile

Die Eigenschaft `exerciseStyles` legt die benannten Stile fest, die eine Übung mit `:::exercise{style="…"}` auswählt. Ein Stil ist die Form einer Familie von Übungen; Fragen und Lösungen bleiben im Markdown (siehe [Übungen](https://postext.dev/de/docs/exercises.md)). Ein Stil, `exercise`, ist standardmäßig dabei, sodass der Block ohne jede Konfiguration funktioniert; wer `exerciseStyles` angibt, ersetzt ihn, und der erste angegebene Stil gilt für jede Übung ohne `style`. Alle Felder sind optional, und wo sich die Schulen unterscheiden, folgen die Standardwerte der Dokumentsprache: Kennbuchstaben der Antworten, Buchstaben für richtig und falsch, die Form der schriftlichen Division, die gedruckten Wörter.

```ts
const config: PostextConfig = {
  exerciseStyles: [
    {
      id: 'activity',
      box: 'activity-frame',
      number: { shape: 'disc', background: { hex: '#2a5ea8', model: 'hex' } },
      instruction: { fontFamily: 'Source Sans 3' },
      options: { marker: 'circle' },
      blank: { look: 'dots', width: 'answer' },
      area: { kind: 'grid', lines: 4 },
      level: { glyph: '★', empty: '☆' },
      icons: { pair: { glyph: '👥' } },
    },
    { id: 'quiz', extends: 'activity', options: { layout: 'row', columns: 4 } },
  ],
};
```

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `id` | `string` | — | Bezeichner, den `:::exercise{style="…"}` auswählt. Eine unbekannte ID fällt auf den ersten Stil zurück und wird gemeldet (`exerciseUnknownStyle`). |
| `name` | `string` | `id` | Lesbarer Name (nur für die Editor-Oberfläche). |
| `extends` | `string` | — | Die ID des Stils, auf dem dieser aufbaut. Jede Gruppe (`number`, `options`, `blank`…) wird Feld für Feld zusammengeführt, `icons` nach ID. |
| `box` | `string` | — | Eine ID aus [`calloutStyles`](https://postext.dev/de/docs/configuration-callouts.md#kastenstile) für den Rahmen der Übung: Hintergrund, Kontur, Streifen, Innenabstand, Platzierung, Teilung. Ohne sie steht die Übung ohne Rahmen im Fließtext und wird auf einer Seite zusammengehalten. |
| `number` | `object` | — | Wie die Nummer gedruckt wird. Siehe [Nummer](https://postext.dev/de/docs/configuration-exercises.md#nummer). |
| `instruction` | `object` | — | Die Schrift der Arbeitsanweisung. Siehe [Arbeitsanweisung](https://postext.dev/de/docs/configuration-exercises.md#arbeitsanweisung). |
| `options` | `object` | — | Die Antwortmöglichkeiten einer Auswahlfrage. Siehe [Antwortmöglichkeiten](https://postext.dev/de/docs/configuration-exercises.md#antwortmöglichkeiten). |
| `blank` | `object` | — | Wie ein `[[…]]` gedruckt wird. Siehe [Lücken](https://postext.dev/de/docs/configuration-exercises.md#lücken). |
| `trueFalse` | `object` | — | Die Antworten einer Richtig-oder-falsch-Aussage. Siehe [Richtig oder falsch](https://postext.dev/de/docs/configuration-exercises.md#richtig-oder-falsch). |
| `match` | `object` | — | Zwei Spalten zum Verbinden. Siehe [Zuordnen](https://postext.dev/de/docs/configuration-exercises.md#zuordnen). |
| `bank` | `object` | — | Der Wortspeicher. Siehe [Wortspeicher](https://postext.dev/de/docs/configuration-exercises.md#wortspeicher). |
| `area` | `object` | — | Schreibflächen. Siehe [Schreibfläche](https://postext.dev/de/docs/configuration-exercises.md#schreibfläche). |
| `grid` | `object` | — | Die Felder von Wortsuchrätseln, Kreuzworträtseln und Rechnungen. Siehe [Gitter](https://postext.dev/de/docs/configuration-exercises.md#gitter). |
| `arithmetic` | `object` | — | Schriftliche Rechnungen. Siehe [Rechnen](https://postext.dev/de/docs/configuration-exercises.md#rechnen). |
| `level` | `object` | — | Schwierigkeitszeichen. Siehe [Schwierigkeit](https://postext.dev/de/docs/configuration-exercises.md#schwierigkeit). |
| `icons` | `Record<string, ExerciseIcon>` | `{}` | Arbeitsform-Symbole nach ID, die das `icon` eines Blocks nennt. Siehe [Symbole](https://postext.dev/de/docs/configuration-exercises.md#symbole). |
| `answers` | `object` | — | Wie Lösungen in einer Lehrerausgabe, in einem Mustereintrag und bei den Lösungen gedruckt werden. Siehe [Antworten](https://postext.dev/de/docs/configuration-exercises.md#antworten). |
| `solutions` | `ExerciseSolutionsConfig` | — | Die [`exercises.solutions`](https://postext.dev/de/docs/configuration-exercises.md#lösungen) des Buchs für die Übungen dieses Stils: Nur die hier gesetzten Felder ändern sich. |
| `digital` | `object` | — | Farben der Bildschirmausgaben. Siehe [Bildschirmfarben](https://postext.dev/de/docs/configuration-exercises.md#bildschirmfarben). |
| `marginTop` | `Dimension` | `1em` | Raum über einer Übung ohne `box`. |
| `marginBottom` | `Dimension` | `1em` | Raum unter einer Übung ohne `box`. |
| `itemSpacing` | `Dimension` | `0.25em` | Raum zwischen zwei Einträgen: Antworten, Fragen, Aussagen, Paaren. |

### Nummer

`number` legt die Nummer der Übung fest. Eine freistehende Nummer ist fett, in der Hauptfarbe, mit einem Punkt dahinter; eine Nummer in einer Form ist eine weiße Ziffer in einem Kreis, einem Quadrat oder einem abgerundeten Quadrat in der Hauptfarbe, ohne Zeichen dahinter.

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `show` | `boolean` | `true` | Die Nummer drucken. Gezählt wird in jedem Fall. |
| `label` | `boolean \| string` | `false` | Ein Wort vor der Nummer: `true` nimmt das Wort der Dokumentsprache (Übung, Exercise, Ejercicio, Exercice, 练习, 練習, تمرين…), ein String ist das Wort selbst (`'Aufgabe'`). |
| `shape` | `'none' \| 'disc' \| 'square' \| 'rounded'` | `'none'` | Die Form, in der die Nummer steht. |
| `color` | `ColorValue` | weiß auf einer Form, sonst die Hauptfarbe | Die Farbe der Nummer. |
| `background` | `ColorValue` | die Hauptfarbe | Die Füllung der Form. |
| `fontFamily` | `string` | der umgebende Text | Die Schriftfamilie der Nummer. |
| `fontSize` | `Dimension` | `1em` | Die Größe der Nummer; ein em ist das der Arbeitsanweisung. |
| `fontWeight` | `number` | `700` | Ab 600 wird sie fett gesetzt. |
| `suffix` | `string` | `'.'`, keines bei einer Form | Steht nach einer freistehenden Nummer und ihrem Wort: `'.'`, `')'`, `'、'`. |
| `template` | `string` | `'{n}'` | Was die Nummer zeigt: `{n}` die Zählung der Übung, `{h1}` und `{h2}` die Nummern von Kapitel und Abschnitt (`'{h1}.{n}'` druckt 3.4). |
| `resetOn` | `'never' \| 'h1' … 'h6'` | `'h1'` | Die Überschriftenebene, mit der die Zählung neu beginnt; `'never'` zählt durch das ganze Buch. |
| `counter` | `string` | `'exercise'` | Der Zähler, den der Stil weiterzählt. Stile mit demselben Zähler teilen ihn; ein Stil mit eigenem Zähler (`'review'`) nummeriert seine Übungen für sich. |
| `format` | `ResourceCounterFormat` | `'decimal'` | Die Ziffern von `{n}`, wie bei einem Ressourcenzähler: `'roman-upper'`, `'alpha-lower'`, `'simp-chinese-informal'` (一, 二), `'circled-decimal'` (①, ②), `'arabic-indic'`… |

### Arbeitsanweisung

`instruction` legt die einleitenden Absätze der Übung fest. Nicht gesetzte Felder übernehmen die Werte des Grundtexts.

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `bold` | `boolean` | `true` | Die Arbeitsanweisung fett setzen. |
| `italic` | `boolean` | `false` | Sie kursiv setzen. |
| `color` | `ColorValue` | die des Texts | Ihre Farbe, fette Passagen eingeschlossen. |
| `fontFamily` | `string` | die des Texts | Ihre Schriftfamilie: In Schulbüchern steht die Arbeitsanweisung oft in einer serifenlosen Schrift über einem Text mit Serifen. |
| `fontSize` | `Dimension` | die des Texts | Ihre Größe. |

### Antwortmöglichkeiten

`options` legt die Antwortmöglichkeiten einer Auswahlfrage fest (`- [ ] …`).

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `labels` | `ResourceCounterFormat \| 'none'` | nach Sprache | Wie die Antworten gezählt werden: `'alpha-lower'` (a, b, c), `'alpha-upper'` im Chinesischen (A, B, C), `'katakana'` im Japanischen (ア, イ, ウ), `'abjad'` im Arabischen (أ, ب, ج). Außerdem `'decimal'`, `'katakana-iroha'`, `'circled-decimal'`… `'none'` druckt keine Kennung. |
| `prefix` | `string` | `''` | Vor der Kennung: `'('` für (a). |
| `suffix` | `string` | `')'`; `'.'` im Chinesischen, keines im Japanischen | Nach der Kennung. |
| `marker` | `'none' \| 'box' \| 'circle'` | `'none'` | Ein Kästchen oder ein Kreis vor jeder Antwort zum Ankreuzen. Mit `'none'` wird die Kennung eingekreist. |
| `layout` | `'stack' \| 'row'` | `'stack'` | `'stack'`: eine Antwort je Zeile, umbrechende Zeilen unter ihrem Text eingezogen. `'row'`: die Antworten nebeneinander. Auch `columns=n` an einem Block setzt sie in Reihen. |
| `columns` | `number` | alle | Antworten je Reihe im Layout `'row'` (bis zu 6). |
| `shuffle` | `boolean` | `false` | Die Antworten gemischt drucken, in jeder Ausgabe und im Schlüssel in derselben Reihenfolge. |
| `indent` | `Dimension` | `1em` | Der Einzug der Antworten vom Textrand, bei einer Frage ohne Fragestamm. |
| `bracket` | `boolean` | `false` | Eine Klammer `（　）` am Ende jedes Fragestamms, in die der Buchstabe geschrieben wird, wie in chinesischen und japanischen Tests. Eine Lehrerausgabe trägt den Buchstaben darin ein. |

### Lücken

`blank` legt fest, wie ein `[[…]]` im Schülertext gedruckt wird: Raum in der Größe der Lösung mit einer Linie, Punkten oder einem Kästchen, ohne die Lösung selbst.

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `look` | `'line' \| 'dots' \| 'box' \| 'none'` | `'line'` | Eine Schreiblinie, eine gepunktete Linie, ein Kästchen oder leerer Raum. |
| `width` | `'answer' \| 'longest' \| Dimension` | `'longest'` | `'longest'`: Jede Lücke der Übung ist so breit wie ihre längste Lösung, damit keine Lücke ihre Lösung verrät. `'answer'`: jede so breit wie ihre eigene Lösung. Eine Länge: diese Breite für alle. Das `{width=N}` einer Lücke hat Vorrang. |
| `extra` | `Dimension` | `1.5em` | Raum, der zur Breite der Lösung hinzukommt, in ganzen em. |
| `minWidth` | `Dimension` | `3em` | Die schmalste Lücke. |
| `color` | `ColorValue` | Schwarz | Die Farbe der Linie, der Punkte oder des Kästchens. Ist sie gesetzt, färbt sie auch die Kästchen und Kreise zum Ankreuzen und die Rahmen der Wörter im Wortspeicher, die sonst in der Hauptfarbe stehen. |
| `weight` | `Dimension` | `0.6pt` | Die Stärke der Linie. |

### Richtig oder falsch

`trueFalse` legt die Antworten am Ende einer Aussage fest.

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `labels` | `[string, string]` | nach Sprache | Die beiden Antworten: `['R', 'F']` im Deutschen; T F im Englischen; V F im Spanischen, Katalanischen, Französischen, Italienischen und Portugiesischen; √ × im Chinesischen; ○ × im Japanischen; صح خطأ im Arabischen. |
| `look` | `'boxes' \| 'bracket'` | `'boxes'` | `'boxes'`: jede Antwort mit einem Kästchen zum Ankreuzen, am Zeilenende. `'bracket'`: eine einzige Lücke, in die die Antwort geschrieben wird. |

### Zuordnen

`match` legt eine Übung mit Paaren fest.

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `look` | `'dots' \| 'letters'` | `'dots'` | `'dots'`: zwei Spalten mit einem Punkt neben jedem Eintrag, zum Verbinden mit einer Linie. `'letters'`: die rechte Spalte mit Buchstaben, neben jedem linken Eintrag eine Lücke für den Buchstaben. |
| `gap` | `Dimension` | `4em` | Raum zwischen den beiden Spalten. |
| `dotSize` | `Dimension` | `0.35em` | Der Durchmesser der Punkte. |
| `color` | `ColorValue` | die Hauptfarbe | Die Punkte und der Rahmen des Wortspeichers. |

### Wortspeicher

`bank` legt den Kasten mit Wörtern eines Lückentexts mit `bank` oder `::bank[…]` und jeder Sortierübung fest. Der Kasten steht dort, wo die Zeile `::bank` geschrieben ist, sonst unter der Arbeitsanweisung.

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `box` | `string` | ein Rahmen in der Farbe von `match` | Eine ID aus `calloutStyles` für den Kasten des Wortspeichers. |
| `order` | `'shuffle' \| 'alpha' \| 'written'` | `'shuffle'` | Die Wörter gemischt (mit Startwert), alphabetisch nach der Dokumentsprache oder wie geschrieben. |
| `separator` | `string` | ein Geviertabstand | Zwischen zwei Wörtern. Jedes Wort steht in einem Chip mit dünnem Rahmen. |

### Schreibfläche

`area` legt den Raum unter einer offenen Frage, unter einem Satz aus Wortteilen und in den Spalten einer Sortierübung fest.

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `kind` | `'lines' \| 'dots' \| 'grid' \| 'seyes' \| 'tianzige' \| 'box' \| 'none'` | `'lines'` | Schreiblinien, eine Punktreihe, Kästchenpapier, die französische Seyès-Lineatur, 田字格-Kästchen, ein leerer Rahmen oder freier Raum. Das `area` eines Blocks hat Vorrang. |
| `lines` | `number` | `3` | Wie viele Zeilen hoch. Das `lines` eines Blocks hat Vorrang. |
| `spacing` | `Dimension` | das 1,35-Fache des Zeilenabstands des Texts (1,2 bei Gittern) | Der Abstand zwischen zwei Linien. |
| `color` | `ColorValue` | ein helles Grau | Die Farbe der Lineatur. |
| `weight` | `Dimension` | `0.5pt` | Die Stärke der Lineatur. |

### Gitter

`grid` legt die Felder von Wortsuchrätseln, Kreuzworträtseln und schriftlichen Rechnungen fest.

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `cell` | `Dimension` | `1.6em` | Die Seitenlänge eines Felds. |
| `fontFamily` | `string` | die des Texts | Die Schriftfamilie der Buchstaben und Ziffern. |
| `fontSize` | `Dimension` | 0,58 der Seitenlänge des Felds | Die Größe der Buchstaben und Ziffern, ein em ist das des Texts. |
| `color` | `ColorValue` | die des Texts | Die Farbe der Buchstaben und Ziffern. |
| `rule` | `ColorValue` | ein mittleres Grau | Die Linien der Felder. |
| `ruleWidth` | `Dimension` | `0.6pt` | Ihre Stärke. |
| `blocked` | `ColorValue` | — | Die Füllung der Felder im Kreuzworträtsel, die kein Wort belegt. Ohne sie druckt das Gitter nur die Felder seiner Wörter. |
| `uppercase` | `boolean` | `true` | Die Buchstaben von Wortsuchrätseln und Kreuzworträtseln in Großbuchstaben setzen, nach den Regeln der Dokumentsprache. |

### Rechnen

`arithmetic` legt schriftliche Rechnungen fest.

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `division` | `'bracket' \| 'potence' \| 'inline'` | nach Sprache | Schriftliche Division. `'bracket'`: der Divisor links vom Dividenden, darüber ein Bogen, der Quotient obenauf (Englisch, Chinesisch, Japanisch, Arabisch und jede Sprache ohne eigene Form). `'potence'`: der Divisor rechts vom Dividenden unter einem L-Winkel, der Quotient unter dem Divisor (Spanisch, Katalanisch, Französisch, Italienisch, Portugiesisch). `'inline'`: `864 : 4 =` mit dem Quotienten in der Zeile und den Zwischenschritten darunter (Deutsch). |
| `columns` | `number` | `4` | Rechnungen je Reihe, weniger, wenn die Spalte zu schmal ist. |

### Schwierigkeit

`level` legt die Zeichen fest, die das `level` eines Blocks nach der Nummer druckt, in kleinerer Größe.

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `glyph` | `string` | `'●'` | Eine erreichte Stufe: `'★'`, `'■'`. |
| `empty` | `string` | `'○'` | Eine nicht erreichte Stufe; `''` druckt keine. |
| `max` | `number` | `3` | Die höchste Stufe: `level=2` mit `max: 3` druckt ●●○. |
| `color` | `ColorValue` | die Hauptfarbe | Die Farbe der Zeichen. |

### Symbole

`icons` ordnet einer ID ein Arbeitsform-Symbol zu (mündlich, schriftlich, Partnerarbeit, Hören, Taschenrechner), das nach der Nummer gedruckt wird, wenn ein Block es nennt: `icon="pair"`.

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `glyph` | `string` | — | Das zu druckende Zeichen: `'✎'`, `'🎧'`, ein Zeichen einer Symbolschrift. |
| `fontFamily` | `string` | — | Die Familie einer Symbolschrift. |
| `color` | `ColorValue` | — | Die Farbe des Symbols. |
| `resourceId` | `string` | — | Eine Bitmap- oder SVG-Ressource für das Symbol. |
| `alt` | `string` | — | Wofür das Symbol steht, für Bildschirmleser und das getaggte PDF. |
| `size` | `number` | `0.75` | Die Höhe des Symbols in em der Arbeitsanweisung: standardmäßig die eines Großbuchstabens. |

Ein Symbol wird als Inline-Symbol nach der Nummer gedruckt: das Bild von `resourceId`, wenn es eines nennt, sonst das `glyph` in `fontFamily` und in `color` (sonst in der Textfarbe). Es steht auf der Grundlinie der Arbeitsanweisung, ist `size` em hoch, und sein `alt` wird an seiner Stelle gelesen.

### Antworten

`answers` legt die Lösungen überall dort fest, wo sie erscheinen: in einer Lehrerausgabe, im Mustereintrag einer Übung mit `example`, als Kreise und gefüllte Kästchen, als Linien zwischen Paaren, als Buchstaben und Ziffern in Gittern.

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `color` | `ColorValue` | `#d6246e`, ein Magentarot | Die Farbe der Lösungen, wie ein Lehrerband sie eindruckt. |
| `fontFamily` | `string` | die des Texts | Eine Schrift für die Lösungen; eine Schreibschrift ist üblich. |
| `italic` | `boolean` | `false` | Lösungen in Lücken kursiv setzen. |

### Bildschirmfarben

`digital` legt fest, wie der HTML-Betrachter und EPUB-Bücher eine geprüfte Antwort zeigen.

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `correctColor` | `ColorValue` | ein Grün (`#1e8e3e`) | Eine richtige Antwort. |
| `wrongColor` | `ColorValue` | ein Rot (`#c5221f`) | Eine falsche Antwort. |

## Bucheinstellungen

Die Eigenschaft `exercises` enthält die Einstellungen für das ganze Buch: die Ausgabe, wo die Lösungen stehen, den Startwert jedes Mischens und die Bildschirmausgaben. Ein Buch, das weder `exercises` noch `exerciseStyles` setzt, wird gesetzt und gehasht wie bisher.

```ts
const config: PostextConfig = {
  exercises: {
    edition: 'student',
    solutions: { placement: 'chapterEnd', layout: 'key' },
    seed: 3,
    digital: { check: 'instant' },
  },
};
```

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `edition` | `'student' \| 'teacher'` | `'student'` | `'teacher'` druckt jede Lösung an ihrer Stelle in der Farbe von `answers`: ein Lehrerband aus dem Schülertext. |
| `solutions` | `ExerciseSolutionsConfig` | — | Wo und wie die Lösungen gedruckt werden. Siehe [Lösungen](https://postext.dev/de/docs/configuration-exercises.md#lösungen). |
| `seed` | `number` | `1` | Der Startwert, aus dem jedes Mischen hervorgeht: Antworten, rechte Spalten, Einträge der Reihenfolge, Wortteile, Wortspeicher, Füllbuchstaben der Wortsuchrätsel. Ein anderer Wert ergibt eine zweite Fassung einer Klassenarbeit; Druck, Bildschirm und Schlüssel bleiben im Einklang. |
| `digital` | `object` | — | Der HTML-Betrachter und EPUB-Bücher. Siehe [Bildschirmausgaben](https://postext.dev/de/docs/configuration-exercises.md#bildschirmausgaben). |

### Lösungen

`exercises.solutions`, und darüber das `solutions` eines Stils für die Übungen dieses Stils.

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `placement` | `'none' \| 'after' \| 'inverted' \| 'chapterEnd' \| 'directive'` | `'none'` | `'none'`: keine Lösungen im Druck. `'after'`: nach jeder Übung, in kleinerer Schrift. `'inverted'`: nach jeder Übung, auf dem Kopf. `'chapterEnd'`: am Ende des Kapitels, unter `heading`. `'directive'`: dort, wo eine Zeile `:::solutions` steht. |
| `box` | `string` | ein rahmenloser Kasten in kleinerer Schrift | Eine ID aus `calloutStyles` für den Kasten einer Lösung und für die Liste der Lösungen eines Kapitels. |
| `heading` | `string` | das Wort der Dokumentsprache | Die Überschrift der Lösungen am Ende eines Kapitels: Lösungen, Solutions, Soluciones, Solucions, Corrigés, Soluzioni, Gabarito, 参考答案, 解答, الحلول. Eine Zeile `:::solutions{title="…"}` setzt ihre eigene. |
| `layout` | `'key' \| 'full'` | `'full'` | `'key'`: nur die Lösungen (1 b · 2 Wasser). `'full'`: der Schlüssel, danach die `:::solution` der Übung. |

### Bildschirmausgaben

`exercises.digital` legt fest, wie sich Übungen im HTML-Betrachter und in EPUB-Büchern verhalten.

| Eigenschaft | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `interactive` | `boolean` | `true` | Übungen, die man am Bildschirm lösen kann. `false` zeigt sie wie gedruckt. |
| `persist` | `boolean` | `true` | Die Antworten im Browser speichern, je Buch. |
| `check` | `'button' \| 'instant'` | `'button'` | `'button'`: Die Antworten werden auf Anfrage geprüft. `'instant'`: Jede Antwort wird geprüft, sobald sie gegeben ist. |

Der Bildschirm kann eigene Übungseinstellungen haben: `htmlViewer.overrides` nimmt auch `exercises` und `exerciseStyles` auf, die über die des Buchs gelegt werden, bevor der HTML-Betrachter setzt. So behält der Druck seine Lösungen am Kapitelende, während der Bildschirm sie ausblendet, oder der Bildschirm verzichtet auf die Schreibflächen, mit denen man dort nichts anfangen kann.

```ts
const config: PostextConfig = {
  htmlViewer: {
    overrides: {
      exercises: { solutions: { placement: 'none' } },
      exerciseStyles: [{ id: 'exercise', area: { kind: 'none' }, blank: { minWidth: { value: 6, unit: 'em' } } }],
    },
  },
};
```
