# Formato del documento: formattazione in linea e formule

> I segni dentro una riga: enfasi, link, chip, maiuscoletto, tabulazioni, testo verticale, segni cinesi e giapponesi, direzione del testo e formule LaTeX

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

## In breve

Questa pagina riguarda i segni che usi dentro una riga di testo. Mettono le parole in grassetto o in corsivo, aggiungono link, disegnano piccole etichette, compongono il maiuscoletto e allineano il testo ai punti di tabulazione. Altri segni servono ai libri cinesi e giapponesi, come le piccole indicazioni di pronuncia sopra un carattere, o a una frase scritta nell’altra direzione, come l’inglese in un libro arabo. L’ultima sezione mostra come scrivere le formule matematiche.

## Formattazione in linea

Il markup in linea viene riconosciuto dentro qualsiasi blocco di testo (titoli, paragrafi, citazioni, voci di elenco). In un titolo segue `headings.inlineMarks`, attivo per impostazione predefinita: il corsivo, il grassetto, gli apici e i pedici, il maiuscoletto e i link del titolo si stampano come in un paragrafo, e una sequenza in corsivo in un titolo in corsivo risulta in tondo. Con l’opzione disattivata i marcatori vengono eliminati e il titolo si stampa nello stile proprio del titolo; le configurazioni salvate da postext 1.4 o precedenti i cui titoli contengono segni vengono lette in questo modo (vedi [Configurazione › Titoli](https://postext.dev/it/docs/configuration-headings.md#titoli)). Il progetto di un titolo stampa `{titleText}` come testo semplice in entrambi i casi.

> **Figura: La formattazione in linea a colpo d’occhio**
> Confronto tra il Markdown e il risultato per grassetto, corsivo, grassetto corsivo, codice in linea e link.
>
> *Il Markdown a sinistra, il risultato a destra.*

| Markup | Sintassi | Note |
| --- | --- | --- |
| Grassetto | `**bold**` o `__bold__` | Si disegna con `bodyText.boldFontWeight`. Un `bodyText.boldColor` facoltativo sostituisce il colore predefinito del testo per le sequenze in grassetto. |
| Corsivo | `*italic*` o `_italic_` | Si disegna con la variante corsiva della famiglia di caratteri corrente. Un `bodyText.italicColor` facoltativo sostituisce il colore predefinito del testo per le sequenze in corsivo. Un trattino basso marca l’enfasi solo al confine di una parola, come in CommonMark: uno tra due lettere o cifre (`snake_case_name`, il `SR_AIR_EN.pdf` di un URL) è testo (anche per `__bold__`); dentro una parola, usa gli asterischi (`un*believ*able`). Le lettere cinesi, giapponesi e coreane qui non contano, perché quelle scritture non hanno spazi: `中文_斜体_中文` e `中文__粗体__中文` sono corsivo e grassetto. Un `__` che non produce grassetto non diventa mai corsivo: `foo__bar__baz` resta testo. |
| Grassetto corsivo | `***both***` o `___both___` | I due attributi si combinano. |
| Apice | `^text^` | Composto al 58% del corpo del testo e alzato di un terzo: un esponente (`10^-8^`), la carica di uno ione (`Na^+^`). Il testo marcato inizia e termina con un carattere diverso dallo spazio; un accento circonflesso isolato nella prosa resta letterale, e così le faccine `^_^` e `^o^` (`n.^o^` e `1^o^` sono comunque apici). |
| Pedice | `~text~` | Stesso corpo, abbassato di 0,15 del corpo del testo, così resta entro i discendenti: un indice chimico (`H~2~O`, `p<em>K</em>~a~`). Una tilde con una cifra su ciascun lato è un intervallo e resta letterale: `3~5 days`, `需要3~5天`. Lo stesso vale per una tilde tra due parole cinesi, che non apre un pedice: `周一~周五`, `北京~上海`; un pedice si chiude comunque prima di un carattere cinese (`F~合~等于`). Si combina con grassetto e corsivo (`**H~2~O**`). Un pedice e un apice scritti insieme, senza nulla in mezzo, vengono impilati come in una formula: `*T*~0~^2^` mette il 2 sopra lo 0, qualunque dei due venga prima, con il pedice abbassato di 0,25 del corpo del testo per liberare l’apice, e la coppia prende la larghezza del più largo. Uno spazio o una lettera tra di essi li compone uno dopo l’altro; lo fa anche un word joiner (U+2060), senza nulla di visibile in mezzo. Una coppia impilata non si separa mai a un a capo: una parola troppo larga per la riga va a capo prima della coppia. |
| Maiuscoletto | `:smallcaps[text]` | Le lettere minuscole si compongono come maiuscole al 70% del corpo del testo: il nome di un personaggio in un’opera teatrale, una sigla nel testo corrente. Accetta altri segni al suo interno e intorno; vedi [Maiuscoletto](https://postext.dev/it/docs/document-format-inline.md#maiuscoletto). |
| Orientamento nel testo verticale | `:tcy[12]`, `:upright[GDP]`, `:sideways[12]` | Nel testo verticale: una cella diritta (tate-chu-yoko), ogni carattere diritto in una cella propria, o l’intera sequenza ruotata. Nessun effetto nel testo orizzontale; vedi [Orientamento nel testo verticale](https://postext.dev/it/docs/document-format-inline.md#orientamento-nel-testo-verticale). |
| Segni cinesi | `:dots[不可]`, `:name[賈寶玉]`, `:book[石頭記]` | Punti di enfasi (着重号), la linea dei nomi propri (专名号) e il segno dei titoli di libri (书名号: 《》 o una linea ondulata, secondo `cjk.bookTitleMark`). Il testo resta come è scritto; vedi [Segni cinesi, ruby e warichu](https://postext.dev/it/docs/document-format-inline.md#segni-cinesi-ruby-e-warichu). |
| Ruby | `:ruby[紅樓]{rt="hóng lóu"}` o `{紅樓\|hóng\|lóu}` | Letture pinyin o zhuyin sopra (o accanto a) i caratteri di base. La forma compatta richiede una base in Han, kana o bopomofo, quindi `{x\|x>0}` resta testo. |
| Warichu | `:warichu[note]{open="〔" close="〕"}` | Una nota composta in due righe a metà grandezza dentro la riga (双行夹注), divisa tra righe e pagine. |
| Codice in linea | ` 0 ` | Gli apici inversi vengono eliminati; la sequenza si disegna come testo semplice, esattamente come è scritta: un `:ref{…}`, un chip, una formula, un link o un marcatore di enfasi al suo interno si stampa letteralmente, ed è così che un testo mostra la sintassi. Si compone nel carattere del testo, oppure, con `codeStyle.inline`, nel carattere del codice come un’unità (vedi [Configurazione › Listati di codice](https://postext.dev/it/docs/configuration-styles.md#listati-di-codice)). Un listato va in un [blocco di codice](https://postext.dev/it/docs/document-format.md#blocchi-di-codice). |
| Escape | `\*`, `\_`, `\^`, `\~`, ``\```, `\$` | Una barra rovesciata compone il carattere marcatore stesso invece di aprire una sequenza: l’asterisco di una nota di tabella (`\* pOH = −log [OH^−^]`), un accento circonflesso letterale, un simbolo del dollaro che non apre una formula. Funziona nel testo, nei chip e in didascalie, celle e note. (Fino a postext 1.4 didascalie, celle, note e chip stampavano la barra rovesciata di `\$`.) |
| Spazio non separabile | il carattere stesso: U+00A0, U+202F, U+2007 | Incolla le parole ai suoi lati, così una riga non va mai a capo tra di esse: un numero e la sua unità (37 °C), un riferimento di pagina (p. 12), un gruppo di migliaia (225 000). Lo spazio non separabile (U+00A0), lo spazio stretto non separabile (U+202F) e lo spazio cifra (U+2007) incollano tutti, nel testo, nelle didascalie, nelle celle, nei riquadri e nelle testatine, e ognuno conserva la propria larghezza: la giustificazione allarga solo gli spazi tra parole. Molti caratteri non hanno un glifo per lo spazio stretto non separabile o per lo spazio cifra; in quel caso si compongono come li compongono i browser, nel canvas, nell’HTML e nel PDF allo stesso modo: mezzo spazio tra parole e la larghezza di una cifra. Praticamente ogni carattere ha U+00A0, quindi è la scelta sicura. Un gruppo incollato in questo modo che è più largo dell’intera riga va a capo al suo ultimo spazio non separabile invece che dentro una parola. Il word joiner (U+2060) incolla senza occupare spazio. Digita il carattere stesso: un’entità HTML come ` ` si stampa come è scritta. Vedi [Dove una riga non va mai a capo](https://postext.dev/it/docs/justification.md#dove-una-riga-non-si-divide-mai). |
| Trattino morbido | il carattere stesso: U+00AD | Un punto in cui la parola può essere divisa, con l’aggiunta di un trattino quando lì termina una riga: solo tra due lettere o cifre. Una parola che ne contiene uno non riceve altre divisioni dal dizionario, quindi il trattino morbido è la sua unica divisione; digitato prima della prima lettera di una parola non divide nulla e mantiene intera quell’occorrenza. Accanto a una parentesi, a una virgoletta o a un segno di punteggiatura non fa nulla. Vedi [Dove una riga non va mai a capo](https://postext.dev/it/docs/justification.md#dove-una-riga-non-si-divide-mai). |
| Link | `[text](https://…)` | Il testo visibile resta nel flusso, composto esattamente come senza il link. L’URL rende le parole un link attivo nell’output HTML e PDF; vedi [Link](https://postext.dev/it/docs/document-format-inline.md#link). |
| Immagine | `![alt](src)` | Il markdown di un’immagine in linea viene **rimosso** dal testo. Le immagini vanno dichiarate in `PostextContent.resources` così che il motore di impaginazione possa collocarle secondo le regole di `resourcePlacement`. |
| Chip | `:chip[text]` | Una sequenza di testo in un riquadro che va a capo come un’unità: una banca di parole, un tasto, un’etichetta. Lo stile viene da `chipStyles`; vedi [Chip in linea](https://postext.dev/it/docs/document-format-inline.md#chip-in-linea). |
| Tabulazione | `:tab`, `:tab{at=120mm align=end leader="."}` | Manda le parole che la seguono al tabulatore successivo: uno dei tabulatori dello stile del paragrafo, o quello impostato dai suoi attributi. Un carattere di tabulazione digitato nel testo è una tabulazione solo dove lo stile imposta dei tabulatori. Vedi [Tabulazioni e tabulatori](https://postext.dev/it/docs/document-format-inline.md#tabulazioni-e-tabulatori). |
| Formula in linea | `$…$` | Una formula LaTeX che scorre con il testo circostante, per esempio `$e^{i\pi}+1=0$`. Composta da MathJax e disegnata come tracciati vettoriali in ogni backend. Usa `\\$` per un simbolo del dollaro letterale. Il ridimensionamento, la forma in display (`$$ … $$`) e la gestione degli errori sono trattati in [Formule matematiche](https://postext.dev/it/docs/document-format-inline.md#formule-matematiche). |

### Link

Un link Markdown, `[text](url)`, mantiene il suo testo nel flusso esattamente come verrebbe composto senza: il link non cambia mai gli a capo, la spaziatura o il colore. Conserva il suo URL per gli output che possono seguirlo:

- **HTML** (`renderToHtml`): le parole collegate vengono racchiuse in `<a href="…" rel="noopener noreferrer">`, che prende il colore del testo e non ha sottolineatura. C’è un’ancora per ogni sequenza di parole collegate su una riga.
- **PDF** (`postext-pdf`): ogni sequenza di parole collegate su una riga diventa un’annotazione di link URI cliccabile. In un PDF con tag è un elemento `Link` il cui testo sono le parole collegate.
- **Canvas**: dipinto come testo semplice, perché un canvas non ha una superficie cliccabile.

```markdown
Read the [configuration guide](https://postext.dev/en/docs/configuration "Configuration")
or write to [the team](mailto:team@example.com).
```

- La destinazione può avere un titolo, che viene ignorato (`[text](https://example.com "Title")`). Può anche essere racchiusa tra parentesi angolari, dove gli spazi diventano `%20` (`[text](<https://example.com/a b>)`).
- Si conservano solo le destinazioni sicure: `http:`, `https:`, `mailto:`, `tel:`, `ftp:` e gli URL relativi (`../guide`, `#top`). Qualsiasi altro schema (`javascript:`, `data:`, `file:`…) compone il testo senza link. Il PDF collega solo URL assoluti.
- La destinazione può contenere parentesi purché siano bilanciate, come in CommonMark: `[photo](https://commons.wikimedia.org/wiki/File:Bike_(Unsplash).jpg)` collega l’intero URL. Una barra rovesciata protegge un carattere (`\(`, `\_`). Quando le parentesi non sono bilanciate, la destinazione termina alla sua prima `)` e il testo si compone senza link; codifica una parentesi isolata come `%28` o `%29`. Anche uno spazio termina la destinazione, a meno che non sia racchiusa tra parentesi angolari.
- Una parola attaccata al testo del link condivide il link. In `see [the site](https://example.com).` il punto fa parte dell’area cliccabile.
- Il testo del link può contenere enfasi (`[**bold** words](…)`) e può stare dentro un’enfasi (`**[words](…)**`).
- I link funzionano in paragrafi, voci di elenco, citazioni, riquadri, didascalie, note e celle di tabella, e nei titoli finché `headings.inlineMarks` è attivo (il valore predefinito). Le testatine, la struttura e le righe del sommario ricavate da un titolo conservano solo il testo, e lo stesso vale per il testo di un `:chip[…]`.
- I link in stile riferimento (`[text][id]`) e gli autolink (`<https://…>`) non vengono riconosciuti (vedi [Che cosa NON è supportato](https://postext.dev/it/docs/document-format.md#che-cosa-non-è-supportato)).

Nel VDT la destinazione sta su ogni segmento collegato, come `VDTLineSegment.href`. Il parser conserva i link di una sequenza come intervalli del suo testo, in `InlineSpan.links`, e non divide mai una sequenza per un link: per questo un link non può cambiare l’impaginazione.

### Chip in linea

`:chip[text]` compone `text` in un riquadro (un «chip» arrotondato e colorato) che scorre con la riga: le parole di una banca di parole o di un esercizio di classificazione, i tasti della tastiera, le etichette. `:chip[text]{style="key"}` sceglie uno stile con nome da `chipStyles` (vedi il riferimento della configurazione); senza `style`, o con un id che nessuno stile dichiara, il chip prende il primo stile (uno stile `chip` incorporato quando la configurazione non ne ha; la Sandbox avvisa di un id sconosciuto).

```markdown
Classify: :chip[battery] :chip[cable] :chip[switch] :chip[bulb]

Press :chip[Ctrl]{style="key"} + :chip[C]{style="key"} to copy.
```

- **Un’unità.** Un chip non viene mai diviso né sillabato al suo interno; la riga va a capo tra i chip, negli spazi tra parole che li circondano. Un chip più largo dell’intera riga deborda invece di dividersi.
- **Larghezza.** Il suo avanzamento è il testo più il padding orizzontale e il contorno su entrambi i lati. La giustificazione allarga solo gli spazi tra parole, mai l’interno di un chip. Il `gap` dello stile è lo spazio minimo mantenuto tra il riquadro e una parola o un chip vicino attraverso uno spazio: uno spazio più stretto viene integrato (non a un bordo della riga, e non contro una punteggiatura attaccata come `:chip[a],`).
- **Altezza.** Il riquadro è una fascia intorno alla linea di base, 0,8 em sopra e 0,25 em sotto al corpo del chip, allargata dal padding verticale e dal contorno. Il padding verticale si dipinge fuori dal riquadro di riga e non cambia mai l’interlinea, così la griglia della linea di base regge; un riquadro più alto del passo di riga può invadere un chip della riga sopra o sotto, e la Sandbox segnala due chip su righe diverse che si sovrappongono («Chip che toccano la riga successiva») così che padding, contorno o corpo si possano ridurre.
- **Testo.** Il testo del chip accetta i propri segni in linea (`:chip[**bold** word]`, `:chip[x^2^]`) e l’enfasi intorno (`**:chip[a]**`); lo stile può impostarne famiglia, corpo, colore, grassetto e corsivo. Scrivi `\]` per una parentesi quadra letterale al suo interno. Rimandi, campioni di colore e formule dentro un chip restano letterali, e `\$` stampa un simbolo del dollaro (fino a postext 1.4 stampava anche la barra rovesciata).
- **Vuoto.** Un chip fatto solo di spazi (`:chip[ ]`, spazi non separabili compresi) è un riquadro vuoto (uno spazio per la risposta, un segno di fine): largo quanto il padding orizzontale e il contorno del suo stile, alto quanto un chip con parole. Dimensiona lo spazio con il `paddingX` di uno stile (`:chip[ ]{style="blank"}`). Senza nulla tra le parentesi, `:chip[]` resta testo letterale.
- **Dove.** Paragrafi, voci di elenco, citazioni, riquadri, celle di tabella, didascalie e note. I titoli conservano `:chip[…]` come testo letterale.
- **Output.** Canvas, HTML e PDF dipingono il riquadro e compongono le parole come testo vero: selezionabile nell’HTML, estraibile e nell’ordine di lettura nel PDF (in un PDF con tag il riquadro è un artefatto di impaginazione e le parole appartengono al paragrafo).

### Evidenziazioni

`:mark[testo]` mette una fascia colorata dietro `testo`, come un libro di scuola evidenzia le sue parole chiave. A differenza di un chip, le parole segnate restano testo normale: vanno a capo a fine riga, si dividono in sillabe e si giustificano come le parole vicine, e la fascia segue ogni pezzo della frase sulla sua riga. `:mark[testo]{style="chiave"}` sceglie uno stile con nome da `markStyles` (vedi la guida alla configurazione); senza `style`, o con un id che nessuno stile dichiara, il segno prende il primo stile (un `mark` giallo pallido predefinito quando la configurazione non ne ha; il Sandbox segnala un id sconosciuto).

```markdown
Il sole scalda il mare e :mark[l’acqua sale nell’aria come vapore, dove si raffredda e forma le nuvole].

- :mark[Evaporazione]{style="chiave"}: l’acqua diventa vapore.
```

- **A capo.** Un segno può comprendere più parole e passare da una riga all’altra; ogni riga riceve la sua fascia. Il margine orizzontale e gli angoli arrotondati si disegnano solo all’inizio e alla fine reali della frase: dove la frase va a capo, la fascia finisce dritta all’ultima lettera della riga e riprende dritta alla prima della riga dopo.
- **Nessuno spazio occupato.** La fascia si dipinge sotto il testo, da 0,8 em sopra a 0,25 em sotto la linea di base, più il margine verticale, e il margine orizzontale entra negli spazi accanto alla frase. Le righe vanno a capo esattamente come senza il segno, quindi segnare un libro già impaginato non sposta nessuna delle sue pagine.
- **Testo.** Il testo segnato accetta i propri segni in linea (`:mark[la parola **chiave**]`), link, chip e rimandi. Le parentesi quadre vi si annidano (`:mark[vedi [la mappa]]`), `\]` scrive una parentesi letterale e il testo può attraversare un a capo semplice della sorgente. Un segno di punteggiatura attaccato alla frase fuori dalle parentesi (`:mark[terra].`) resta fuori dalla fascia; il colore del testo di uno stile arriva all’intera parola che lo contiene. Un segno dentro un altro si compone come il suo testo.
- **Dove.** Paragrafi, titoli composti nel testo, voci di elenco, citazioni, riquadri, note a piè di pagina, celle di tabella, didascalie e note, in testo da sinistra a destra e da destra a sinistra e in cinese e giapponese. Il canvas, il PDF e l’HTML dipingono la fascia; in un PDF con tag è un artefatto di impaginazione e le parole appartengono al loro paragrafo. Un titolo disegnato da un design (un’apertura) stampa le parole senza fascia, come il visualizzatore HTML su una pagina verticale.

### Maiuscoletto

`:smallcaps[text]` compone `text` in maiuscoletto: i nomi dei personaggi in un’opera teatrale, una sigla nel testo corrente, le prime parole di un capitolo. Le lettere minuscole si compongono come maiuscole al 70% del corpo del testo, mentre maiuscole, cifre e punteggiatura mantengono il corpo pieno, quindi `:smallcaps[Hamlet]` stampa una H a corpo pieno seguita da AMLET in maiuscoletto.

```markdown
Enter :smallcaps[Hamlet] and :smallcaps[Horatio], reading.

The :smallcaps[unesco] report and the :smallcaps[who] guidelines.
```

- **Sintetizzato.** Il maiuscoletto si ricava dalle maiuscole del carattere stesso, allo stesso modo nel canvas, nell’HTML e nel PDF, così il testo si misura e va a capo in modo identico ovunque. Il vero maiuscoletto di un carattere (la funzione OpenType `smcp`) non viene usato; per averlo, componi il testo in una famiglia di maiuscoletto (per esempio una famiglia il cui nome termina con «SC») tramite uno stile di paragrafo.
- **Segni.** Il testo accetta i propri segni in linea (`:smallcaps[**Ophelia**]`) e l’enfasi intorno (`*:smallcaps[Act I]*`); scrivi `\]` per una parentesi quadra letterale al suo interno. Anche un rimando o un chip al suo interno si compone in maiuscoletto, e un rimando resta un unico link nell’HTML e nel PDF; una formula no.
- **A capo.** Le parole vanno a capo e si sillabano come al solito; la sillabazione legge ogni parola con le sue maiuscole e minuscole originali.
- **Dove.** Paragrafi, voci di elenco, citazioni, riquadri, celle di tabella, didascalie e note, e i titoli finché `headings.inlineMarks` è attivo (il valore predefinito); se è disattivato, il markup viene rimosso dal titolo e il testo si stampa come è scritto.
- **Paragrafi interi.** Uno stile di paragrafo o il corpo di un riquadro con `smallCaps: true` compone tutto il suo testo in questo modo (vedi [Stili di paragrafo](https://postext.dev/it/docs/configuration-styles.md#stili-di-paragrafo)).
- **Testo.** Il canvas, l’HTML e il PDF riportano le lettere come sono dipinte: copiando `:smallcaps[Hamlet]` si ottiene «HAMLET».

### Tabulazioni e tabulatori

Una tabulazione manda le parole che la seguono a un tabulatore sulla riga: il prezzo di un piatto a filo con la fine della giustezza dietro una fila di puntini, l’attore dopo il ruolo in un elenco del cast, il punteggio di una domanda d’esame al margine. Scrivi `:tab` dove va la tabulazione; gli spazi intorno vengono assorbiti. I tabulatori si impostano nella configurazione: `bodyText.tabStops` per ogni paragrafo, voce di elenco e citazione, i `tabStops` di uno stile di paragrafo per i paragrafi di un gruppo `:::paragraphs`, e i `body.tabStops` di uno stile di riquadro dentro i suoi riquadri (vedi [Configurazione › Tabulatori](https://postext.dev/it/docs/configuration-text.md#punti-di-tabulazione)). Un menu i cui prezzi terminano alla fine della giustezza, dietro i puntini:

```ts
paragraphStyles: [
  { id: 'menu', firstLineIndent: { value: 0, unit: 'em' }, tabStops: [{ position: 'end', align: 'end', leader: '. ' }] },
],
```

```markdown
:::paragraphs{style="menu"}
Onion soup :tab 8.50

Grilled sea bream with fennel and lemon :tab 21.00
:::
```

`:tab{…}` imposta un tabulatore solo per quella tabulazione, senza stile: lo spazio da compilare di un modulo fino alla fine della riga, un importo allineato sulla virgola decimale.

```markdown
Name and surname :tab{at=end leader=rule}

Total due :tab{at=80% align=decimal} 1,234.50
```

| Attributo | Significato |
| --- | --- |
| `at` | Dove sta il tabulatore, a partire dal bordo iniziale della giustezza del paragrafo: una lunghezza (`120mm`, `4cm`, `2em`; un numero semplice è in punti), `end` per la fine della giustezza, o una sua frazione (`60%`). Senza `at`, `:tab{…}` va ai tabulatori dello stile come un semplice `:tab`. |
| `align` | `start` (il valore predefinito): il testo dopo la tabulazione inizia al tabulatore. `end`: vi termina (il testo fino alla tabulazione successiva o alla fine del paragrafo). `center`: è centrato sul tabulatore. `decimal`: il suo separatore decimale sta sul tabulatore; una sequenza che non ne ha vi termina. |
| `leader` | Testo ripetuto nello spazio prima del tabulatore: `"."`, `". "`, `"·"`, `"_"`, `"-"` o un altro testo breve, nel carattere e nel colore del paragrafo. `rule` traccia una linea poco sotto la linea di base, lo spazio da compilare di un modulo. Predefinito: nessuno. |
| `gap` | Spazio mantenuto tra la guida e il testo su entrambi i lati. Predefinito: `0.5em` del corpo del paragrafo; un numero semplice è in punti. |
| `decimal` | Il separatore su cui si allinea un tabulatore `decimal`. Predefinito: quello della lingua del documento: `.` in inglese, cinese, giapponese e arabo, `,` in spagnolo, catalano, portoghese, francese, tedesco e altre. |

- **Dove va una tabulazione.** Al primo tabulatore oltre il testo che la precede, tra i tabulatori successivi a quello preso dalla tabulazione precedente della riga, quindi la seconda tabulazione di una riga di solito prende il secondo tabulatore. Oltre l’ultimo tabulatore, `tabInterval` imposta altri tabulatori a ogni intervallo dall’inizio della giustezza; senza di esso la tabulazione è uno spazio tra parole.
- **Caratteri di tabulazione.** Una tabulazione digitata nel testo (U+0009) è una tabulazione solo in un paragrafo il cui stile imposta `tabStops` o `tabInterval`. Ovunque altrove è lo spazio tra parole che è sempre stata, così un documento scritto con tabulazioni al posto degli spazi mantiene la sua impaginazione. Più caratteri di tabulazione di fila avanzano di altrettanti tabulatori. Una tabulazione all’inizio di una riga del sorgente viene eliminata con gli altri spazi iniziali della riga: scrivi `:tab` per far iniziare una riga a un tabulatore.
- **Che cosa resta testo.** Un `:tab` seguito da una lettera (`3:table`), e un `:tab` nel codice in linea, in una formula, nell’indirizzo di un link o negli attributi di una direttiva.
- **Dove.** Paragrafi, voci di elenco, citazioni, riquadri e gruppi `:::paragraphs`. Titoli, didascalie, celle di tabella e il testo dei progetti (aperture, testatine) non hanno tabulatori.
- **Testo oltre il tabulatore.** Quando il testo prima di una tabulazione ha già superato tutti i tabulatori rimasti sulla sua riga, un tabulatore `end`, `center` o `decimal` porta l’ultima parola prima della tabulazione alla riga successiva insieme al testo al tabulatore, e il testo che la precede si compone più stretto, come una riga del sommario manda a capo il titolo per tenere il numero di pagina. Un tabulatore `start` va a capo prima della tabulazione, e il testo che la segue inizia la riga successiva al suo tabulatore. Una tabulazione che apre la sua riga e non trova comunque un tabulatore non occupa spazio.
- **Guide.** Una guida riempie lo spazio prima del suo tabulatore e termina a filo con la fine di quello spazio, così i puntini di più righe si allineano qualunque sia il testo che li precede. `gap` la tiene staccata dal testo su entrambi i lati; non c’è spazio prima quando la tabulazione apre la riga, né dopo quando non segue nulla. Una guida si compone con tre ripetizioni o più; uno spazio sufficiente per una o due resta vuoto, come nel sommario.
- **Divisione in righe.** Un paragrafo che contiene una tabulazione si compone riga per riga, mai con Knuth–Plass. Nel testo giustificato solo gli spazi tra parole dopo l’ultima tabulazione di una riga assorbono il gioco, e l’ultima riga del paragrafo non viene allargata (vedi [Giustificazione › Righe con tabulazioni](https://postext.dev/it/docs/justification.md#righe-con-tabulazioni)). Un paragrafo centrato o allineato a destra compone le sue righe con tabulazioni dal lato iniziale, perché i tabulatori sono posizioni sulla giustezza. Da destra a sinistra, i tabulatori si misurano da destra e un tabulatore `end` sta a sinistra (vedi [Composizione araba](https://postext.dev/it/docs/arabic-layout.md#indice-e-indice-analitico)). Nel testo verticale una tabulazione è uno spazio tra parole, e un `:tab` lì genera l’avviso di contenuto `tabInVerticalText`.
- **Testo e output.** Il testo semplice ha un carattere di tabulazione (`\t`) in corrispondenza di ogni tabulazione; le guide non sono testo, e copia, ricerca e mappa del sorgente le escludono. Il canvas, il visualizzatore HTML e l’EPUB a layout fisso le dipingono (nascoste agli screen reader nell’HTML); un PDF con tag le marca come artefatti, così il suo testo si legge `Onion soup 8.50`. L’EPUB a layout fluido non può conservare esattamente i tabulatori: ogni riga di un paragrafo con tabulazioni diventa una fila delle parti tra le sue tabulazioni, dove un tabulatore `end`, `center` o `decimal`, o uno con guida, spinge la parte successiva alla fine della fila (la sua guida diventa un bordo punteggiato o continuo), e un tabulatore `start` mantiene la parte che lo precede alla sua larghezza stampata. Un’esportazione in Word scrive `:tab` come tabulazione di Word, e l’importazione da Word rilegge una tabulazione nel testo come `:tab` con il tabulatore che Word le ha assegnato (vedi [Sandbox › Documenti Word](https://postext.dev/it/docs/sandbox-books-saving.md#documenti-word)).

### Orientamento nel testo verticale

Nel testo verticale (`layout.writingMode: 'vertical-rl'`) i caratteri cinesi stanno diritti, le parole latine e i numeri lunghi vengono ruotati di lato, e un numero di al massimo due cifre sta diritto in una cella, a meno che non si trovi in una frase latina, di cui segue le parole (vedi [Configurazione › Numeri nel testo verticale](https://postext.dev/it/docs/configuration-east-asian.md#numeri-nel-testo-verticale)). Tre segni distinguono a mano una sequenza:

```markdown
第:tcy[120]回，:upright[GDP]增長:sideways[12]倍。
```

- `:tcy[…]` (tate-chu-yoko, 縱中橫) compone il suo testo affiancato in una cella diritta di un em, compresso in larghezza quando è più largo: `:tcy[120]`, `:tcy[3.0]`, `:tcy[A+]`. Si leggono bene fino a circa quattro caratteri.
- `:upright[…]` mette ogni carattere diritto in una cella propria, con le lettere latine centrate: una sigla letta lettera per lettera lungo la colonna. Una riga non va mai a capo al suo interno.
- `:sideways[…]` ruota l’intera sequenza con la riga, anche i caratteri cinesi: un numero di due cifre che l’autore vuole di lato.
- Il testo resta nel testo semplice; i segni accettano al loro interno altri segni in linea (`:tcy[**12**]`), un link (`:sideways[[iPhone](https://…)]`) e l’uno l’altro, con la precedenza al più interno (`:tcy[:upright[AB]]` mette A e B diritte), e si scrive `\]` per una parentesi quadra letterale. Nel testo orizzontale non cambiano nulla.
- Un rimando, un richiamo di nota, una formula, un chip o un campione di colore dentro un segno mantiene la propria composizione: `:sideways[iPhone[^1]]` ruota iPhone e lascia il numero della nota composto come ogni numero di nota; il numero di un rimando sta in una cella secondo `cjk.uprightDigits`, come qualsiasi numero breve.
- Anche un elemento di testo di progetto con `inlineMarks: true` li accetta quando è composto in verticale (vedi [Configurazione › Elementi di testo verticale](https://postext.dev/it/docs/configuration-headers-footers.md#elementi-di-testo-verticale)).
- Per la divisione in righe e la giustificazione, una cella `:tcy` e ogni carattere `:upright` contano come caratteri cinesi, e accanto a essi non si inserisce lo spazio tra Han e latino.

### Segni cinesi, ruby e warichu

Le edizioni cinesi e giapponesi marcano il testo tra le righe invece che con il corsivo o la sottolineatura, glossano i caratteri con le loro letture e compongono il commento dentro la riga. Lo fanno sette direttive. [Composizione cinese](https://postext.dev/it/docs/chinese-layout.md) e [Composizione giapponese](https://postext.dev/it/docs/japanese-layout.md) spiegano le convenzioni che stanno dietro. Le direttive conservano il loro testo: i caratteri tra le parentesi quadre restano nel paragrafo (la ricerca, il sommario, le ancore dell’indice e il testo copiato li leggono come sono scritti), e accettano gli altri segni in linea al loro interno e intorno, compresi quelli annidati. Scrivi `\]` per una parentesi quadra letterale.

```markdown
此事:dots[不可]輕忽。:name[賈寶玉]與:name[林黛玉]讀:book[西廂記]。

{滿紙|mǎn|zhǐ}荒唐言，:ruby[一把]{rt="yì bǎ"}辛酸淚！:ruby[都]{rt="ㄉㄡ"}云作者痴。

寶玉:warichu[甲戌側批：此是第一首標題詩。]{open="〔" close="〕"}道：……

{東京|とう|きょう}の:ruby[紫陽花]{rt="あじさい"}は*とんと*:sideline[見事]だ。:book[こころ]を読む。

:kunten[學]{okuri="ビテ"}而:kunten[時]{okuri="ニ"}:kunten[習]{kaeri="二" okuri="フ"}:kunten[之]{kaeri="一" okuri="ヲ"}。
```

- **`:dots[text]`** mette un punto di enfasi (着重号) sotto ogni carattere nel testo orizzontale, alla sua destra nel testo verticale, e nessuno sulla punteggiatura o sugli spazi. `style="dot|circle|sesame"` (predefinito `dot`), `fill="open"` per un contorno, `pos="over|under"` per l’altro lato. L’enfasi Markdown `*…*` su caratteri cinesi o giapponesi fa lo stesso con `cjk.emphasis: 'dots'`, il valore predefinito in un documento cinese o giapponese; le lettere latine nella stessa enfasi restano in corsivo. Gli attributi omessi prendono `cjk.emphasisMark`: un punto sotto il testo in cinese, un sesamo sopra (alla sua destra nel testo verticale) in giapponese.
- **`:name[text]`** traccia la linea dei nomi propri (专名号) sotto il testo (alla sua sinistra nel testo verticale), e **`:book[text]`** il segno dei titoli di libri (书名号): 《》 intorno al titolo (〈〉 per un titolo dentro un altro), la linea ondulata delle edizioni classiche e di Taiwan, o nulla, secondo `cjk.bookTitleMark` (per impostazione predefinita le parentesi nella Cina continentale e in Giappone, la linea ondulata a Taiwan e a Hong Kong). In un documento giapponese le parentesi sono 『』, e 「」 per un titolo dentro un altro (`cjk.bookTitleBrackets`). Un solo sorgente serve un’edizione moderna continentale e una classica. Due nomi o titoli affiancati mantengono separate le loro linee.
- **`:ruby[base]{rt="…"}`** compone letture sopra la base (pinyin), o a destra di ogni carattere (zhuyin, il valore predefinito per le letture in bopomofo). Con tante letture quanti sono i caratteri, separate da spazi o da `|`, ogni carattere riceve la propria e una riga può andare a capo tra di essi (ruby mono); `group`, o un numero che non corrisponde, compone una sola lettura centrata sull’intera base, che non si divide mai. `pos="over|under|right"` sceglie il lato. La forma compatta `{紅樓|hóng|lóu}` (una lettura per ogni `|`) o `{紅樓|hónglóu}` (una lettura per l’intera base) si legge allo stesso modo, solo quando la base contiene un carattere Han, kana o bopomofo, fuori da formule, codice e attributi, quindi `{x|x>0}` nella prosa latina resta testo. Una barra rovesciata prima della parentesi graffa o della barra verticale mantiene come testo anche una base cinese: `{紅|hóng}` e `{紅\|hóng}` stampano `{紅|hóng}`. Una base che apre o chiude una riga si allinea a quel bordo insieme alla sua lettura. `mode=mono|group|jukugo` sceglie come le letture si dispongono sopra la base (`mode=group` equivale a `group`), e `align=center|jis|start` come si spazia una lettura più corta della sua base. In un documento giapponese la forma per carattere di una parola di due o più caratteri (`{東京|とう|きょう}`, `rt="とう|きょう"`) è ruby jukugo: ogni carattere conserva la sua lettura, che può sporgere sul carattere successivo della parola, la riga può andare a capo tra di essi, e le letture si spaziano e sporgono sui kana secondo `cjk.ruby.align` e `cjk.ruby.overhang`; una sola lettura per l’intera base (`{紫陽花|あじさい}`, il `《》` di Aozora) è ruby di gruppo; `mode=mono` mantiene una lettura per carattere senza sporgere sui vicini.
- **`:sideline[text]`** traccia una linea laterale (傍線) accanto al testo, punteggiatura e spazi compresi: sotto nel testo orizzontale e a destra nel testo verticale. `style="solid|double|wavy|dotted"` (predefinito `solid`), `pos="over|under"` (nel testo verticale over è a destra, under a sinistra; funziona anche `position=`). Funziona con qualsiasi scrittura, compresa una frase inglese sottolineata.
- **`:warichu[note]`** compone una nota (双行夹注) in due righe a metà del corpo del testo dentro la riga, letta prima la riga superiore (quella di destra nel testo verticale). Una nota lunga riempie ciò che resta della riga e prosegue nella riga, colonna o pagina successiva, con almeno due dei suoi caratteri su ciascun lato della divisione (`cjk.warichu.minChars`). `open` e `close` la racchiudono tra parentesi al corpo del testo; `cjk.warichu` imposta il corpo, il colore e le parentesi predefinite (（） in un documento giapponese). Una nota in scrittura latina va a capo tra le parole.
- **`:kunten[字]{kaeri="…" okuri="…" tate}`** compone i segni kanbun dell’ultimo carattere tra le parentesi quadre: `kaeri` il segno di ritorno (レ, 一 二 三, 上 中 下, 甲 乙 丙, 天 地 人, e 一レ 上レ 甲レ 天レ; i punti di codice ㆑ ㆒ … si leggono allo stesso modo), `okuri` gli okurigana (le parentesi di Aozora `（ヲ）` vengono eliminate), e l’indicatore `tate` il tatesen che lo unisce al carattere successivo. Il testo non viene riordinato: i segni si compongono a metà grandezza accanto a esso (`cjk.kunten`), e il testo copiato si legge 學ビテ而時ニ習フ之ヲ, con gli okurigana e senza i segni di ritorno. Un ruby al suo interno funziona per i caratteri letti due volte: `:kunten[:ruby[未]{rt="ザル" pos=under}]{kaeri="レ" okuri="ダ"}`.

Il passo di riga non cambia mai: segni e letture stanno nell’interlinea, e la build avvisa quando lo spazio tra le righe di un paragrafo è troppo stretto per essi (`cjkMarksExceedLeading`, `rubyExceedsLeading`, `kuntenExceedsLeading`), e quando i segni sotto una riga e le letture sopra la successiva non entrano nello spazio che condividono, in un paragrafo o tra due. Dai ai paragrafi annotati uno stile di paragrafo con più interlinea. Segni, letture e note si disegnano in paragrafi, titoli, voci di elenco, citazioni e riquadri, e anche in didascalie, celle di tabella e note, la cui interlinea viene verificata allo stesso modo; nelle testatine e nei progetti il testo si stampa senza di essi. Con `cjk.bookTitleMark: 'brackets'` le 《》 di un titolo sono punteggiatura del testo: didascalie, celle, note, righe del sommario, segnalibri e voci dell’indice le conservano. Vedi [Configurazione › Segni, ruby e warichu](https://postext.dev/it/docs/configuration-east-asian.md#segni-ruby-e-warichu).

### La direzione del testo nel markup

Un documento scorre nella direzione che il suo `locale` implica (`direction` nella configurazione: da destra a sinistra per arabo, persiano, urdu o ebraico). Al suo interno il markup imposta la direzione di un blocco o di una sequenza di testo, per una citazione inglese in un libro arabo o una araba in un libro inglese.

- **Un titolo o un contenitore**: `{dir=ltr}` o `{dir=rtl}` nei suoi attributi, `# Introduction {dir=ltr}`, `:::paragraphs{dir=ltr}`, `:::callout{dir=rtl}`. Ogni blocco dentro un contenitore prende la direzione, fino a un contenitore o a un titolo annidato che ne imposta un’altra. Un paragrafo semplice, un elenco o una citazione non hanno attributi propri: racchiudili in `:::paragraphs{dir=…}`. Altri valori vengono ignorati. Il `lang` di un contenitore (`:::paragraphs{dir=ltr lang=en}`) indica allo stesso modo la lingua dei blocchi al suo interno: i loro elenchi numerati usano le cifre di quella lingua.
- **Una sequenza di testo**: `:ltr[…]` e `:rtl[…]` isolano il loro testo (gli LRI…PDI e RLI…PDI dell’algoritmo bidirezionale Unicode): viene ordinato al suo interno, e il paragrafo intorno vede un solo carattere neutro. `{lang=…}` marca la lingua della sequenza nell’HTML e nel PDF. Un richiamo di nota, un `:ref` o una formula al suo interno fa parte dell’isolamento, e gli isolamenti si annidano.

```markdown
:::paragraphs{dir=ltr}
The opening of the *Nights* in Lane's translation.
:::

ترجمها :ltr[Edward William Lane]{lang=en} سنة ١٨٣٩.
```

Un blocco composto contro la direzione del documento mantiene il proprio lato iniziale: il rientro, i marcatori di elenco e la fine a filo della sua ultima riga si spostano sul lato da cui inizia il suo testo. Usa un isolamento quando un titolo latino termina con un carattere neutro (un punto, una parentesi) che altrimenti si unirebbe all’arabo circostante. Anche i caratteri di controllo Unicode stessi (U+2066–2069, U+202A–202E, U+200E, U+200F, U+061C) vengono rispettati. Nell’editor della Sandbox ogni riga scorre nella direzione della sua prima lettera. Vedi [Composizione araba](https://postext.dev/it/docs/arabic-layout.md#direzione-e-algoritmo-bidirezionale).

## Formule matematiche

Il supporto per la matematica è una parte a pieno titolo del formato del documento. Postext analizza `$…$` per le formule in linea e `$$…$$` per le formule in evidenza (di blocco), e le disegna con [MathJax](https://www.mathjax.org/) in modalità SVG. Gli stessi tracciati vettoriali alimentano tutti e tre i backend, quindi l’anteprima su canvas, l’esportazione HTML e l’output PDF coincidono pixel per pixel, e il PDF resta interamente vettoriale a qualsiasi livello di zoom.

- **In linea:** `$…$`. Riconosciuta in qualsiasi blocco di testo (paragrafo, titolo, citazione, voce di elenco). Aggiunge alla riga un unico riquadro atomico e indivisibile; Knuth–Plass la tratta come una parola che non si può spezzare. Se l’altezza naturale della formula sforasse il riquadro della riga, viene ridotta in modo uniforme così da preservare la griglia della linea di base: le espressioni molto alte vanno in modalità in evidenza.
- **In evidenza:** `$$…$$`. Su una riga a sé (`$$\int_0^1 x^2\,dx$$`) oppure su più righe tra recinzioni, con i marcatori `$$` su righe proprie. Viene disegnata centrata nella colonna e agganciata alla griglia della linea di base con margini superiore e inferiore configurabili (`math.marginTop`, `math.marginBottom`): è esattamente lo stesso meccanismo di correzione dei titoli, così il paragrafo dopo la formula torna sulla griglia.
- **Testo intorno a una formula in evidenza:** una formula in evidenza su una riga a sé interrompe un paragrafo anche senza una riga vuota sopra. Il testo che la precede è un paragrafo che la introduce; il testo scritto subito sotto il `$$` di chiusura, senza riga vuota, prosegue il paragrafo interrotto e viene composto senza rientro di prima riga, come TeX compone il «dove …» dopo una formula in evidenza. Una formula separata dal testo sopra da una riga vuota (o che segue un elenco, una citazione o un titolo) non interrompe nulla: il testo che la segue è un nuovo paragrafo, rientrato come al solito, con o senza riga vuota (`math.indentAfterDisplay: false` lo compone anch’esso senza rientro). Solo una formula in evidenza intera interrompe un paragrafo: una sola formula sulla riga, oppure una recinzione `$$` chiusa prima della riga vuota successiva; una riga come `$$a$$ and $$b$$` resta testo. `math.keepWithLeadIn` tiene una formula nella colonna della riga che la introduce. (Fino a postext 1.4 una riga `$$…$$` senza riga vuota sopra veniva letta come parte del paragrafo e stampata così com’era scritta.)
- **Numeri delle equazioni:** `\label{eq:x}` in una formula in evidenza la numera, in ordine di lettura: (1), (2)… Una formula con numero occupa tutta la colonna (o la larghezza interna del riquadro), con l’equazione centrata e il suo numero allineato a destra sulla stessa riga. In un `align`, `gather`, `alignat`, `flalign` o `eqnarray` ogni riga che porta un `\label` riceve il proprio numero, a meno che la riga non indichi `\nonumber` o `\notag`. Una formula senza `\label` non viene numerata, come non lo è mai stata `$$…$$`. `\tag{…}` numera ancora una formula con il testo che le dai (`\tag*{…}` senza parentesi) e non viene contato; un `\label` accanto a esso dà un nome a quel testo. Il formato, i numeri di capitolo o di sezione (2.3) e gli azzeramenti si impostano in [`math.equationNumbering`](https://postext.dev/it/docs/configuration-lists-math.md#matematica). Metti il `\label` al livello più esterno della formula o della sua riga: non dentro `aligned`, `split` o `cases`.
- **Rimandi alle equazioni:** `\eqref{eq:x}` nel testo stampa il numero come lo stampa la formula, (3), e `\ref{eq:x}` il numero nudo, 3; entrambi sono link, come ogni [rimando](https://postext.dev/it/docs/document-format-notes-references.md#rimandi-e-ancore). `Eq.~\eqref{eq:x}` tratta la `~` come fa LaTeX: uno spazio indivisibile. Anche `:ref{id="eq:x"}` e `@eq:x` stampano (3). Dentro una formula, `\eqref` e `\ref` stampano il numero (non un link). Un’etichetta che nessuna formula imposta stampa *?* e compare nel pannello Verifiche.
- **Escape:** `\$` è un simbolo del dollaro letterale. I delimitatori `$` o `$$` senza corrispondenza producono una voce `unclosedMath` nel pannello Verifiche della Sandbox, con un’ancora al sorgente che porta il cursore lì con un clic.
- **Didascalie, note e celle di tabella** compongono anch’esse la matematica in linea (da postext 1.19), nella riga insieme al testo e con l’allineamento della cella, alla dimensione del frammento. Lì un `$` apre una formula solo secondo la regola di Pandoc: nessuno spazio dopo il `$` di apertura, nessuno spazio prima di quello di chiusura e nessuna cifra subito dopo, così i prezzi di *$5 to $10* restano testo; `\$` stampa un simbolo del dollaro, quindi una stringa con l’escape si legge allo stesso modo nel testo e in una tabella. L’etichetta di un chip non accetta formule. Fino a postext 1.18 un `$` in quei punti veniva sempre stampato così com’era.
- **Errori:** il sorgente TeX che MathJax rifiuta (macro non definite, errori di sintassi) emerge come avviso `invalidMath`. La formula viene sostituita da un piccolo segnaposto rosso, così la geometria dell’impaginazione resta valida.
- **Configurazione:** la sezione `math` della configurazione espone `enabled`, `fontSizeScale` (relativo alla dimensione del testo circostante: a 1,0 un em della formula ha quella dimensione, cioè il corpo del testo corrente per le formule in evidenza e per la matematica in linea nel testo corrente; da postext 1.5, che compone le formule circa il 13% più piccole rispetto alla 1.4, mentre i pacchetti e i libri della Sandbox salvati con la 1.4 conservano la loro dimensione; vedi [Dimensione delle formule](https://postext.dev/it/docs/configuration-lists-math.md#matematica)), `color` (eredita il colore del testo corrente quando non è impostato) e i margini delle formule in evidenza.
- **Il motore:** MathJax si carica su richiesta. La Sandbox e il worker di impaginazione lo avviano da soli; nel tuo codice, esegui `await initMathEngine()` prima di `buildDocument`, altrimenti ogni formula viene impaginata come un riquadro segnaposto grigio (vedi [Avviare il motore matematico](https://postext.dev/it/docs/configuration-lists-math.md#avviare-il-motore-matematico)).

```md
The Euler identity $e^{i\pi}+1=0$ links the five fundamental constants.

$$
\int_0^{\infty} e^{-x^2}\,dx = \frac{\sqrt{\pi}}{2}
$$
```

Una formula a metà frase, e la frase che prosegue dopo di essa senza rientro:

```md
For a pendulum of length $L$ the period is
$$T_0 = 2\pi\sqrt{L/g}$$
where $g$ is the acceleration of free fall.
```

Equazioni numerate e i rimandi a esse:

```md
The energy is conserved,
$$
\begin{align}
E &= T + V \label{eq:energy} \\
  &= \tfrac12 m v^2 + m g h \nonumber
\end{align}
$$
and Eq.~\eqref{eq:energy} holds at every instant.
```

**Teoremi, lemmi e dimostrazioni.** Uno stile di riquadro con `numbering` conta i suoi riquadri, come l’`amsthm` di LaTeX conta gli ambienti di teorema: ogni riquadro si apre con la sua etichetta e il suo numero in grassetto, «**Teorema 2.**», il `title` della recinzione dopo il numero tra parentesi, «**Teorema 2** (Bradley–Terry)**.**», e un rimando al suo `{#id}` stampa «Teorema 2» (`\ref{thm:x}` o `style=number` il solo 2). Gli stili che indicano lo stesso contatore lo condividono, quindi un lemma che segue un teorema è il Lemma 3. L’`endMark` di uno stile di dimostrazione chiude i suoi riquadri con ∎ o □, allineato a destra sull’ultima riga. Vedi [Enunciati numerati e dimostrazioni](https://postext.dev/it/docs/configuration-callouts.md#enunciati-numerati-e-dimostrazioni) per gli stili.

```md
:::callout{type="theorem" #thm:main title="Bradley–Terry"}
Every reward class holds one reparameterised reward.
:::

:::callout{type="proof"}
Apply the projection of \eqref{eq:projection} to any member of the class.
:::

By :ref{id="thm:main"}, the objective is unchanged.
```
