# Configurazione: note e riferimenti

> Note a piè di pagina, numeri di riga, rimandi e citazioni, l’indice dei contenuti e l’indice analitico

- Versione HTML: https://postext.dev/it/docs/configuration-notes-references
- Ultimo aggiornamento: 2026-10-10
- Tempo di lettura: 4 min
- Altre lingue: [en](https://postext.dev/en/docs/configuration-notes-references.md), [es](https://postext.dev/es/docs/configuration-notes-references.md), [ca](https://postext.dev/ca/docs/configuration-notes-references.md), [de](https://postext.dev/de/docs/configuration-notes-references.md), [fr](https://postext.dev/fr/docs/configuration-notes-references.md), [pt](https://postext.dev/pt/docs/configuration-notes-references.md), [zh](https://postext.dev/zh/docs/configuration-notes-references.md), [ja](https://postext.dev/ja/docs/configuration-notes-references.md), [ar](https://postext.dev/ar/docs/configuration-notes-references.md)

## In breve

Questa pagina riguarda le impostazioni delle parti di un libro che rimandano altrove. Le note a piè di pagina stanno in fondo alla pagina, e i numeri di riga stanno nel margine. I rimandi indicano una figura, una sezione o una pagina, e le citazioni indicano le opere che citi. Il sommario elenca i capitoli, e l’indice analitico in fondo al libro elenca i termini con le loro pagine. Ogni sezione spiega l’aspetto di questi elementi e come vengono numerati.

## Note a piè di pagina

La proprietà `footnotes` stabilisce dove vanno le note citate con `[^id]`, come sono numerate e che aspetto hanno. Il markup è descritto in [Formato del documento](https://postext.dev/it/docs/document-format.md#note-a-piè-di-pagina).

```ts
interface FootnotesConfig {
  placement?: 'column' | 'chapterEnd' | 'spread'; // Foot of the citing column, after the chapter, or beside the text of a spread.
  numbering?: 'chapter' | 'document' | 'page' | 'column' | 'spread'; // Start again at each chapter, run on, or start again on each page / column / spread.
  numberFormat?: string;      // decimal, lower-roman, circled-decimal (①)…
  symbols?: string[];         // The note symbols of numberFormat: 'symbols'.
  markerPosition?: 'auto' | 'superscript' | 'inline' | 'side' | 'right'; // Raised, on the baseline, beside the word, or right of a vertical line.
  markerSize?: Dimension;     // Inline, side or right marker size; em is the text around it.
  numberGap?: 'en' | 'em';    // Space after the note's own number.
  chapterEndAlign?: 'foot' | 'text';   // chapterEnd: notes at the column foot, or under the text.
  fontSize?: Dimension;       // Note size; em is the body size.
  lineHeight?: Dimension;     // Note leading; em is the note size.
  color?: ColorValue;         // Note colour; the body colour when unset.
  textAlign?: TextAlign;      // The body alignment when unset.
  wordBreak?: 'normal' | 'keep-all'; // The document's cjk.wordBreak when unset.
  hangingIndent?: Dimension;  // Indent of a note's turnover lines.
  spaceBetween?: Dimension;   // Space between two notes.
  spaceAbove?: Dimension;     // Space between the text and the rule; em is the body size.
  spaceBelowRule?: Dimension; // Space between the rule and the first note.
  separator?: {
    enabled?: boolean;        // Draw the rule.
    width?: number;           // Rule length, a fraction of the column width.
    lineWidth?: Dimension;    // Rule thickness.
    color?: ColorValue;       // The note colour when unset.
  };
}
```

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `placement` | `'column' \| 'chapterEnd' \| 'spread'` | `'column'` (libri giapponesi in verticale: `'chapterEnd'`) | `'column'` colloca ogni nota al piede della colonna che contiene la riga che la cita, sotto un breve filetto; in un’impaginazione a una colonna è il piede della pagina. `'chapterEnd'` colloca tutte le note di un capitolo dopo il suo ultimo blocco, in ordine di citazione. `'spread'` (傍注, solo testo verticale) colloca le note citate in entrambe le pagine di una doppia pagina alla fine della sua pagina dispari, la pagina sinistra di un libro rilegato a destra, sotto il filetto: le note citate nella pagina pari la aspettano, una nota che lascerebbe alla pagina dispari meno di una riga di testo resta al piede della pagina pari insieme a quelle che la seguono, e un capitolo che termina su una pagina pari vi conserva le note in attesa. Nel testo orizzontale ripiega su `'column'` con un avviso `unknownConfigValue`. Da postext 1.16. |
| `numbering` | `'chapter' \| 'document' \| 'page' \| 'column' \| 'spread'` | `'chapter'` (libri giapponesi in orizzontale: `'page'`; con `placement: 'spread'`: `'spread'`; con `numberFormat: 'symbols'` al piede della colonna: `'page'`) | `'chapter'` ricomincia da 1 sotto ogni titolo di livello 1 e all’inizio di ogni documento. `'document'` prosegue per tutto il documento e, in un libro impaginato capitolo per capitolo, da un capitolo al successivo (`continuationAfter` riporta l’ultimo numero come `continuation.footnoteNumber`). `'page'` ricomincia da 1 a ogni pagina e `'column'` a ogni colonna, contando le note dove l’impaginazione le colloca (le colonne di una pagina in ordine di lettura): il consueto 页下注 di un libro cinese. Il documento viene impaginato, numerato in base a dove sono finite le sue note e impaginato di nuovo finché i numeri non restano stabili (al massimo tre build in più). Entrambi si applicano alle note al piede della colonna: con `placement: 'chapterEnd'` le note sono numerate per capitolo. `'spread'` ricomincia a ogni doppia pagina (pagine 2–3, 4–5…), in ordine di citazione, per `placement: 'spread'`. |
| `numberFormat` | `string` | `'decimal'` | Come si scrivono i numeri, in una qualsiasi delle grafie accettate dalle impostazioni di numerazione: `'decimal'`, `'lower-roman'`, `'lower-alpha'`, `'circled-decimal'` (o `'①'`), `'cjk-decimal'`, `'一'`… La usano sia il richiamo sia il numero che apre la nota. `circled-decimal` scrive in decimale i numeri oltre il 50. Un nome sconosciuto numera in decimale, con un avviso `unknownNumberFormat`. `'symbols'` (o `'*'`) contrassegna le note con simboli di richiamo, a turno quelli di `symbols`: * † ‡ § ‖ ¶, poi raddoppiati (** †† ‡‡…) e triplicati; le note vengono allora contate di nuovo a ogni pagina, a meno che non sia impostato `numbering`. Da postext 1.19. |
| `symbols` | `string[]` | `['*', '†', '‡', '§', '‖', '¶']` | La sequenza che scrive `numberFormat: 'symbols'`, raddoppiata e poi triplicata quando si esaurisce. I file latini di Google Fonts e Fontsource contengono * † § ¶ (la croce in `latin-ext`) ma né ‡ né ‖, che il PDF disegna allora con il glifo `.notdef` del carattere, con un avviso `missingGlyph`: con un carattere del genere, escludili (`['*', '†', '§', '¶']`) o componi le note in un carattere che li abbia. Le stringhe vuote vengono scartate e un elenco vuoto mantiene il valore predefinito. Da postext 1.19. |
| `markerPosition` | `'auto' \| 'superscript' \| 'inline' \| 'side' \| 'right'` | `'auto'` | `'superscript'` innalza il richiamo nel testo e il numero che apre la nota, in corpo ridotto. `'inline'` li colloca sulla linea di base: il richiamo a `markerSize`, il numero della nota al corpo della nota; nel testo verticale un richiamo cerchiato in linea sta dritto in una cella propria. `'right'` colloca un richiamo ridotto a filo del lato destro di una riga verticale, come i libri giapponesi in verticale compongono （1）; nel testo orizzontale è un apice. `'side'` (合印) colloca un piccolo richiamo accanto alla parola marcata, dal lato del suo ruby, terminando dove termina l’ultimo carattere della parola; non occupa spazio nella riga, che va a capo e si giustifica come se non ci fosse, e uno spazio tra le righe troppo stretto per accoglierlo viene segnalato come `rubyExceedsLeading`. `'auto'` equivale a inline per `circled-decimal`, a `'right'` in un libro giapponese in verticale, e ad apice negli altri casi. In ogni caso il richiamo resta con il carattere che lo precede e non apre mai una riga. |
| `markerSize` | `Dimension` | `1em`; `0.6em` per `'side'`, `0.7em` per `'right'` | Dimensione di un richiamo inline, side o right; `em` è la dimensione del testo che lo circonda (`0.75em` è una riduzione comune). Nessun effetto su un richiamo in apice. |
| `numberGap` | `'en' \| 'em'` | `'en'` (note giapponesi dopo il capitolo: `'em'`) | Lo spazio dopo il numero che apre una nota: uno spazio en, o un em pieno della nota (uno spazio ideografico quando il numero o la nota contengono testo CJK), mai allargato né spezzato. Da postext 1.16. |
| `markerTemplate` | `string` | `'{n}'` (libri giapponesi in verticale: `'（{n}）'`) | Come si scrive il numero di una nota, dove `{n}` sta per il numero nel formato di numerazione e nelle cifre del documento: `'({n})'` dà i richiami tra parentesi dei libri arabi, «(١)». Scrive allo stesso modo il richiamo nel testo e il numero che apre la nota. Un modello senza `{n}` si legge come il valore predefinito. |
| `noteNumberPosition` | `'auto' \| 'superscript' \| 'inline'` | `'auto'` | Dove sta il numero che apre la nota, in apice o sulla riga al corpo della nota. `'auto'` segue `markerPosition`. I libri arabi mettono in apice il richiamo nel testo e collocano sulla riga il numero proprio della nota. |
| `chapterEndAlign` | `'foot' \| 'text'` | `'foot'` | Con `placement: 'chapterEnd'`: `'foot'` colloca al piede della colonna le note che la chiudono, con le righe avanzate che restano tra il testo e le note, come stanno le note al piede della colonna. `'text'` le colloca subito sotto il testo. |
| `fontSize` | `Dimension` | `0.8em` | Dimensione del testo delle note. `em` e `rem` sono il corpo del testo corrente. Le note usano la famiglia e i pesi del testo corrente. |
| `lineHeight` | `Dimension` | `1.25em` | Interlinea del testo delle note; `em` è il corpo della nota. Le note sono fuori dalla griglia della linea di base: si impilano a partire dal piede della colonna, e il testo sopra di esse resta sulla griglia. |
| `color` | `ColorValue` | colore del testo corrente | Colore del testo delle note. |
| `textAlign` | `TextAlign` | allineamento del testo corrente | Allineamento del testo delle note. |
| `wordBreak` | `'normal' \| 'keep-all'` | `cjk.wordBreak` | Dove le note vanno a capo tra caratteri cinesi, giapponesi e coreani, indipendentemente dal testo corrente (vedi [`cjk.wordBreak`](https://postext.dev/it/docs/configuration-east-asian.md#tipografia-dellasia-orientale)). `'keep-all'` tiene unita una sequenza di tali caratteri: le letture citate in una nota in inglese (`看月光`) non hanno più bisogno di un word joiner tra ogni coppia di caratteri, mentre le poesie della pagina continuano ad andare a capo tra due caratteri qualsiasi. `'normal'` fa il contrario in un documento che imposta `'keep-all'`. Lo adottano le note al piede della colonna, alla fine del capitolo e accanto a una doppia pagina. Da postext 1.28. |
| `hangingIndent` | `Dimension` | `0` | Rientro della seconda riga e delle successive di una nota, perché si allineino oltre il suo numero. |
| `spaceBetween` | `Dimension` | `0` | Spazio tra due note. |
| `spaceAbove` | `Dimension` | `0.5em` | Spazio tra l’ultima riga di testo e il filetto; `em` è il corpo del testo corrente. Con `'chapterEnd'` e `chapterEndAlign: 'text'`, `spaceAbove` + `spaceBelowRule` è lo spazio tra il testo e la prima nota. |
| `spaceBelowRule` | `Dimension` | `0.4em` | Spazio tra il filetto e la prima nota. |
| `separator.enabled` | `boolean` | `true` | Disegna il filetto sopra le note di ogni colonna. Con `false` gli spazi sopra restano. |
| `separator.width` | `number` | `0.3` | Lunghezza del filetto come frazione della larghezza della colonna (0–1), a partire dal bordo sinistro della colonna. |
| `separator.lineWidth` | `Dimension` | `0.5pt` | Spessore del filetto. |
| `separator.color` | `ColorValue` | colore delle note | Colore del filetto. |

```ts
footnotes: {
  fontSize: { value: 7.5, unit: 'pt' },
  lineHeight: { value: 9.5, unit: 'pt' },
  hangingIndent: { value: 0.8, unit: 'em' },
  separator: { width: 0.25, lineWidth: { value: 0.4, unit: 'pt' } },
}
```

**Libri giapponesi.** Un documento giapponese (`locale: 'ja'`, da postext 1.16) assegna ai campi che lascia non impostati i valori di JLReq §4.2. Un libro verticale colloca le note dopo il capitolo (`placement: 'chapterEnd'`, 後注), numerate per capitolo, con richiami `（{n}）` a destra della riga (`markerPosition: 'right'`, cifre dritte grazie a `cjk.uprightDigits`); uno orizzontale le colloca al piede della pagina, numerate per pagina, con richiami in apice. Entrambi disegnano il filetto lungo un terzo della giustezza (`separator.width: 1/3`), e le note dopo il capitolo prendono `numberGap: 'em'` e un rientro sporgente di due em. Un valore esplicito ha la precedenza e si conserva al salvataggio (`stripFootnotesDefaults` confronta con i valori predefiniti propri del documento); i documenti cinesi, arabi e latini si risolvono come prima. `footnoteDocumentDefaults(locale, writingMode, placement?)` restituisce questi valori. Scrivi un richiamo prima di un 。 di fine frase (`先生[^1]。`): resta con il carattere che lo precede, e 。 non apre mai una riga. Vedi [Impaginazione giapponese › Note](https://postext.dev/it/docs/japanese-layout.md#note).

Come si dispongono le note al piede della colonna:

- **Nota e citazione condividono una colonna.** Prima di collocare una riga, l’impaginazione aggiunge l’altezza delle note che quella riga cita per la prima volta (e il filetto, per la prima nota della colonna). Una riga le cui note non stanno sotto di essa passa alla colonna successiva con il resto del suo paragrafo, nel rispetto delle regole su orfane e vedove. L’area del testo della colonna si riduce dell’altezza delle note, quindi il bilanciamento delle colonne e la fascia di chiusura di un capitolo contano solo il testo.
- **Più note** in una colonna si impilano in ordine di citazione sotto un unico filetto. Una nota citata di nuovo più avanti conserva il suo numero e non viene composta di nuovo.
- **Elementi flottanti in basso.** Una figura che occupa il piede di una colonna dopo che le sue note sono state collocate va sopra di esse; le note collocate dopo la figura vanno sopra di essa.
- **Riquadri.** Una nota citata dentro un riquadro (in linea, flottante o fisso) va al piede della colonna in cui prosegue il testo dopo il riquadro, di solito la stessa colonna. Un riquadro che chiude il documento lascia le sue note al piede della colonna in cui è terminato il testo.
- **Limiti.** Una nota non si divide mai: una più alta di una colonna la eccede. I richiami nelle didascalie, nelle celle di tabella e nei titoli non vengono letti (si stampano così come sono scritti).
- **Output.** Canvas, HTML e PDF disegnano le note, i richiami (un numero in apice) e il filetto. Nel PDF ogni richiamo è un link alla sua nota, e un PDF con tag imposta ogni nota come elemento `Note` con un `/ID` univoco elencato nel `/IDTree` dell’albero di struttura (PDF/UA-1). Le note sono `VDTBlock` con `footnoteNote` impostato, in `page.floats`; i filetti sono in `page.footnoteAreas`.
- **Avvisi.** `undefinedFootnote` (un richiamo senza definizione: il numero si stampa sopra una nota vuota) e `unusedFootnote` (una definizione che nessun richiamo cita: non viene composta).

Il resolver e lo stripper funzionano come nelle altre sezioni:

```ts
import { DEFAULT_FOOTNOTES_CONFIG, resolveFootnotesConfig, stripFootnotesDefaults, footnoteDocumentDefaults } from 'postext';

resolveFootnotesConfig(config.footnotes, 'ja', 'vertical-rl'); // unset fields take the Japanese vertical defaults
```

## Numeri di riga

La proprietà `lineNumbers` stampa nel margine accanto a ogni quinta riga (o a ogni N-esima) il suo numero, come fanno le edizioni critiche, le antologie poetiche, i testi giuridici e le edizioni scolastiche. Conta i versi delle poesie `:::verse`, oppure ogni riga del testo. È disattivata per impostazione predefinita. Ogni numero si disegna sulla linea di base della sua riga, con una dimensione propria, e non sposta mai una riga: la pagina viene impaginata esattamente come lo sarebbe senza numeri. Da postext 1.23.

```ts
interface LineNumbersConfig {
  enabled?: boolean;        // Off by default.
  count?: 'verse' | 'all';  // The lines of poems, or every line of the text.
  interval?: number;        // Print the multiples of N.
  numberFirst?: boolean;    // Also print the first line after each restart.
  restart?: 'document' | 'chapter' | 'section' | 'page' | 'poem'; // Where the count starts again.
  startAt?: number;         // The number of the first line after a restart.
  position?: 'outer' | 'inner' | 'left' | 'right' | 'start' | 'end' | 'side';
  multiColumn?: 'each' | 'gutter' | 'outer-edges'; // Pages of two or more columns.
  gap?: Dimension;          // From the text to the number; em is the number's size.
  align?: 'auto' | 'left' | 'right';
  fontFamily?: string;      // The body family when unset.
  fontSize?: Dimension;     // em is the body size.
  fontWeight?: number;      // The body weight when unset.
  italic?: boolean;
  color?: ColorValue;       // The body colour when unset.
  format?: string;          // decimal, lower-roman, arabic-indic, 一…
}
```

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `enabled` | `boolean` | `false` | Stampa i numeri di riga. Un documento verticale (`layout.writingMode: 'vertical-rl'`) non ne ha, e lì `true` viene segnalato come `lineNumbersUnsupported`. |
| `count` | `'verse' \| 'all'` | `'verse'` | `'verse'` conta i versi delle poesie `:::verse`, ogni verso una volta: una riga di rimando (il resto di un verso troppo lungo per la giustezza, composto nella riga successiva) non riceve numero, e lo spazio tra le strofe non si conta. Una poesia nell’impaginazione araba classica conta una riga per bayt; la seconda riga di un bayt sfalsato non si conta. `'all'` conta ogni riga dei paragrafi del testo corrente, degli elementi di elenco, delle citazioni in blocco e dei versi, in ordine di lettura: pagina per pagina, colonna per colonna, dall’alto in basso. |
| `interval` | `number` | `5` | Stampa il numero di ogni riga che è un multiplo di questo (5, 10, 15…). Una poesia la cui prima riga è la 37 stampa 40, 45… Il recinto di una poesia può impostarne uno proprio (`interval=N`). |
| `numberFirst` | `boolean` | `false` | Stampa anche il numero della prima riga contata dopo ogni ripartenza. |
| `restart` | `'document' \| 'chapter' \| 'section' \| 'page' \| 'poem'` | `'poem'` con `count: 'verse'`, `'page'` con `count: 'all'` | Dove il conteggio ricomincia: mai (`'document'`, che prosegue attraverso i capitoli di un libro), a ogni titolo di livello 1 (`'chapter'`), a ogni titolo di livello 1 o 2 (`'section'`), a ogni pagina (`'page'`) o a ogni poesia `:::verse` (`'poem'`). `lineStart=N` di una poesia e `lines=N` della direttiva `:::numbering` lo fanno ripartire in qualsiasi punto, in qualsiasi modalità. |
| `startAt` | `number` | `1` | Il numero della prima riga dopo una ripartenza. |
| `position` | `'outer' \| 'inner' \| 'left' \| 'right' \| 'start' \| 'end' \| 'side'` | `'outer'` | Il lato su cui stanno i numeri. `'outer'` è il lato lontano dal dorso: la destra di una pagina dispari e la sinistra di una pari, il contrario in un libro rilegato a destra. `'inner'` è il lato del dorso. `'left'` e `'right'` sono uguali su ogni pagina. `'start'` e `'end'` seguono la direzione del documento: `'start'` è la destra in un libro da destra a sinistra. `'side'` li colloca nella colonna laterale di un’impaginazione `'oneAndHalf'` con `layout.sideColumnRole: 'floats'`, a filo del bordo della colonna laterale vicino al testo (`gap` non viene usato); su una pagina senza colonna laterale ripiega su `'outer'`. |
| `multiColumn` | `'each' \| 'gutter' \| 'outer-edges'` | `'outer-edges'` | Pagine con due o più colonne di testo affiancate. `'outer-edges'` mette i numeri della prima colonna alla sua sinistra e quelli dell’ultima alla sua destra; le colonne intermedie seguono `'each'`. `'gutter'` li mette negli intercolonni: quelli della prima colonna alla sua destra, quelli delle altre alla loro sinistra. `'each'` mette i numeri di ogni colonna sul lato indicato da `position`. |
| `gap` | `Dimension` | `1em` | La distanza dal bordo della colonna al numero; `em` è la dimensione propria del numero. |
| `align` | `'auto' \| 'left' \| 'right'` | `'auto'` | `'auto'` allinea ogni numero verso il testo: a destra in un margine sinistro, a sinistra in un margine destro. `'left'` e `'right'` allineano i numeri entro la larghezza del numero più largo della pagina. |
| `fontFamily` | `string` | famiglia del testo corrente | Carattere dei numeri. Si carica e si incorpora come qualsiasi altra famiglia. |
| `fontSize` | `Dimension` | `0.8em` | Dimensione dei numeri; `em` è il corpo del testo corrente. |
| `fontWeight` | `number` | peso del testo corrente | Peso dei numeri. |
| `italic` | `boolean` | `false` | Compone i numeri in corsivo. |
| `color` | `ColorValue` | colore del testo corrente | Colore dei numeri. Un colore collegato alla tavolozza segue le tavolozze delle parti e delle sezioni. |
| `format` | `string` | decimale | Come si scrivono i numeri, in una qualsiasi delle [grafie dei formati di numerazione](https://postext.dev/it/docs/configuration-page-layout.md#grafie-dei-formati-di-numerazione) (`'lower-roman'`, `'arabic-indic'`, `'一'`…). I numeri decimali si scrivono nelle cifre del documento (`numerals`). Un nome sconosciuto numera in decimale, con un avviso `unknownNumberFormat`. |

```ts
lineNumbers: {
  enabled: true,
  count: 'verse',
  interval: 5,
  restart: 'document',          // one count through the whole book
  position: 'outer',
  fontSize: { value: 0.75, unit: 'em' },
  italic: true,
}
```

Che cosa si conta e che cosa no:

- **Mai contati**: titoli, didascalie, tabelle e immagini, formule in evidenza, testi del progetto grafico (aperture, testatine), note a piè di pagina e note di fine capitolo, il sommario, le voci dell’indice analitico e della bibliografia, e le pagine bianche.
- **Riquadri e prosa.** Il testo di un riquadro non si conta, e con `count: 'verse'` nemmeno la prosa, a meno che lo stile di paragrafo in cui è composta non indichi `lineNumbers: true`; uno stile con `lineNumbers: false` non si conta mai (vedi [Stili di paragrafo](https://postext.dev/it/docs/configuration-styles.md#stili-di-paragrafo)).
- **Una poesia.** Il recinto di una poesia accetta `numbered=false` (i suoi versi non si contano), `lineStart=N` (il suo primo verso è N, e il conteggio ricomincia lì) e `interval=N`. `:::numbering{lines=N}` assegna il numero N alla successiva riga contata, ovunque si trovi. Vedi [Formato del documento › `:::verse`](https://postext.dev/it/docs/document-format.md#verse) e [`:::numbering`](https://postext.dev/it/docs/document-format.md#numbering).

In un libro impaginato capitolo per capitolo, `restart: 'document'` porta il conteggio da un capitolo al successivo tramite `continuation.lineNumber`. `continuationAfter` conta i versi a partire dal testo; con `count: 'all'` il conteggio dipende dall’impaginazione, quindi l’host passa il `lastLineNumber` del documento del capitolo precedente, come fa la Sandbox.

Con `position: 'side'` i numeri condividono la colonna laterale con i riquadri laterali, le didascalie laterali e le figure laterali. Un numero che si sovrappone a uno di essi si disegna comunque, nessuno dei due si sposta, e la build segnala un avviso di contenuto `lineNumberOverlap` che indica la riga numerata.

**Output.** Il canvas, il PDF, il visualizzatore HTML e l’EPUB a layout fisso disegnano i numeri. In un PDF con tag sono artefatti di impaginazione e ciascuno porta un `/ActualText` vuoto, quindi il testo copiato o estratto scorre da una riga all’altra senza di essi. L’output HTML li nasconde alle tecnologie assistive (`aria-hidden`), alla selezione e al testo copiato. L’EPUB a layout fluido, le cui righe sono composte dal sistema di lettura, conserva solo i numeri dei versi: uno span `pt-line-number` (anch’esso `aria-hidden`) nel margine iniziale della strofa, accanto a ogni verso che nella stampa porta un numero. Nel VDT i numeri sono uno slot di design di ogni pagina (`page.lineNumbers`, con i suoi blocchi di testo contrassegnati `artifact`) e un elenco di marche (`page.lineNumberMarks`: `number`, `label`, `columnIndex`, `blockId`, `lineIndex`); il documento registra `lastLineNumber`.

**Non supportati**: numeri di riga nel testo verticale, un rimando che stampa il numero di una riga, note collegate ai numeri di riga, e numeri per le righe delle celle di tabella, delle didascalie o dei listati di codice.

Nella Sandbox queste impostazioni sono la sezione **Numeri di riga** del pannello Grafica. Il resolver e lo stripper funzionano come nelle altre sezioni; il font, il peso e il colore vengono dal testo corrente:

```ts
import { DEFAULT_LINE_NUMBERS_CONFIG, resolveLineNumbersConfig, stripLineNumbersDefaults } from 'postext';

resolveLineNumbersConfig(config.lineNumbers, resolvedBodyText); // unset font, weight and colour follow the body
```

## Rimandi

La proprietà `crossRefs` stabilisce le parole che un [rimando](https://postext.dev/it/docs/document-format.md#rimandi-e-ancore) stampa attorno a un numero o a una pagina, e lo stile che prende un `:ref` quando non ne imposta uno. Ogni modello contiene `{n}` dove va il numero; uno senza riceve il numero dopo uno spazio indivisibile (`"§"` stampa *§ 3.2*). Un modello non impostato segue la lingua del documento: *chapter / section / p.* in inglese, *capítulo / sección / pág.* in spagnolo, `第{n}章` / `第{n}节` / `第{n}页` in cinese, e così via per francese, tedesco, italiano, portoghese, catalano e olandese.

```ts
interface CrossRefsConfig {
  chapter?: string;  // Words around a level-1 heading's number: "chapter {n}".
  section?: string;  // Around any other heading's number: "section {n}".
  page?: string;     // Around a page number: "p. {n}".
  defaultStyle?: 'default' | 'number' | 'title' | 'page'; // A :ref without style=.
  breakLabels?: boolean; // A label of words breaks at its spaces.
}
```

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `chapter` | `string` | secondo la lingua | Un rimando a un titolo di livello 1: `"chapter {n}"`. Un numero di titolo il cui modello contiene già la parola (`Chapter {1}`, `第{1:一}章`) si stampa così com’è. |
| `section` | `string` | secondo la lingua | Un rimando a un titolo di livello da 2 a 6: `"section {n}"`, `"§ {n}"`. |
| `page` | `string` | secondo la lingua | Un rimando a una pagina (`style=page`): `"p. {n}"`, `"page {n}"`. |
| `defaultStyle` | `'default' \| 'number' \| 'title' \| 'page'` | `'default'` | Ciò che stampa un `:ref` a un titolo o a un’ancora senza `style=`. `'default'`: un titolo numerato con la sua parola e il suo numero, uno non numerato con il suo titolo, un’ancora con il suo testo. Un rimando che imposta `style` lo conserva, e i rimandi a figure e tabelle non sono interessati. |
| `breakLabels` | `boolean` | `true` | Consente di andare a capo negli spazi di un rimando la cui etichetta è fatta di parole: il testo di un’ancora `[words]{#id}`, il titolo di un titolo o di un riquadro, una sostituzione `text="…"` (anche su un rimando a una figura o a una tabella). Gli spazi dell’etichetta si allargano e si stringono allora con la riga, e il rimando resta un unico link; le sue parole non vengono sillabate. Un numero, un numero romano o una singola lettera dentro un’etichetta del genere resta con la parola che lo precede (`Fig. 1a`, `plate IV`). Un’etichetta con un numero o una pagina (*section 3.2*, *p. 112*, *Fig. 1.7*, *Theorem 2*) non va mai a capo, anche quando il suo modello contiene uno spazio normale. `false` compone ogni etichetta come un’unica parola, senza a capo all’interno, come fino a postext 1.27. Una configurazione salvata prima di `configVersion` 12 il cui testo contiene un rimando si legge con `false`, così le sue righe restano dove erano (vedi [Pacchetti scritti da postext 1.4 o precedenti](https://postext.dev/it/docs/configuration-programmatic-usage.md#pacchetti-scritti-da-postext-14-o-precedenti)). |

I rimandi prendono il colore, il peso e l’inclinazione comuni a tutti i rimandi (`bodyText.referenceColor`, `referenceBold`, `referenceItalic`).

## Citazioni

La proprietà `citations` sceglie lo stile delle citazioni e l’aspetto delle citazioni e della bibliografia. Il markup è descritto in [Citazioni e bibliografia](https://postext.dev/it/docs/document-format.md#citazioni-e-bibliografia); lo stile viene applicato dal pacchetto `postext-citeproc`.

```ts
interface CitationsConfig {
  style?: string;          // 'apa', 'ieee', 'chicago-notes-bibliography'… or 'custom'
  customStyle?: string;    // a whole CSL style (.csl XML), used with style: 'custom'
  locale?: string;         // CSL locale; the document language when unset
  link?: boolean;          // citations link to their entries
  marker?: 'style' | 'brackets' | 'parentheses' | 'superscript' | 'corner';
  collapseRanges?: boolean;
  notes?: 'footnote' | 'warichu';
  numbering?: 'book' | 'chapter';
  hyphenateNames?: boolean; // false: the cited authors' names are never divided
  bibliography?: {
    title?: string;        // unset: the document language's word; '' or ' ': none
    scope?: 'book' | 'chapter';
    auto?: boolean;
    fontSize?: Dimension;
    lineHeight?: Dimension;
    hangingIndent?: Dimension;
    entrySpacing?: Dimension;
    labelWidth?: Dimension;
    labelAlign?: 'left' | 'right';
    doi?: 'link' | 'text' | 'hide';
    includeUncited?: boolean;
    groupByLanguage?: boolean;
  };
}
```

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `style` | `string` | `'apa'` | L’id di uno stile incluso (vedi [Stili](https://postext.dev/it/docs/document-format.md#stili)) o `'custom'`. Lo stile decide che cosa dicono le citazioni e le voci: nomi, date, ordine, punteggiatura, e se le citazioni sono note. |
| `customStyle` | `string` | — | Uno stile CSL completo, l’XML di un file `.csl`, usato quando `style` è `'custom'`. La Sandbox lo carica da un file. |
| `locale` | `string` | lingua del documento | La locale CSL in cui lo stile scrive le sue parole (`en-US`, `es-ES`, `zh-CN`, `zh-TW`, `ja-JP`…). Un documento giapponese si legge come `ja-JP`: le citazioni narrative uniscono due autori con と e abbreviano gli elenchi più lunghi con ほか. |
| `link` | `boolean` | `true` | Una citazione è un link alla sua voce nella bibliografia (link PDF, ancora HTML, clic nella Sandbox). |
| `marker` | `'style' \| 'brackets' \| 'parentheses' \| 'superscript' \| 'corner'` | `'style'` | Come uno stile numerato contrassegna una citazione: come lo scrive lo stile, `[1]`, `(1)`, un apice, o `〔1〕` (dritto nel testo verticale). Un localizzatore segue il numero. |
| `collapseRanges` | `boolean` | `true` | I numeri consecutivi come intervallo: `1–3` in un unico richiamo, `[2]–[4]` in quelli di IEEE. `false` li tiene separati. |
| `notes` | `'footnote' \| 'warichu'` | `'footnote'` | Dove uno stile a note colloca le sue citazioni: note a piè di pagina (collocate e numerate come indica `footnotes`), o note su due righe all’interno della riga (夹注). |
| `numbering` | `'book' \| 'chapter'` | `'book'` | Citazioni per tutto il libro, o per ciascun capitolo separatamente (ogni documento, e ogni titolo di livello 1 dopo una citazione): uno stile numerato numera ogni capitolo a partire da 1 e un’opera citata in due capitoli prende il numero di ciascun capitolo; uno stile a note scrive un’opera per esteso alla sua prima citazione in ogni capitolo. Pensato per `bibliography.scope: 'chapter'`, i cui elenchi prendono allora i numeri del capitolo. |
| `hyphenateNames` | `boolean` | `true` | Lascia che il dizionario divida i nomi degli autori citati. `false` tiene interi il cognome di ogni persona nei riferimenti (autori, curatori, traduttori) e ogni nome dato come stringa unica, ovunque compaia con la sua maiuscola: in una citazione, nel testo corrente e nell’elenco, così nessuna riga termina con `(Lup-`. Un doppio nome si legge parte per parte, e un autore che si chiama Baker non tiene intera la parola `baker`. Vedi [Parole tenute intere](https://postext.dev/it/docs/configuration-text.md#parole-tenute-intere). |
| `bibliography.title` | `string` | secondo la lingua | Titolo sopra l’elenco, un paragrafo in grassetto. Vuoto: nessuno. Un titolo tuo va sopra `:::bibliography`. |
| `bibliography.scope` | `'book' \| 'chapter'` | `'book'` | Un unico elenco di tutte le opere citate nel libro, o uno per capitolo con le opere che cita. In un documento di più capitoli ogni H1 inizia un nuovo elenco di capitolo; con `auto` un capitolo che non colloca alcun `:::bibliography` riceve il suo elenco alla fine. |
| `bibliography.auto` | `boolean` | `true` | Colloca l’elenco dopo il testo (l’ultimo capitolo, per un elenco relativo a tutto il libro) quando nessun `:::bibliography` lo colloca. |
| `bibliography.fontSize` | `Dimension` | `0.9em` | Dimensione delle voci; em è il corpo del testo corrente. |
| `bibliography.lineHeight` | `Dimension` | interlinea del testo corrente | Interlinea delle voci. |
| `bibliography.hangingIndent` | `Dimension` | `2em` | Rientro delle righe di rimando di una voce non numerata. |
| `bibliography.entrySpacing` | `Dimension` | `0.3em` | Spazio tra due voci. |
| `bibliography.labelWidth` | `Dimension` | etichetta più lunga | Larghezza della colonna in cui stanno i numeri di un elenco numerato: il testo di ogni voce inizia a questa distanza, nella prima riga come nelle righe di rimando, così `9.` e `10.` condividono la colonna. L’etichetta resta parte del testo della voce. |
| `bibliography.labelAlign` | `'left' \| 'right'` | `'left'` | Dove sta un’etichetta nella sua colonna: contro il bordo sinistro, o contro il testo (`9.` e `10.` terminano insieme). |
| `bibliography.doi` | `'link' \| 'text' \| 'hide'` | `'link'` | DOI e URL come link, come testo semplice, o esclusi. |
| `bibliography.includeUncited` | `boolean` | `false` | Elenca ogni riferimento, citato o no (come `nocite: "@*"`). |
| `bibliography.groupByLanguage` | `boolean` | `false` | Prima le opere in cinese, giapponese e coreano, poi le altre. Solo per gli stili autore-data e autore-pagina: un elenco numerato mantiene l’ordine dei suoi numeri. |

## Indice dei contenuti

La proprietà `toc` configura ciò che stampa una direttiva `:::toc` (vedi [Formato del documento](https://postext.dev/it/docs/document-format.md#toc)). Il sommario si costruisce a partire dalla **struttura** del documento (ogni titolo con il suo numero e la sua etichetta di pagina, ogni `:::part`), quindi segue i capitoli: rinominane uno, spostalo in un’altra parte, cambiane gli autori, e le voci cambiano di conseguenza. Una voce è il numero del titolo in una colonna propria, il titolo, una linea di guida e l’etichetta di pagina al margine destro, poi una riga facoltativa di sottotitolo; una parte è una riga disegnata da `parts.design`.

```ts
const config: PostextConfig = {
  toc: {
    levels: [{ level: 1, fontWeight: 700, color: { hex: '#00507b', model: 'hex' }, numberWidth: { value: 7.4, unit: 'mm' } }],
    unnumbered: { color: { hex: '#000000', model: 'hex' } },
    pageNumber: { fontWeight: 400, width: { value: 8, unit: 'mm' } },
    leader: { char: '.', gap: { value: 1, unit: 'mm' } },
    subtitle: { enabled: true, attr: 'author', italic: true, fontSize: { value: 8.5, unit: 'pt' } },
    parts: {
      height: { value: 23, unit: 'pt' },
      marginTop: { value: 11.5, unit: 'pt' },
      design: { elements: [/* a band box, 'SECTION {number}', '{titleText}', '{pageNumber}' */] },
    },
  },
};
```

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `levels` | `TocLevelConfig[]` | livello 1 | Livelli di titolo elencati, ciascuno con la tipografia della sua voce: `fontFamily`, `fontSize`, `lineHeight` (predefinito l’interlinea del testo corrente, così il sommario sta sulla griglia), `fontWeight`, `italic`, `color`, `indent` (dell’intera voce), `numberWidth` / `numberGap` (la colonna del numero dopo la quale inizia il titolo; i numeri vi sono allineati a destra, e un numero più largo di `numberWidth`, come `الفصل الحادي عشر` o `Chapter 12`, allarga la colonna del suo livello fino al più largo), `numberFontFamily`, `numberFontSize`, `numberFontWeight`, `numberColor`, `marginTop`, `marginBottom`. I campi non impostati ereditano dal testo corrente. Il numero sta sulla linea di base della prima riga del titolo, qualunque siano il suo carattere e la sua dimensione, sul canvas, in HTML e nel PDF (fino a postext 1.4 era centrato sull’altezza della x come il punto di un elenco, quindi un carattere da titolazione o una dimensione maggiore finivano più in alto del titolo). Un renderer tuo trova quella linea di base in `bulletBaselineY` del blocco della voce; `bulletY` è ancora il punto medio del riquadro em del numero, come in 1.4, quindi un renderer anteriore al nuovo campo disegna i numeri dove li ha sempre disegnati. |
| `unnumbered` | `TocEntryStyleConfig` | — | Sostituzioni per i titoli il cui stile ha `numbered: false` (una prefazione): non stampano alcun numero e iniziano a filo dell’`indent` del livello. |
| `pageNumber` | oggetto | carattere del livello 1, peso del testo corrente | `fontFamily`, `fontSize`, `fontWeight`, `italic`, `color` dell’etichetta di pagina, e `width` (predefinito `2em`): la colonna riservata a essa al margine destro, dove è allineata a destra. |
| `leader` | oggetto | `{ enabled: true, char: '.', gap: 0.5em }` | `char` si ripete nello spazio tra il titolo e il numero di pagina, allineato a destra perché i punti di voci consecutive si allineino (`'. '` li distanzia); `gap` è lo spazio minimo mantenuto tra il titolo e la linea di guida. La linea di guida prende tutti i caratteri che ci stanno, misurati come un’unica sequenza nel suo carattere, quindi un carattere che allontana con la crenatura i punti consecutivi ottiene meno punti, anziché punti che arrivano fino al numero di pagina. (Fino a postext 1.4 il conteggio si ricavava da un solo punto, e con un carattere del genere la linea di guida invadeva il numero partendo dal titolo.) Un titolo che non lascerebbe spazio all’etichetta va a capo un po’ prima. Una linea di guida si compone con tre caratteri o più: dove ne stanno solo uno o due, la riga non ne ha, perché un punto isolato prima del numero di pagina si legge come un punto fermo. In un PDF con tag i punti sono artefatti, esclusi dal testo estratto. Il testo corrente compone le stesse linee di guida ai suoi [stop di tabulazione](https://postext.dev/it/docs/configuration-text.md#punti-di-tabulazione). |
| `subtitle` | oggetto | `{ enabled: false, attr: 'author' }` | Una seconda riga sotto la voce presa da un attributo del titolo (`attr`), cioè gli autori del capitolo, con i propri `fontFamily`, `fontSize`, `fontWeight`, `italic` (predefinito `true`), `color` e un `indent` aggiuntivo. La riga condivide l’interlinea della voce e non si separa mai dal suo titolo. |
| `parts.enabled` | `boolean` | `true` | Se le pagine di parte ricevono una riga. |
| `parts.breakBefore` | `boolean` | `false` | Apre una pagina nuova prima di ogni riga di parte tranne la prima, così i capitoli di ogni parte sono elencati in una pagina propria. |
| `parts.design` | `DesignSlot` | vuoto | Design della riga; il suo contenitore è la riga (larghezza della colonna × `height`). Segnaposto: `{number}`, `{numberDecimal}`, `{numberRoman}`…, `{titleText}` e `{pageNumber}` (l’etichetta della pagina di parte; con `parts.page: false`, che non apre alcuna pagina di parte, l’etichetta della pagina in cui inizia il contenuto della parte, dove le sue testatine passano a essa; in un libro impaginato capitolo per capitolo, un recinto che chiude il suo capitolo indica la prima pagina di contenuto del capitolo successivo). I colori collegati alla tavolozza prendono la `palette` propria della parte, così la riga di ogni sezione esce nel suo colore. Quando è vuoto, `{number} {titleText}` (con il `numberSeparator` dell’H1 tra i due) e il numero di pagina si compongono nella tipografia delle voci di livello 1. |
| `parts.height`, `marginTop`, `marginBottom` | `Dimension` | `2em`, `0`, `0` | Altezza della riga e spazio attorno a essa. `em` è il corpo del testo corrente, quindi la riga predefinita è alta il doppio del corpo, non due righe di testo: con un testo corrente 9,5/13,5 pt è di 19 pt. Per una riga di due righe di testo, indica l’altezza in `pt` (lì `27pt`). |

Le etichette di pagina sono quelle che il documento stampa. `buildDocument()` reimpagina un documento con un `:::toc` usando le etichette del passaggio precedente finché non si stabilizzano (al massimo tre passaggi in più); un host che impagina un libro capitolo per capitolo fornisce invece la struttura dell’intero libro come `PostextContent.outline`, costruita con `contentOutline()` (titoli e parti ricavati dal solo testo) e `outlineFromDoc()` (le stesse voci con le etichette di pagina di un’impaginazione), e reimpagina il capitolo del sommario ogni volta che cambia `outlineKey()` di quella struttura. Ogni voce di titolo porta il `number` che stampa il sommario e, per un titolo numerato, il suo `counter`: il conteggio progressivo del livello dopo un eventuale `startAt`, qualunque cosa stampi il modello, cioè ciò che un host mostra accanto a un capitolo nei propri elenchi.

## Indice analitico

La proprietà `index` configura ciò che stampa una direttiva `:::index` (vedi [Formato del documento](https://postext.dev/it/docs/document-format.md#indice-analitico)): i termini marcati con `:index[…]` e `:index{term="…"}` nel testo, ordinati, raggruppati per lettera iniziale (per iniziale pinyin o numero di tratti in cinese, per riga del gojūon in giapponese, vedi `groupBy`), ciascuno con le pagine in cui compare. Una voce è il suo termine, un separatore e i suoi numeri di pagina; seguono le sue sottovoci, con un gradino di rientro per livello, e le righe che vanno a capo sporgono di `turnoverIndent` così da non allinearsi mai con una sottovoce.

```ts
const config: PostextConfig = {
  headingStyles: [
    // The index in two columns, under its own heading.
    { id: 'index', numbered: false, layout: { layoutType: 'double', gutterWidth: { value: 6, unit: 'mm' } } },
  ],
  index: {
    fontSize: { value: 8.5, unit: 'pt' },
    lineHeight: { value: 11, unit: 'pt' },
    rangeFormat: 'chicago',
    groups: { fontFamily: 'Source Sans 3', fontWeight: 700, color: { hex: '#8a1c1c', model: 'hex' } },
  },
};
```

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `fontFamily`, `fontSize`, `lineHeight`, `fontWeight`, `color` | — | il testo corrente | Tipografia delle voci. Ogni riga dell’indice, comprese le testatine delle lettere, si compone su `lineHeight`; l’indice mantiene un ritmo proprio e non si aggancia alla griglia della linea di base. |
| `indent` | `Dimension` | `1em` | Rientro di ogni livello di sottovoce. |
| `turnoverIndent` | `Dimension` | `2em` | Rientro aggiuntivo delle righe a capo di una voce, oltre il suo livello. |
| `entrySpacing` | `Dimension` | `0` | Spazio sopra ogni voce principale. |
| `separator`, `locatorSeparator`, `rangeSeparator` | `string` | `', '`, `', '`, `'–'`; i primi due `'، '` nella scrittura araba | Ciò che si stampa tra il termine e la sua prima pagina, tra due pagine, e tra gli estremi di un intervallo. |
| `mergeRanges` | `boolean` | `true` | Unisce in un intervallo le pagine consecutive di uno stesso formato di numerazione: `12, 13, 14` stampa `12–14`. Le pagine principali non si uniscono mai. |
| `rangeFormat` | `'full' \| 'chicago'` | `'full'` | Come si scrive il secondo numero di un intervallo: per intero (`234–237`) o senza le cifre che condivide con il primo, come chiede *The Chicago Manual of Style* (9.64): `71–72`, `100–104`, `101–8`, `321–28`, `1496–500`. Le etichette romane si scrivono sempre per intero. |
| `main` | `{ bold?, italic? }` | grassetto | Come si compone una pagina principale (`main` sulla marca). |
| `see` | `{ label?, alsoLabel?, italic? }` | secondo la lingua, corsivo (tondo nella scrittura araba) | Le parole prima di un rimando. Se non impostate, seguono la lingua del documento: *See* / *See also*, *Véase* / *Véase también*, *Voir* / *Voir aussi*, 见 / 另见 (見 / 另見 in cinese tradizionale)… Un indice cinese colloca il rimando dopo un punto fermo, senza spazio: `贾琏 12。见贾政`. |
| `locale` | `string` | quella del documento | La lingua il cui ordine alfabetico ordina le voci (un tag BCP 47, letto da `Intl.Collator`). In spagnolo *ñ* si ordina dopo *n* e apre un gruppo proprio; gli accenti non cambiano mai l’ordine. |
| `groupBy` | `'auto' \| 'letter' \| 'pinyin' \| 'stroke' \| 'gojuon' \| 'kana' \| 'none'` | `'auto'` | Che cosa sono le testatine dei gruppi. `'letter'`: la prima lettera della chiave di ordinamento. `'pinyin'`: una voce che inizia con un carattere han si archivia sotto l’iniziale latina della sua lettura pinyin (贾宝玉 sotto `J`), e una chiave di ordinamento latina sotto la sua lettera, dopo le voci cinesi di quella lettera (il collator colloca le lettere latine dopo i caratteri cinesi): `sort="jia mu"` chiude la `J`. `'stroke'`: sotto il numero di tratti del primo carattere, `一畫`, `二畫`… (`一画`… in cinese semplificato). `'gojuon'`: una voce in kana si archivia sotto la sua riga del gojūon, あ行, か行 … わ行, e `'kana'` sotto il suo primo kana (katakana e hiragana condividono le testatine), nell’ordine JIS X 4061 di un indice giapponese: per lettura (`yomi` della marca, altrimenti la lettura in kana del suo ruby, altrimenti `sort`, altrimenti il testo), katakana come hiragana, kana piccoli come grandi, ー come la vocale che lo precede, 清 prima di 濁 prima di 半濁; prima i simboli, poi i numeri per valore, poi le parole latine sotto le loro lettere, poi i kana; una voce ancora intestata da un kanji viene segnalata come `indexReadingMissing` e collocata dopo i kana senza testatina. `'none'`: nessuna testatina; simboli, numeri e parole sono separati solo da `groups.marginTop`. `'auto'` raggruppa un indice giapponese (`ja`, `ja-*`) per riga del gojūon, un indice in cinese semplificato (`zh`, `zh-Hans`, `zh-CN`) per pinyin, uno in cinese tradizionale (`zh-Hant`, `zh-TW`, `zh-HK`) per tratti, e ogni altra lingua per lettera. Le voci si ordinano nella collazione da cui vengono le testatine: un indice `zh-Hant` raggruppato per pinyin si ordina per pinyin. Le letture e i numeri di tratti sono quelli del collator (CLDR); dove legge male un carattere (重 come *zhòng* in 重阳, 行 come *xíng* in 行业), assegna alla marca una chiave `sort` in caratteri che abbiano solo la lettura che vuoi, che si ordina al suo posto: `sort="崇阳"` per 重阳, `sort="航业"` per 行业. Un browser senza dati di collazione cinese stampa un indice per pinyin o per tratti senza testatine. |
| `ignoreArticle` | `boolean` | `true` in arabo | Ordina e raggruppa le voci arabe come se l’articolo iniziale `ال` (`ٱل`) non ci fosse: البصرة si archivia sotto ب, tra بدر e بغداد, e si stampa così com’è scritto. `الله` conserva il suo articolo, e una voce con una propria chiave `sort` si ordina secondo quella chiave così come è data. Qualunque cosa indichi questa impostazione, un indice arabo ignora i segni vocalici e il tatweel, archivia أ إ آ ٱ sotto ا, e ordina ؤ come و, ئ e ى come ي, ة come ه. |
| `groups.enabled` | `boolean` | `true` | Stampa una testatina sopra ogni gruppo di voci (`A`, `B`…, o il numero di tratti, `0–9` per i numeri, `Symbols` per il resto; `数字` / `數字` e `符号` / `符號` in cinese). |
| `groups.fontFamily`, `fontSize`, `fontWeight`, `italic`, `color` | — | quello delle voci, peso `700` | Il carattere della testatina della lettera. Si compone sul passo di riga delle voci. |
| `groups.marginTop` | `Dimension` | una riga dell’indice | Spazio sopra ogni gruppo, con o senza testatina; nessuno sopra il primo gruppo, la cui distanza dal titolo è quella del titolo, e nessuno in cima a una colonna. |
| `groups.splitMinEntries` | `number` | `2` | Quando una colonna o una pagina termina all’interno di un gruppo, il numero minimo di voci del gruppo lasciate al piede della colonna e il numero minimo portate in testa alla successiva. Con `2` nessuna voce resta sola sotto la sua testatina al piede di una colonna e nessuna apre da sola una colonna prima del gruppo successivo: un gruppo di due o tre voci si sposta intero, e uno di quattro o più si divide solo dove due restano e due passano avanti. Una voce è un blocco di voce (una voce principale o una sottovoce, con la testatina e le voci senza pagina collocate sopra di essa); un gruppo più alto di una colonna si divide dove è necessario. Anche il taglio di livellamento di una fascia di chiusura segue la regola, quindi un ultimo gruppo che non si può ripartire può lasciare le colonne disuguali di qualche riga. `1` permette a una colonna di terminare tra due voci qualsiasi, come fino a postext 1.27. Da postext 1.28; i documenti salvati prima che stampano un indice mantengono `1` (`pinLegacyIndexGroupSplit`). |
| `groups.symbolsLabel`, `numbersLabel` | `string` | secondo la lingua; `'0–9'`, `'数字'` / `'數字'` in cinese | Le testatine delle voci che iniziano con un simbolo e con una cifra. |

I numeri di pagina vengono dalla struttura del libro, come quelli del sommario: `computeOutline()` e `contentOutline()` elencano le marche d’indice di un testo come voci di tipo `'indexMark'` (con `indexMark.path`, `sort`, `see`, `seeAlso`, `main`, `range` e `index`), e `outlineFromDoc()` assegna a ciascuna la pagina in cui è finita, che la build registra in `doc.indexMarks` (`{ sourceStart, pageIndex }` per marca). `buildDocument()` reimpagina un documento che stampa il proprio indice finché i numeri non si stabilizzano; un host che impagina un libro capitolo per capitolo passa al capitolo che contiene `:::index` la struttura dell’intero libro come `PostextContent.outline`. `tocOutline()` e `indexOutline()` dividono una struttura in ciò che leggono il sommario e l’indice, così un host può collegare ogni capitolo alla parte che stampa: la Sandbox reimpagina il capitolo dell’indice solo quando si sposta una marca, e il capitolo del sommario solo quando si sposta un titolo. `contentOutline()` dice anche se un testo stampa un indice (`hasIndex`).
