# Configurazione: esercizi

> Gli stili degli esercizi (exerciseStyles) e le impostazioni degli esercizi del libro (exercises): numeri, carattere della consegna, lettere e caselle delle opzioni, spazi da completare, risposte vero/falso, collegamenti, riquadri di parole, aree di scrittura, schemi, divisione in colonna, segni di difficoltà, icone, colore delle risposte, posizione delle soluzioni, guida per l’insegnante ed edizioni a schermo

- Versione HTML: https://postext.dev/it/docs/configuration-exercises
- Ultimo aggiornamento: 2026-10-24
- Tempo di lettura: 12 min
- Altre lingue: [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), [de](https://postext.dev/de/docs/configuration-exercises.md), [fr](https://postext.dev/fr/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)

## In breve

Questa pagina elenca tutte le impostazioni dell’aspetto degli esercizi. Uno stile di esercizio decide come si stampa il numero, con quali lettere si indicano le opzioni, che aspetto ha uno spazio da completare, come sono rigate le righe su cui scrivere e come si disegnano schemi e operazioni. Le impostazioni del libro decidono dove si stampano le soluzioni e se il libro è l’edizione per l’alunno o la guida per l’insegnante. Decidono anche come il lettore risolve gli esercizi a schermo. La pagina Esercizi spiega come scrivere gli esercizi veri e propri.

## Stili degli esercizi

La proprietà `exerciseStyles` dichiara gli stili con nome che un esercizio sceglie con `:::exercise{style="…"}`. Uno stile è la forma di una famiglia di esercizi; domande e risposte restano nel Markdown (vedi [Esercizi](https://postext.dev/it/docs/exercises.md)). Per impostazione predefinita è incluso uno stile, `exercise`, così il blocco funziona senza alcuna configurazione; dichiarare `exerciseStyles` lo sostituisce, e il primo stile dichiarato è quello che prende un esercizio senza `style`. Ogni campo è facoltativo, e i valori predefiniti seguono la lingua del documento dove le scuole hanno usi diversi: lettere delle opzioni, lettere di vero/falso, disposizione della divisione in colonna, parole stampate.

```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 } },
  ],
};
```

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `id` | `string` | — | Identificatore selezionato da `:::exercise{style="…"}`. Un id sconosciuto ricade sul primo stile e viene segnalato (`exerciseUnknownStyle`). |
| `name` | `string` | `id` | Nome leggibile (solo nell’interfaccia dell’editor). |
| `extends` | `string` | — | L’id dello stile da cui parte questo. Ogni gruppo (`number`, `options`, `blank`…) si unisce campo per campo, `icons` per id. |
| `box` | `string` | — | Un id di [`calloutStyles`](https://postext.dev/it/docs/configuration-callouts.md#stili-dei-riquadri) per la cornice dell’esercizio: sfondo, bordo, banda, spaziatura interna, collocazione, divisione. Se non è impostato, l’esercizio si compone nel testo corrente senza cornice e resta unito su una sola pagina. |
| `number` | `object` | — | Come si stampa il numero. Vedi [Numero](https://postext.dev/it/docs/configuration-exercises.md#numero). |
| `instruction` | `object` | — | Il carattere della consegna. Vedi [Consegna](https://postext.dev/it/docs/configuration-exercises.md#consegna). |
| `options` | `object` | — | Le opzioni di una domanda a scelta multipla. Vedi [Opzioni](https://postext.dev/it/docs/configuration-exercises.md#opzioni). |
| `blank` | `object` | — | Come si stampa un `[[…]]`. Vedi [Spazi da completare](https://postext.dev/it/docs/configuration-exercises.md#spazi-da-completare). |
| `trueFalse` | `object` | — | Le risposte di un’affermazione vero/falso. Vedi [Vero o falso](https://postext.dev/it/docs/configuration-exercises.md#vero-o-falso). |
| `match` | `object` | — | Due colonne da collegare. Vedi [Collegamento](https://postext.dev/it/docs/configuration-exercises.md#collegamento). |
| `bank` | `object` | — | Il riquadro di parole. Vedi [Riquadro di parole](https://postext.dev/it/docs/configuration-exercises.md#riquadro-di-parole). |
| `area` | `object` | — | Le aree di scrittura. Vedi [Area di scrittura](https://postext.dev/it/docs/configuration-exercises.md#area-di-scrittura). |
| `grid` | `object` | — | Le caselle di cerca parole, cruciverba e operazioni. Vedi [Schemi](https://postext.dev/it/docs/configuration-exercises.md#schemi). |
| `arithmetic` | `object` | — | Le operazioni in colonna. Vedi [Operazioni in colonna](https://postext.dev/it/docs/configuration-exercises.md#operazioni-in-colonna). |
| `level` | `object` | — | I segni di difficoltà. Vedi [Difficoltà](https://postext.dev/it/docs/configuration-exercises.md#difficoltà). |
| `icons` | `Record<string, ExerciseIcon>` | `{}` | Icone di attività per id, richiamate dall’attributo `icon` di un blocco. Vedi [Icone](https://postext.dev/it/docs/configuration-exercises.md#icone). |
| `answers` | `object` | — | Come si stampano le risposte nella guida per l’insegnante, in un elemento modello e nelle soluzioni. Vedi [Risposte](https://postext.dev/it/docs/configuration-exercises.md#risposte). |
| `solutions` | `ExerciseSolutionsConfig` | — | Le [`exercises.solutions`](https://postext.dev/it/docs/configuration-exercises.md#soluzioni) del libro per gli esercizi di questo stile: cambiano solo i campi impostati qui. |
| `digital` | `object` | — | I colori delle edizioni a schermo. Vedi [Colori a schermo](https://postext.dev/it/docs/configuration-exercises.md#colori-a-schermo). |
| `marginTop` | `Dimension` | `1em` | Spazio sopra un esercizio senza `box`. |
| `marginBottom` | `Dimension` | `1em` | Spazio sotto un esercizio senza `box`. |
| `itemSpacing` | `Dimension` | `0.25em` | Spazio tra due elementi: opzioni, domande, affermazioni, coppie. |

### Numero

`number` imposta il numero dell’esercizio. Un numero semplice è in grassetto, nel colore principale, seguito da un punto; un numero in una forma è una cifra bianca dentro un cerchio, un quadrato o un quadrato arrotondato del colore principale, senza nulla dopo.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `show` | `boolean` | `true` | Stampa il numero. Il conteggio prosegue in ogni caso. |
| `label` | `boolean \| string` | `false` | Una parola davanti al numero: `true` prende la parola della lingua del documento (Esercizio, Exercise, Ejercicio, Exercice, Übung, 练习, 練習, تمرين…), una stringa è la parola stessa (`'Attività'`). |
| `shape` | `'none' \| 'disc' \| 'square' \| 'rounded'` | `'none'` | La forma in cui si compone il numero. |
| `color` | `ColorValue` | bianco su una forma, altrimenti il colore principale | Il colore del numero. |
| `background` | `ColorValue` | il colore principale | Il riempimento della forma. |
| `fontFamily` | `string` | quella del testo circostante | La famiglia del numero. |
| `fontSize` | `Dimension` | `1em` | Il corpo del numero; un em è quello della consegna. |
| `fontWeight` | `number` | `700` | Da 600 in su il numero è in grassetto. |
| `suffix` | `string` | `'.'`, nessuno su una forma | Si stampa dopo un numero semplice e la sua parola: `'.'`, `')'`, `'、'`. |
| `template` | `string` | `'{n}'` | Che cosa si legge nel numero: `{n}` il conteggio dell’esercizio, `{h1}` e `{h2}` i numeri del capitolo e della sezione (`'{h1}.{n}'` stampa 3.4). |
| `resetOn` | `'never' \| 'h1' … 'h6'` | `'h1'` | Il livello di titolo che fa ripartire il conteggio; `'never'` conta per tutto il libro. |
| `counter` | `string` | `'exercise'` | Il contatore che lo stile fa avanzare. Gli stili che indicano lo stesso contatore lo condividono; uno stile con un contatore proprio (`'review'`) numera i suoi esercizi a parte. |
| `format` | `ResourceCounterFormat` | `'decimal'` | Le cifre di `{n}`, come in un contatore di risorse: `'roman-upper'`, `'alpha-lower'`, `'simp-chinese-informal'` (一, 二), `'circled-decimal'` (①, ②), `'arabic-indic'`… |

### Consegna

`instruction` imposta i paragrafi iniziali dell’esercizio. I campi non impostati prendono i valori del testo corrente.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `bold` | `boolean` | `true` | Compone la consegna in grassetto. |
| `italic` | `boolean` | `false` | La compone in corsivo. |
| `color` | `ColorValue` | quello del testo | Il suo colore, tratti in grassetto compresi. |
| `fontFamily` | `string` | quella del testo | La sua famiglia: nei libri scolastici una consegna in un bastoncino sopra un testo graziato è frequente. |
| `fontSize` | `Dimension` | quello del testo | Il suo corpo. |

### Opzioni

`options` imposta le opzioni di una domanda a scelta multipla (`- [ ] …`).

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `labels` | `ResourceCounterFormat \| 'none'` | secondo la lingua | Come si contano le opzioni: `'alpha-lower'` (a, b, c), `'alpha-upper'` in cinese (A, B, C), `'katakana'` in giapponese (ア, イ, ウ), `'abjad'` in arabo (أ, ب, ج). Anche `'decimal'`, `'katakana-iroha'`, `'circled-decimal'`… `'none'` non stampa lettere. |
| `prefix` | `string` | `''` | Prima della lettera: `'('` per (a). |
| `suffix` | `string` | `')'`; `'.'` in cinese, nessuno in giapponese | Dopo la lettera. |
| `marker` | `'none' \| 'box' \| 'circle'` | `'none'` | Una casella o un cerchietto da barrare prima di ogni opzione. Con `'none'` il lettore cerchia la lettera. |
| `layout` | `'stack' \| 'row'` | `'stack'` | `'stack'`: un’opzione per riga, con le righe di continuazione rientrate sotto il suo testo. `'row'`: le opzioni affiancate. Anche l’attributo `columns=n` di un blocco le mette in righe. |
| `columns` | `number` | tutte | Opzioni per riga nel layout `'row'` (fino a 6). |
| `shuffle` | `boolean` | `false` | Stampa le opzioni in ordine sparso, lo stesso in ogni output e nella chiave. |
| `indent` | `Dimension` | `1em` | Il rientro delle opzioni dal margine del testo, per una domanda senza enunciato. |
| `bracket` | `boolean` | `false` | Una parentesi `（　）` alla fine dell’enunciato di ogni domanda in cui scrivere la lettera, come la stampano le verifiche cinesi e giapponesi. La guida per l’insegnante vi scrive la lettera. |

### Spazi da completare

`blank` imposta come si stampa un `[[…]]` nel testo dell’alunno: uno spazio della misura della risposta con una riga, dei puntini o una casella, senza disegnare la risposta.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `look` | `'line' \| 'dots' \| 'box' \| 'none'` | `'line'` | Una riga su cui scrivere, una riga di puntini, una casella o uno spazio vuoto. |
| `width` | `'answer' \| 'longest' \| Dimension` | `'longest'` | `'longest'`: tutti gli spazi dell’esercizio larghi quanto la risposta più lunga, così nessuno suggerisce la propria risposta. `'answer'`: ognuno largo quanto la sua risposta. Una lunghezza: quella larghezza per tutti. L’attributo `{width=N}` di uno spazio ha la precedenza. |
| `extra` | `Dimension` | `1.5em` | Spazio aggiunto alla larghezza della risposta, in em interi. |
| `minWidth` | `Dimension` | `3em` | La larghezza minima di uno spazio. |
| `color` | `ColorValue` | nero | Il colore della riga, dei puntini o della casella. Se è impostato colora anche le caselle e i cerchietti da barrare e le cornici delle parole del riquadro, che altrimenti sono nel colore principale. |
| `weight` | `Dimension` | `0.6pt` | Lo spessore della riga. |

### Vero o falso

`trueFalse` imposta le risposte alla fine di un’affermazione.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `labels` | `[string, string]` | secondo la lingua | Le due risposte: `['V', 'F']` in italiano, spagnolo, catalano, francese e portoghese; T F in inglese; R F in tedesco; √ × in cinese; ○ × in giapponese; صح خطأ in arabo. |
| `look` | `'boxes' \| 'bracket'` | `'boxes'` | `'boxes'`: ogni lettera con una casella da barrare, in fondo alla riga. `'bracket'`: un solo spazio in cui scrivere la risposta. |

### Collegamento

`match` imposta un esercizio di coppie.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `look` | `'dots' \| 'letters'` | `'dots'` | `'dots'`: due colonne con un pallino accanto a ogni elemento, da unire con una linea. `'letters'`: la colonna di destra con le lettere, uno spazio accanto a ogni elemento di sinistra per scriverle. |
| `gap` | `Dimension` | `4em` | Lo spazio tra le due colonne. |
| `dotSize` | `Dimension` | `0.35em` | Il diametro dei pallini. |
| `color` | `ColorValue` | il colore principale | I pallini e la cornice del riquadro di parole. |

### Riquadro di parole

`bank` imposta il riquadro di parole di un completamento con `bank` o `::bank[…]`, e di ogni esercizio di classificazione. Il riquadro sta dove è scritta la riga `::bank`, altrimenti sotto la consegna.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `box` | `string` | una cornice nel colore dei collegamenti | Un id di `calloutStyles` per il riquadro. |
| `order` | `'shuffle' \| 'alpha' \| 'written'` | `'shuffle'` | Le parole mescolate (a partire dal seme), in ordine alfabetico secondo la lingua del documento, o come sono scritte. |
| `separator` | `string` | uno spazio em | Tra due parole. Ogni parola si compone in un chip con una cornice sottile. |

### Area di scrittura

`area` imposta lo spazio sotto una domanda aperta, sotto una frase da riordinare e nelle colonne di un esercizio di classificazione.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `kind` | `'lines' \| 'dots' \| 'grid' \| 'seyes' \| 'tianzige' \| 'box' \| 'none'` | `'lines'` | Righe, una riga di puntini, quadretti, la rigatura Seyès francese, i quadrati 田字格, una cornice vuota o uno spazio bianco. L’attributo `area` di un blocco ha la precedenza. |
| `lines` | `number` | `3` | Quante righe di altezza. L’attributo `lines` di un blocco ha la precedenza. |
| `spacing` | `Dimension` | 1,35 volte l’interlinea del testo (1,2 per i quadretti) | La distanza tra due righe. |
| `color` | `ColorValue` | un grigio chiaro | Il colore della rigatura. |
| `weight` | `Dimension` | `0.5pt` | Lo spessore della rigatura. |

### Schemi

`grid` imposta le caselle di cerca parole, cruciverba e operazioni in colonna.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `cell` | `Dimension` | `1.6em` | Il lato di una casella. |
| `fontFamily` | `string` | quella del testo | La famiglia di lettere e cifre. |
| `fontSize` | `Dimension` | 0,58 del lato della casella | La dimensione di lettere e cifre; un em è quello del testo. |
| `color` | `ColorValue` | quello del testo | Il colore di lettere e cifre. |
| `rule` | `ColorValue` | un grigio medio | I filetti delle caselle. |
| `ruleWidth` | `Dimension` | `0.6pt` | Il loro spessore. |
| `blocked` | `ColorValue` | — | Il riempimento delle caselle del cruciverba che nessuna parola occupa. Se non è impostato, lo schema stampa solo le caselle delle sue parole. |
| `uppercase` | `boolean` | `true` | Compone in maiuscolo le lettere di cerca parole e cruciverba, secondo le regole delle maiuscole della lingua del documento. |

### Operazioni in colonna

`arithmetic` imposta le operazioni in colonna.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `division` | `'bracket' \| 'potence' \| 'inline'` | secondo la lingua | La divisione. `'bracket'`: il divisore a sinistra del dividendo, una parentesi sopra di esso, il quoziente in alto (inglese, cinese, giapponese, arabo e ogni lingua senza un uso proprio). `'potence'`: il divisore a destra del dividendo dentro una L, il quoziente sotto il divisore (italiano, spagnolo, catalano, francese, portoghese). `'inline'`: `864 : 4 =` con il quoziente sulla riga e i passaggi sotto (tedesco). |
| `columns` | `number` | `4` | Operazioni per riga, meno quando la colonna è troppo stretta. |

### Difficoltà

`level` imposta i segni che l’attributo `level` di un blocco stampa dopo il numero, in un corpo minore.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `glyph` | `string` | `'●'` | Un livello raggiunto: `'★'`, `'■'`. |
| `empty` | `string` | `'○'` | Un livello non raggiunto; `''` non stampa nulla. |
| `max` | `number` | `3` | Il livello più alto: `level=2` con `max: 3` stampa ●●○. |
| `color` | `ColorValue` | il colore principale | Il colore dei segni. |

### Icone

`icons` associa un id a un’icona di attività (orale, scritta, a coppie, ascolto, calcolatrice), stampata dopo il numero quando un blocco la richiama: `icon="pair"`.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `glyph` | `string` | — | Un carattere da stampare: `'✎'`, `'🎧'`, un glifo di un font di icone. |
| `fontFamily` | `string` | — | La famiglia di un font di icone. |
| `color` | `ColorValue` | — | Il colore dell’icona. |
| `resourceId` | `string` | — | Una risorsa bitmap o SVG per l’icona. |
| `alt` | `string` | — | Che cosa rappresenta l’icona, per gli screen reader e il PDF taggato. |
| `size` | `number` | `0.75` | L’altezza dell’icona in em della consegna: per impostazione predefinita, quella di una maiuscola. |

Un’icona si stampa come simbolo in linea dopo il numero: l’immagine di `resourceId` se ne nomina una, altrimenti il `glyph` in `fontFamily` e in `color` (quello del testo se non indicato). Poggia sulla linea di base della consegna, alta `size` em, e il suo `alt` si legge al suo posto.

### Risposte

`answers` imposta le risposte ovunque compaiano: nella guida per l’insegnante, nell’elemento modello di un esercizio con `example`, nei cerchi e nelle caselle piene, nelle linee tracciate tra le coppie, nelle lettere e nelle cifre degli schemi.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `color` | `ColorValue` | `#d6246e`, un rosso magenta | Il colore delle risposte, come le sovrastampa una guida per l’insegnante. |
| `fontFamily` | `string` | quella del testo | Un carattere per le risposte: è frequente un carattere calligrafico. |
| `italic` | `boolean` | `false` | Compone in corsivo le risposte negli spazi da completare. |

### Colori a schermo

`digital` imposta come il visualizzatore HTML e i libri EPUB mostrano una risposta controllata.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `correctColor` | `ColorValue` | un verde (`#1e8e3e`) | Una risposta giusta. |
| `wrongColor` | `ColorValue` | un rosso (`#c5221f`) | Una risposta sbagliata. |

## Impostazioni del libro

La proprietà `exercises` raccoglie le impostazioni di tutto il libro: l’edizione, la posizione delle soluzioni, il seme di ogni mescolamento e le edizioni a schermo. Un libro che non imposta né `exercises` né `exerciseStyles` si impagina e produce lo stesso hash di prima.

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

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `edition` | `'student' \| 'teacher'` | `'student'` | `'teacher'` stampa ogni risposta al suo posto nel colore di `answers`: la guida per l’insegnante ricavata dal testo dell’alunno. |
| `solutions` | `ExerciseSolutionsConfig` | — | Dove e come si stampano le soluzioni. Vedi [Soluzioni](https://postext.dev/it/docs/configuration-exercises.md#soluzioni). |
| `seed` | `number` | `1` | Il seme da cui si ricava ogni mescolamento: opzioni, colonne di destra, elementi da ordinare, parole da riordinare, riquadri di parole, lettere di riempimento del cerca parole. Si cambia per ottenere un’altra versione di una verifica; stampa, schermo e chiave restano concordi. |
| `digital` | `object` | — | Il visualizzatore HTML e i libri EPUB. Vedi [Edizioni a schermo](https://postext.dev/it/docs/configuration-exercises.md#edizioni-a-schermo). |

### Soluzioni

`exercises.solutions`, e sopra di esso il `solutions` di uno stile per gli esercizi di quello stile.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `placement` | `'none' \| 'after' \| 'inverted' \| 'chapterEnd' \| 'directive'` | `'none'` | `'none'`: nessuna soluzione a stampa. `'after'`: dopo ogni esercizio, in corpo minore. `'inverted'`: dopo ogni esercizio, capovolta. `'chapterEnd'`: alla fine del capitolo, sotto `heading`. `'directive'`: dove si trova una riga `:::solutions`. |
| `box` | `string` | un riquadro senza cornice in corpo minore | Un id di `calloutStyles` per il riquadro di una soluzione e per l’elenco delle soluzioni di un capitolo. |
| `heading` | `string` | la parola della lingua del documento | Il titolo delle soluzioni alla fine di un capitolo: Soluzioni, Solutions, Soluciones, Solucions, Corrigés, Lösungen, Gabarito, 参考答案, 解答, الحلول. Una riga `:::solutions{title="…"}` imposta il proprio. |
| `layout` | `'key' \| 'full'` | `'full'` | `'key'`: solo le risposte (1 b · 2 acqua). `'full'`: la chiave, poi il `:::solution` dell’esercizio. |

### Edizioni a schermo

`exercises.digital` imposta il comportamento degli esercizi nel visualizzatore HTML e nei libri EPUB.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `interactive` | `boolean` | `true` | Esercizi che il lettore può risolvere. `false` li mostra come a stampa. |
| `persist` | `boolean` | `true` | Conserva le risposte del lettore nel browser, libro per libro. |
| `check` | `'button' \| 'instant'` | `'button'` | `'button'`: le risposte si controllano quando il lettore lo chiede. `'instant'`: ogni risposta si controlla appena viene data. |

Lo schermo può avere impostazioni degli esercizi proprie: `htmlViewer.overrides` accetta anche `exercises` ed `exerciseStyles`, che si sovrappongono a quelli del libro prima che il visualizzatore HTML impagini. Così la stampa tiene le soluzioni alla fine del capitolo mentre lo schermo le nasconde, oppure lo schermo toglie le aree di scrittura che a chi legge non servono.

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