# Sandbox: libri, file Word e salvataggio

> Libri e capitoli, la modifica delle pagine a fumetti, l’importazione e l’esportazione dei documenti Word, e come la Sandbox salva, esporta e importa il tuo lavoro

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

## In breve

Questa pagina riguarda come organizzi e conservi il tuo lavoro nella Sandbox. Un progetto è un libro fatto di capitoli. Le pagine a fumetti hanno strumenti propri per le vignette e i dialoghi. Puoi importare un file Word, scegliere come i suoi stili diventano stili di Postext e riportare il libro in Word. Il lavoro si salva nel tuo browser man mano che procedi, e puoi scaricarlo come un unico file e riaprirlo più tardi.

## Libri e capitoli

Tutto ciò che apri nella Sandbox è un **libro**, così come un file libro di InDesign raggruppa un documento per capitolo: la configurazione, i font personalizzati e l’insieme delle risorse sono condivisi da tutto il libro, e ogni **capitolo** è un documento Markdown a sé. Le opere lunghe (un manuale di cinquecento pagine) si modificano un capitolo alla volta, mentre la numerazione, i rimandi e l’esportazione continuano a vedere un unico documento.

- **La struttura** si gestisce nel pannello Capitoli e nel selettore di capitoli del pannello Testo: aggiungi, rinomina (doppio clic su una riga), riordina, dividi un capitolo in uno per ogni titolo di livello 1, unisci un capitolo al precedente, elimina. Ogni capitolo conserva la propria cronologia di annullamento e il proprio cursore.
- **Un capitolo alla volta.** Per impostazione predefinita le anteprime impaginano il **capitolo attivo**, in continuità con i capitoli che lo precedono: il suo primo numero di pagina segue l’ultima pagina del capitolo precedente, i titoli di livello 1 continuano a contare (il capitolo 4 ha il numero 4, le sue figure 4.1, 4.2, …), le testatine `{chapterNumber}` e `{chapterTitle}` si adeguano, la parità recto/verso viene rispettata (un’apertura di capitolo aggiunge una pagina bianca esattamente come farebbe a metà libro), e un `:ref` a una figura citata per la prima volta nel capitolo 1 mantiene quel numero. Il numero di pagine dei capitoli precedenti viene dall’ultima impaginazione che ha mostrato ciascuno di essi; i capitoli mai visitati (o modificati da allora) vengono impaginati in background, uno dopo l’altro, e l’elenco dei capitoli indica *pagine in attesa* finché non arrivano. Gli intervalli di pagine sono esatti per i capitoli che si aprono su una pagina nuova (l’impostazione predefinita); un capitolo il cui testo sarebbe proseguito dalla pagina precedente viene invece collocato in cima a una pagina propria.
- **Libro intero.** Il canvas, l’anteprima HTML e la scheda PDF possono mostrare l’intero libro come un unico documento continuo: scegli **Libro intero** nel selettore a sinistra della barra delle schede (libri con più di un capitolo). Il canvas impagina allora ogni capitolo in ordine, ciascuno dopo le pagine a cui sono arrivati i precedenti, e mostra i documenti cuciti insieme: una modifica reimpagina solo il suo capitolo, e i capitoli successivi solo quando la loro prima pagina si è spostata; l’elenco dei capitoli, le parti `chapter=` e `page=` del permalink e la sincronizzazione con l’editor seguono il capitolo della pagina. La scelta si conserva con il libro (un romanzo breve si legge come un solo documento, un manuale un capitolo alla volta), e un preset può aprirsi così tramite `view.canvasScope` del manifest. L’anteprima HTML condivide la scelta del canvas e impagina l’intero libro come un unico documento dalla prima pagina, con le righe dell’indice e il frammento che seguono il capitolo di ogni pagina; la scheda PDF ha un selettore proprio.
- **Libri lunghi.** Un libro di 120 capitoli funziona come uno breve. Il menu dei capitoli nell’intestazione del pannello Testo scorre all’interno della finestra e si apre sul capitolo attivo; i tasti freccia si spostano a partire da quello. Un libro diviso in parti (recinti `:::part` nei suoi capitoli) elenca i capitoli sotto le rispettive parti, nel menu e nel pannello Capitoli, e un clic su una parte nel menu apre il suo primo capitolo. Oltre i 30 capitoli il menu ha in alto un campo di ricerca che trova i numeri dei capitoli (`27`) e le parole dei titoli e dei nomi delle parti (`埋香`, `卷三`); Invio apre la prima corrispondenza. Mentre un metodo di input sta componendo (Zhuyin, Cangjie, pinyin, kana), Invio e i tasti freccia appartengono a lui: Invio conferma la conversione e non apre nulla. I file dei capitoli di un libro di esempio si caricano otto alla volta, e mentre i capitoli vengono impaginati in background il pannello Capitoli mostra l’avanzamento (*Impaginazione 34/120*). Il canvas e l’anteprima HTML mostrano un libro di più di 200 capitoli un capitolo alla volta, qualunque cosa chiedano il libro o il suo manifest: impaginare tutti i capitoli insieme tiene in memoria l’intero libro. Un libro al di sotto di questa soglia può aprirsi intero: 紅樓夢 (129 capitoli, circa 2.000 pagine) richiede circa 25 secondi e 100 MB sul canvas. La scheda PDF può comunque esportare intero qualsiasi libro.
- **Front matter.** Il front matter del primo capitolo è il front matter del libro (titolo, autore, …). Un blocco di front matter in cima a qualsiasi altro capitolo viene ignorato, e il pannello Verifiche lo segnala. `buildBundle` segue la stessa regola, quindi un libro si presenta allo stesso modo nella Sandbox e nel tuo programma.
- **Conteggio delle pagine.** Ogni capitolo viene impaginato come un documento a sé, quindi `{totalPages}` conta le pagine del capitolo. `{bookTotalPages}` conta l’intero libro: una volta note le pagine di tutti i capitoli, le anteprime impaginano ogni capitolo con quel totale (solo quando un’intestazione, un piè di pagina o il progetto grafico lo stampano). Fino ad allora un capitolo stampa le pagine fino alla propria fine. **Libro intero** nella scheda PDF conta le pagine che impagina, quindi il file stampa sempre il totale reale del libro.
- **Aperture di capitolo.** Tra un capitolo e l’altro non viene forzata alcuna interruzione di pagina: un capitolo il cui primo blocco è un titolo di livello 1 si apre su una pagina nuova grazie all’impostazione *interruzione prima* del titolo stesso, esattamente come un capitolo che inizia a metà documento.
- **Sincronizzazione.** Un clic su un paragrafo di qualsiasi capitolo nel canvas o nell’anteprima HTML porta l’editor a quel capitolo e vi colloca il cursore; il cursore dell’editor viene evidenziato nelle anteprime ovunque si trovi il capitolo nel libro. Gli avvisi riportano il loro capitolo.
- **I documenti esistenti** si aprono come un libro con un solo capitolo; non cambia nulla finché non si aggiunge un secondo capitolo.

## Modificare i fumetti

Un capitolo con pagine a fumetti (`:::page`) o strisce (`:::strip`) si può modificare direttamente sulle pagine, nella scheda Canvas, nella scheda HTML e nella modalità di selezione di Folio. Gli strumenti funzionano allo stesso modo su una striscia composta in una colonna, fatta flottare in testa alla pagina o a tutta larghezza, più stretta della sua giustezza o sotto una didascalia, e scrivono nel recinto della striscia stessa. Ogni modifica viene scritta nel Markdown del capitolo, come lo sarebbe una modifica digitata, quindi l’annullamento dell’editor la riporta indietro. Il markup e le regole di lettering sono spiegati in [Fumetti](https://postext.dev/it/docs/comics.md).

- **Separatori.** Sopra l’intercolonna tra due vignette il puntatore diventa un cursore di ridimensionamento. Trascinalo per spostare la linea di suddivisione; al rilascio la nuova percentuale viene scritta nell’attributo `split` della pagina (aggiunto al recinto quando la pagina non ne ha uno) e la pagina viene reimpaginata. Maiusc aggancia la linea a passi del 5 %, Alt sposta solo l’estremità più vicina al puntatore, inclinando la linea, e nessuna vignetta diventa più stretta del 5 %. Durante il trascinamento, una vignetta la cui immagine non manterrebbe più visibile la propria zona sicura viene evidenziata, con un suggerimento. Ogni separatore è anche un elemento focalizzabile: i tasti freccia lo spostano dell’1 % (5 % con Maiusc), Invio scrive la posizione ed Esc la ripristina.
- **Dividi e unisci.** Sopra una vignetta una piccola barra degli strumenti offre **Dividi con una linea orizzontale**, **Dividi con una linea verticale** (per la nuova cella viene aggiunta una riga `::panel` vuota, subito dopo questa vignetta) e **Unisci alla vignetta successiva**: la linea tra le due scompare, e la vignetta unita conserva l’immagine della prima e prende le righe di sceneggiatura di entrambe. Alle vignette si arriva anche con Tab: una vignetta con il focus ha un contorno, H la divide con una linea orizzontale, V con una verticale, e M la unisce alla successiva; dopo la reimpaginazione il focus resta sulla vignetta. Invio apre la barra degli strumenti, ed Esc torna da questa alla vignetta.
- **Nuvolette.** Trascina una nuvoletta per fissarla: al rilascio la sua riga di sceneggiatura riceve `at="x% y%"`, il punto in percentuale dell’immagine della vignetta (della cella, per una vignetta senza immagine), così il punto fissato resta nello stesso posto del disegno attraverso ritagli, trascinamenti dei separatori e traduzioni. Un gruppo unito si sposta come un tutt’uno, fissato dalla sua prima nuvoletta. I tasti freccia spostano una nuvoletta con il focus dell’1 % (5 % con Maiusc), e un doppio clic su una nuvoletta fissata ne rimuove `at`, restituendola al posizionamento automatico. Un clic singolo porta il cursore dell’editor sulla riga della nuvoletta.
- **Avviso di sconfinamento.** Mentre una nuvoletta si sposta, con il puntatore o con i tasti freccia, l’anteprima verifica dove finirebbe. Se coprisse un volto o una zona da evitare, o uscisse dalla vignetta più di quanto fa ora, il contorno in movimento diventa arancione, i volti e le zone da evitare della vignetta vengono disegnati tratteggiati, e il tooltip dice quale caso: *Qui coprirebbe un volto*, *Qui coprirebbe una parte dell’immagine da tenere libera*, *Qui uscirebbe dalla vignetta*. Una riga con `break` non viene segnalata per l’uscita dalla vignetta. L’avviso non prevede come si sposteranno le altre nuvolette della vignetta per fare spazio.
- **Code.** Sopra la punta di una coda il puntatore diventa un mirino. Trascina la punta verso il punto a cui la coda deve mirare: al rilascio la riga riceve `to="x% y%"`, il punto in percentuale dell’immagine della vignetta, e la coda si orienta verso di esso, fermandosi poco prima come fa davanti a una bocca. Esc annulla il trascinamento, e un doppio clic sulla punta rimuove `to`, così la coda torna a indicare chi parla. Da tastiera, T su una nuvoletta con il focus passa alla sua coda: i tasti freccia spostano il punto a cui mira dell’1 % (5 % con Maiusc), Invio lo scrive, Esc lo ripristina, Canc rimuove `to`, e T torna alla nuvoletta.
- **Personaggi e zone da evitare.** Su un’immagine nel [pannello Risorse](https://postext.dev/it/docs/sandbox.md#pannello-risorse), il campo **Zona sicura e lettering** apre una finestra di dialogo con tre modalità. **Zona sicura** marca la parte dell’immagine che deve restare visibile. **Personaggi** colloca un punto per ogni personaggio: un clic sull’immagine aggiunge lì un personaggio e mette il focus sul suo id, che deve essere la chiave del personaggio usata dalla sceneggiatura (`maya: …`); la sua bocca, la sua testa (dove puntano le nuvolette di pensiero) e il suo volto (mai coperto da una nuvoletta) si trascinano al loro posto. Le **zone da evitare** sono rettangoli che nessuna nuvoletta copre, disegnati trascinando sopra l’immagine. La stessa modalità marca i volti delle persone che non parlano (**Aggiungi volto di comparsa**, o l’interruttore **Un volto** sulla riga di una zona): nessuna nuvoletta copre un volto del genere, mentre una zona da evitare cede quando una vignetta non ha altro spazio. Ogni marca si può spostare con i tasti freccia (Maiusc per passi più ampi) e rimuovere con Canc; la finestra di dialogo ha un proprio annullamento, e un personaggio fuori dalla zona sicura viene segnalato.
- **Impostazioni.** Il gruppo **Fumetti** del pannello Grafica contiene la configurazione dei fumetti: direzione di lettura e immagini specchiate, la cornice e le intercolonne, la vignetta predefinita e gli stili di vignetta con nome, il lettering e gli stili delle nuvolette, ciascuno con un’anteprima del proprio contorno.
- **Editor e verifiche.** L’editor di testo colora le righe `:::page`, `:::strip`, `::panel` e le chiavi e gli attributi delle righe di sceneggiatura. Il pannello Verifiche elenca gli avvisi dei fumetti (una suddivisione illeggibile, vignette e celle che non corrispondono, una nuvoletta che non ci sta…) alla riga a cui si riferiscono; vedi [Fumetti › Avvisi dei fumetti](https://postext.dev/it/docs/comics.md#avvisi-dei-fumetti).

## Documenti Word

I manoscritti arrivano di solito come file Word. Il pannello Testo importa direttamente un `.docx`, senza agenti di IA e senza nulla da installare, e ne mappa gli stili come fa *Inserisci* in InDesign. **Importa un documento Word** legge il file nel browser (non viene mai caricato su un server) e apre una finestra di dialogo; il libro cambia solo quando premi **Importa**. Un file che non è un documento Word, come un vecchio `.doc` binario, viene rifiutato con un messaggio che lo spiega; salvalo prima da Word come `.docx`.

La finestra di dialogo ha queste parti, ognuna delle quali si può comprimere:

- **Qualità dell’originale.** Un giudizio su come è stato preparato il manoscritto: *Ben strutturato con stili* (si converte in modo pulito), *Stili in parte* (alcuni paragrafi sono formattati a mano) o *Nessuno stile* (tutto è in Normale, quindi il testo entra come paragrafi semplici). Sotto, i conteggi (paragrafi, quanti sono in uno stile diverso da Normale, immagini, tabelle, note) e ciò che è stato trovato, ciascuno con le prime parole di alcuni paragrafi in cui succede: paragrafi con formattazione impostata a mano (font, dimensioni, colori, allineamento; viene scartata, perché la stabilisce il progetto grafico), paragrafi brevi in grassetto che sembrano titoli digitati a mano, numeri o punti elenco digitati invece degli elenchi di Word, a capo manuali, interruzioni di pagina manuali, paragrafi vuoti usati come spaziatura, tabulazioni e doppi spazi, revisioni (gli inserimenti si conservano e le eliminazioni si scartano; accettale o rifiutale prima in Word), commenti (non importati), caselle di testo (il loro testo segue il paragrafo a cui ciascuna è ancorata), equazioni (convertite in TeX; controllale), testo nascosto e immagini in formati che il browser non sa mostrare (EMF, WMF, TIFF).
- **Modello di importazione.** La mappatura in uso: *Automatico* (per nome dello stile), un modello salvato, o *Salvato in questo documento* per un file esportato dalla Sandbox. **Salva come nuovo modello** chiede un nome e conserva nel browser la mappatura, compreso ogni stile di questo documento; **Salva le modifiche** aggiorna il modello selezionato; il pulsante di download lo scrive come file `.json` e quello di caricamento ne carica uno, così un intero gruppo di lavoro può condividere lo stesso modello. L’eliminazione chiede conferma. L’ultimo modello usato viene proposto per primo la volta successiva.
- **Stili di paragrafo.** Ogni stile di paragrafo usato dal documento, con il numero di paragrafi che lo usano e le prime parole di uno di essi, e ciò in cui si trasforma: **Testo corrente**, **Titolo** (un livello da 1 a 6 e, quando il progetto grafico ha stili di titolo, uno di questi), **Stile di paragrafo** (uno degli stili di paragrafo del progetto grafico; i paragrafi consecutivi in quello stile formano un gruppo `:::paragraphs`), **Riquadro** (i paragrafi consecutivi formano un riquadro di quel tipo), **Titolo di riquadro** (apre un riquadro intitolato con il testo del paragrafo), **Citazione**, **Didascalia** dell’immagine o della tabella accanto, **Inizio di un nuovo capitolo**, **Markdown di Postext, così com’è scritto** (il testo si copia tale e quale, per le direttive digitate in Word) o **Escludi**. I paragrafi degli elenchi numerati e puntati di Word diventano elenchi Postext qualunque sia il loro stile, con i loro numeri e i loro livelli di annidamento. **Poesia (:::verse, riga per riga)** compone i paragrafi dello stile come una poesia `:::verse`, eventualmente in uno degli stili di paragrafo del progetto grafico: Maiusc+Invio va a capo, un paragrafo è una strofa, più paragrafi di una riga di seguito formano una strofa e un paragrafo vuoto separa le strofe; viene proposto automaticamente per gli stili chiamati Verse, Poem o Poesía.
- **Stili di carattere.** Lo stesso per gli stili di carattere: **Testo semplice**, **Grassetto**, **Corsivo**, **Grassetto corsivo**, **Maiuscoletto**, **Apice**, **Pedice**, **Chip** (uno degli stili di chip del progetto grafico), **Markdown di Postext, così com’è scritto** o **Escludi**.
- **Opzioni.** Gli a capo manuali (Maiusc+Invio) si conservano come a capo all’interno del paragrafo (una barra rovesciata alla fine della riga Markdown, l’impostazione predefinita), si uniscono con uno spazio o iniziano un nuovo paragrafo; grassetto, corsivo, maiuscoletto, apici e pedici impostati a mano si conservano o si scartano; i paragrafi brevi in grassetto restano paragrafi o diventano titoli di un certo livello; le interruzioni di pagina manuali si scartano (è il progetto grafico a girare le pagine) o si conservano come `:::pagebreak`; immagini e tabelle si aggiungono o no come risorse.
- **Anteprima del Markdown**, aggiornata quando cambia la mappatura.

Il piè della finestra sceglie dove va il testo: **Sostituisci questo capitolo**, **Nuovi capitoli dopo questo** o **Sostituisci l’intero libro**; le ultime due opzioni iniziano un capitolo a ogni titolo di livello 1. Le immagini (PNG, JPEG, GIF, WebP, SVG) diventano risorse di tipo figura e le tabelle risorse di tipo tabella (con righe di intestazione, celle unite, larghezze delle colonne e riempimenti delle celle conservati), ciascuna collocata con `::resource{id="…"}` dove si trovava e con la didascalia presa da un paragrafo Didascalia accanto, senza l’etichetta digitata (*Figura 3.*) perché Postext numera le risorse da sé. Le note a piè di pagina e le note di chiusura diventano note a piè di pagina Postext (`[^1]`), le voci di indice di Word (campi XE) diventano marche `:index`, i link restano link e le equazioni diventano `$…$` / `$$…$$`. Una tabulazione nel testo corrente diventa `:tab` con lo stop che Word le ha assegnato (`:tab{at=432pt align=end leader="."}`), oppure un semplice `:tab` quando il paragrafo va a uno stile di paragrafo del libro che ha stop propri; i caratteri di riempimento a punti, a trattini e a punto centrale di Word diventano `.`, `-` e `·`, quelli a trattino basso e spessi un filetto. Una tabulazione in un titolo, in una cella di tabella o in una nota diventa uno spazio.

Prima di abbinare gli stili per nome, la mappatura automatica riconosce i ruoli propri di Word in qualsiasi lingua dell’interfaccia (*titolo 1*–*6*, *Titolo*, *Citazione*, *Didascalia*; i paragrafi di sommario, di indice, di intestazione e di piè di pagina si scartano) e gli stili del progetto grafico: uno stile di Word che si chiama come uno stile di paragrafo, un tipo di riquadro, uno stile di titolo o uno stile di chip del libro (per id o per nome, ignorando maiuscole e accenti) viene mappato su di esso.

**Esporta in Word** scarica il capitolo aperto, o l’intero libro, come `.docx` perché qualcuno ci lavori in Word. Lo stesso modello si applica al contrario: i titoli ricevono gli stili di titolo di Word, gli stili di paragrafo, i riquadri, le citazioni e i chip ricevono stili Word propri (con il nome degli stili del progetto grafico, *Callout: Note*, *Chip: Key*), gli elenchi diventano elenchi di Word, le note a piè di pagina diventano note a piè di pagina di Word e i link restano link. `:tab` diventa una tabulazione di Word, un `:tab{…}` con uno stop proprio si conserva così com’è scritto, e gli stop di tabulazione di uno stile di paragrafo impostati a una lunghezza diventano gli stop di tabulazione del suo stile Word, con il carattere di riempimento di Word più vicino (uno stop a `'end'` o a una percentuale dipende dalla pagina su cui Word compone il testo, e viene scartato). Ciò che Word non sa mostrare (front matter, recinti, direttive, `:ref`, formule, marche `:index`, righe di risorsa) si conserva così com’è scritto negli stili grigi *Postext Markup*. Un libro si esporta con un paragrafo *Postext Chapter* in testa a ogni capitolo. Il modello viaggia dentro il file, quindi il documento modificato si importa di nuovo con la stessa mappatura, come libro intero quando contiene paragrafi di capitolo. Lascia il testo grigio com’è e il testo tornerà come è uscito; le etichette delle note a piè di pagina vengono rinumerate (`[^1]`, `[^2]`…), il che si stampa allo stesso modo, e `_italic_` torna come `*italic*`.

Per le conversioni che questa finestra di dialogo non copre (sorgenti PDF, PowerPoint, EPUB o IDML, riproduzione delle regole di impaginazione di un originale), usa la [skill per agenti](https://postext.dev/it/docs/skill.md).

## Persistenza

La Sandbox salva automaticamente il tuo lavoro nel browser:

- **Libro e configurazione**: i capitoli, il capitolo attivo e l’ambito del canvas si salvano automaticamente in `localStorage` sotto `postext-sandbox-book` (un documento singolo salvato da una versione precedente si legge da `postext-sandbox-markdown` come libro di un capitolo e viene migrato al primo salvataggio); la configurazione si salva dopo 1 secondo di inattività, privata dei valori predefiniti in modo da memorizzare solo le tue modifiche, insieme alla sua versione (`postext-sandbox-config-version`); una configurazione salvata prima che esistesse la versione si legge come descritto più avanti in *Interruzioni dei titoli salvate da postext 1.4 o precedenti*
- **Stato dell’interfaccia**: il pannello e la scheda di visualizzazione attivi, la larghezza della barra laterale, il gruppo aperto del pannello Grafica (`postext-sandbox-settings-group`), il suo interruttore *Mostra tutte le spiegazioni* (`postext-sandbox-settings-help`) e lo stato aperto delle sezioni, i libri di esempio nascosti, lo zoom, l’adattamento e le modalità di visualizzazione del canvas, la scala del font e la modalità a colonne dell’HTML, la resa della scheda EPUB (`postext-sandbox-epub-layout`) e lo stato di blocco delle barre degli strumenti persistono tutti in `localStorage`
- **Libro aperto**: l’id del libro tuo aperto (un *progetto*) si memorizza in `localStorage` sotto `postext-sandbox-project`; i progetti stessi (capitoli, configurazione e record delle risorse; record `version: 9`, il `CONFIG_VERSION` del motore, con cui vengono contrassegnate anche la configurazione di lavoro e le esportazioni `postext-config.json`, così che ciascuna venga migrata una sola volta quando cambiano le regole del motore; i record di documento singolo delle versioni precedenti vengono migrati alla lettura, e le interruzioni dei titoli dei record anteriori alla versione 3, la dimensione delle formule dei record anteriori alla versione 4, lo spazio sotto le figure in linea dei record anteriori alla versione 5, lo spazio attorno alle figure in linea nei riquadri, le marche dei titoli, le dimensioni dei capilettera, lo spazio sotto una riga con i due punti e i tagli dei riquadri dei record anteriori alla versione 6, le interruzioni ai trattini e la divisione in righe del testo non giustificato dei record anteriori alla versione 7, e le divisioni sotto un titolo, le interruzioni ai trattini delle parole composte e lo spazio sotto i contenitori `:::paragraphs` dei record anteriori alla versione 8 vengono fissati come descritto più avanti) vivono nello store `projects` del database IndexedDB della Sandbox, e i loro contenuti binari condividono gli store dei blob e dei font con il documento di lavoro. I contenuti vengono eliminati dalla garbage collection quando né il documento di lavoro né alcun progetto vi fanno riferimento
- **Libri di esempio modificati**: la tua versione di un libro di esempio (capitoli, capitolo attivo, ambito del canvas, configurazione e record delle risorse, con ciò che l’esempio ha applicato quando l’hai aperto) si salva nello store `presetDrafts` del database IndexedDB della Sandbox, un record per esempio e lingua del contenuto, e i suoi file vengono conservati dalla garbage collection come quelli di un progetto. Ripristinare l’originale la elimina
- **Copertine dei libri di esempio**: la copertina ricavata dalla prima pagina di un libro di esempio che non include una miniatura si conserva nello store `presetCovers` del database IndexedDB della Sandbox, un record per esempio e lingua del contenuto (vedi [pannello Libri](https://postext.dev/it/docs/sandbox.md#pannello-libri)). Un libro tuo conserva la copertina nel record del suo progetto.
- **Salvataggio all’uscita**: le modifiche in sospeso si scrivono subito quando la pagina viene nascosta o chiusa, quando lasci la Sandbox tramite un link (il logo) e prima che si apra un altro libro, invece che dopo la pausa di 1 secondo
- **Libro di esempio aperto**: l’id dell’ultimo preset caricato si memorizza in `localStorage` sotto `postext-sandbox-preset`, così i pulsanti Reimposta dei pannelli continuano a ripristinare quel preset da una sessione all’altra (un preset che non viene più servito appare come non disponibile). Ciò che quel preset ha applicato (l’impronta del suo pacchetto più gli hash del Markdown, della configurazione e dell’insieme delle risorse) si memorizza sotto `postext-sandbox-preset-applied`, ed è così che la visita successiva distingue un documento intatto da uno modificato
- **Risorse e font**: i record delle risorse, i loro blob binari (bitmap e SVG) e i file dei font personalizzati persistono in **IndexedDB**; quando IndexedDB non è disponibile (per esempio in alcune modalità di navigazione privata), nel pannello Verifiche compare un avviso *archiviazione non disponibile* (sotto *Browser*)
- **Permalink**: il frammento dell’URL indica ciò che è sullo schermo, così un ricaricamento, un segnalibro o un link passato a qualcun altro portano alla stessa pagina dello stesso libro nello stesso visualizzatore: `#preset=bioquimica-feduchi&lang=es&view=canvas&chapter=1&page=7` apre il preset Bioquímica in spagnolo nella scheda Canvas al capitolo 1, pagina 7 (il numero stampato sulla pagina). `view` è `canvas`, `pdf`, `folio`, `html` o `epub`; nella scheda Folio la pagina è quella di destra della doppia pagina aperta. Un progetto locale si indica come `project=ID`, il suo id di archiviazione, quindi solo il browser che contiene il progetto può seguire un link del genere. La Sandbox mantiene aggiornato il frammento mentre cambi libro, scheda e capitolo e mentre scorri. Una parte omessa significa ciò che c’è già (senza pagina: la prima pagina del capitolo; senza libro: l’ultimo aperto), e un libro che il browser non riesce ad aprire viene ignorato. Incollare un link nella barra degli indirizzi di una Sandbox aperta lo apre sul posto. Quando la pagina si apre su un link a un libro diverso dall’ultimo aperto, la Sandbox mostra il suo stato di caricamento finché non è arrivato il libro collegato, mai quello precedente. Un host può anche collegare libri propri con la prop `hashBundles` (vedi [Props](https://postext.dev/it/docs/sandbox-embedding.md#props)): il sito apre una ricetta del Ricettario con `#recipe=<slug>&lang=es`. La prima visita importa il file `.postext` della ricetta come uno dei tuoi libri. Una visita successiva allo stesso link chiede prima (*Hai già questo libro*): **Apri la mia copia** apre quel libro, con le tue modifiche, e **Sostituisci con la versione pubblicata** importa di nuovo la ricetta, che nel frattempo potrebbe essere stata corretta, ed elimina la tua copia una volta aperta quella nuova; Esc conserva la tua copia. Il frammento indica allora il progetto. La lingua dell’interfaccia resta nel percorso (`/en/sandbox`, `/es/sandbox`); `lang` è la lingua del contenuto di un pacchetto bilingue, un qualsiasi tag BCP 47, mantenuto nella forma canonica di maiuscole e minuscole (`lang=zh-hant` si legge `zh-Hant`). Un tag che il pacchetto non elenca apre l’edizione che lo serve: `zh-TW` e `zh-HK` aprono quella in cinese tradizionale (`zh-Hant`), `zh` e `zh-CN` quella in cinese semplificato (`zh-Hans`), `en-GB` quella inglese. L’altra scrittura cinese si legge solo quando il pacchetto non ha un’edizione in quella del lettore: un link `zh-TW` a un libro in `zh-Hans` e in inglese apre il testo semplificato, non quello inglese. Un link senza `lang` apre l’`openLocale` del pacchetto quando ne indica uno, altrimenti l’edizione nella lingua dell’interfaccia. Il capitolo e la pagina di un link si applicano all’edizione che apre, e il frammento indica allora quell’edizione con il suo tag (`lang=zh-TW&chapter=28` diventa `lang=zh-Hant&chapter=28`).

**Interruzioni dei titoli salvate da postext 1.4 o precedenti.** Fino a postext 1.4, una configurazione con un oggetto `headings` impaginava i titoli di livello 1 senza interruzione di pagina a meno che non impostasse esplicitamente l’interruttore *Interruzione prima* dell’H1 (e il salvataggio eliminava un’interruzione dell’H1 disattivata), un’interruzione parziale dell’H1 prendeva il campo mancante dal valore predefinito senza interruzione, e l’interruzione di uno stile di titolo faceva lo stesso invece di fondersi con quella del suo livello. Ora il motore mantiene il valore predefinito di ogni livello (l’H1 si apre su un recto nuovo, `always-odd`) e vi fonde un’interruzione parziale. Perché un libro salvato allora conservi le pagine che aveva, la Sandbox scrive esplicitamente quelle interruzioni quando legge un record di progetto anteriore alla versione 3 o una configurazione di lavoro senza versione: `enabled: false` sull’H1 dove l’interruzione era disattivata, e `parity: 'any'` accanto a un `enabled: true` che non indicava una parità, sull’H1 e sugli stili di titolo. Il pannello Grafica mostra allora l’interruzione con cui sono state impaginate le pagine. Da postext 1.5 anche i file registrano la versione: un file `.postext` il cui manifest non ha `configVersion`, e un `postext-config.json` senza di essa, sono stati scritti da postext 1.4 o precedenti, e vengono letti allo stesso modo quando si importano o si aprono (vedi [Pacchetti scritti da postext 1.4 o precedenti](https://postext.dev/it/docs/configuration-bundles.md#pacchetti-scritti-da-postext-14-o-precedenti)).

**Dimensione delle formule salvata prima di postext 1.5.** Fino a postext 1.4 ogni formula usciva 1,131 volte più grande di quanto indicasse la sua *Scala del corpo* (vedi [Dimensione delle formule](https://postext.dev/it/docs/configuration-lists-math.md#matematica)). Perché un libro salvato allora conservi le sue pagine, la Sandbox fissa quella dimensione quando legge un record di progetto anteriore alla versione 4, una configurazione di lavoro salvata con un contrassegno più vecchio (o senza), un file `.postext` il cui manifest è anteriore a `configVersion: 4`, o un `postext-config.json` esportato prima di essa: la *Scala del corpo* diventa la scala salvata × 1,1312 e un margine delle formule in evidenza espresso in `em` viene diviso per 1,1312, così le formule e lo spazio attorno a esse restano come erano. Un libro i cui capitoli non contengono `$` resta com’era (un `postext-config.json` non contiene capitoli, quindi la sua dimensione si fissa ogni volta che le formule sono attive), e così uno con *Attiva LaTeX* disattivato. La sezione Formule mostra allora i valori con cui è impaginato il libro; reimposta *Scala del corpo*, *Margine superiore del display* e *Margine inferiore del display* per portarlo alla dimensione attuale. Il fissaggio si scrive una sola volta: il record si salva di nuovo con la versione attuale e da allora si legge così com’è. Un preset applicato allora e mai modificato conta ancora come intatto (la Sandbox lo confronta con i suoi valori fissati, e questo vale anche per il fissaggio delle interruzioni dei titoli): ricaricarlo o cambiare libro non chiede di scartare modifiche che non hai mai fatto, e una versione più recente del preset, come quella della guida integrata, lo sostituisce comunque.

**Figure in linea salvate prima di postext 1.5.** Fino a postext 1.4 una figura o una tabella composta in linea nel testo (posizionamento *Nel testo (qui)*) conservava una riga di spazio solo sopra di sé: il testo successivo riprendeva alla riga successiva della griglia, per quanto vicina fosse. Ora conserva la stessa riga anche sotto (**Colonne → Spazio attorno alle figure in linea**, *Sopra e sotto*). Perché un libro salvato allora conservi le sue pagine, la Sandbox imposta *Spazio attorno alle figure in linea* su *Solo sopra* quando legge un record di progetto anteriore alla versione 5, una configurazione di lavoro salvata con un contrassegno più vecchio (o senza), un file `.postext` il cui manifest è anteriore a `configVersion: 5`, o un `postext-config.json` esportato prima di essa, quando una riga del libro incorpora una risorsa: `::resource{id="…"}` da solo sulla propria riga, non una menzione nel testo. Un `postext-config.json` non contiene capitoli, quindi lì si imposta ogni volta che il file è più vecchio. Scegli *Sopra e sotto* per impaginare il libro con la spaziatura attuale.

**Figure in linea nei riquadri salvate prima di postext 1.5.** Fino a postext 1.4 una figura o una tabella composta in linea dentro un riquadro stava a contatto con il testo del riquadro attorno a essa. Ora conserva una riga del testo del riquadro sopra di sé, e anche sotto con *Sopra e sotto* (**Colonne → Spazio attorno alle figure nei riquadri**). Perché un libro salvato allora conservi le sue pagine, la Sandbox disattiva *Spazio attorno alle figure nei riquadri* quando legge un record di progetto anteriore alla versione 6, una configurazione di lavoro salvata con un contrassegno più vecchio (o senza), un file `.postext` il cui manifest è anteriore a `configVersion: 6`, o un `postext-config.json` esportato prima di essa, quando un riquadro del libro incorpora una risorsa su una riga propria. Un `postext-config.json` non contiene capitoli, quindi lì si disattiva ogni volta che il file è più vecchio. Attivalo per impaginare il libro con la spaziatura attuale.

**Marche nei titoli e capilettera salvati prima di postext 1.5.** Fino a postext 1.4 un titolo stampava le parole delle sue marche `*italic*`, `**bold**` e simili nel proprio stile semplice, e un capolettera senza dimensione era alto quanto tutte le righe che occupa, con la sommità al di sopra della prima riga. Ora un titolo applica le sue marche (**Titoli → Stili in linea nei titoli**), e la sommità di un capolettera è allineata alle maiuscole della prima riga. Perché un libro salvato allora conservi le sue pagine, la Sandbox disattiva *Stili in linea nei titoli* quando legge un record di progetto anteriore alla versione 6, una configurazione di lavoro salvata con un contrassegno più vecchio (o senza), un file `.postext` il cui manifest è anteriore a `configVersion: 6`, o un `postext-config.json` esportato prima di essa, quando un titolo del libro contiene una marca (un `postext-config.json` non contiene capitoli, quindi lì si disattiva ogni volta che il file è più vecchio); e scrive nella sua **Corpo del capolettera** la dimensione con cui era composto ciascun capolettera. Attiva l’interruttore, o cancella la dimensione, per comporre il libro con le regole attuali. Tieni presente che un titolo in corsivo il cui intero testo è marcato `*…*` esce allora in tondo.

**Elenchi dopo i due punti salvati prima di postext 1.5.** Fino a postext 1.4 *Tieni i due punti con l’elenco* considerava sufficiente per l’elenco una riga di spazio sotto la riga che termina con i due punti, quindi un primo elemento di due righe che le regole su orfane e vedove tengono unito passava alla colonna successiva e lasciava sola al piede la riga con i due punti. Ora chiede lo spazio di cui ha bisogno il primo elemento (**Tipografia → Testo corrente → Vedove, orfane e righe corte → Spazio sotto i due punti**, *Quanto serve alla prima voce*). Perché un libro salvato allora conservi le sue pagine, la Sandbox imposta *Spazio sotto i due punti* su *Una riga (1.4)* quando legge un record di progetto anteriore alla versione 6, una configurazione di lavoro salvata con un contrassegno più vecchio (o senza), un file `.postext` il cui manifest è anteriore a `configVersion: 6`, o un `postext-config.json` esportato prima di essa, quando un elenco del libro segue una riga che termina con i due punti. Un `postext-config.json` non contiene capitoli, quindi lì si imposta ogni volta che il file è più vecchio. Scegli *Quanto serve alla prima voce* per impaginare il libro con la regola attuale.

**Tagli dei riquadri salvati prima di postext 1.5.** Fino a postext 1.4 un riquadro che si divideva all’interno di un paragrafo o di un elemento di elenco poteva lasciarne una sola riga su un lato, purché ogni lato del riquadro conservasse le sue *Righe mantenute su ogni lato di una divisione*. Ora un taglio lascia almeno due righe del paragrafo o dell’elemento su ogni lato (**Colonne → Righe di un paragrafo a un taglio di riquadro**). Perché un libro salvato allora conservi le sue pagine, la Sandbox imposta *Righe di un paragrafo a un taglio di riquadro* a 1 quando legge un record di progetto anteriore alla versione 6, una configurazione di lavoro salvata con un contrassegno più vecchio (o senza), un file `.postext` il cui manifest è anteriore a `configVersion: 6`, o un `postext-config.json` esportato prima di essa, quando un capitolo del libro apre un `:::callout`. Un `postext-config.json` non contiene capitoli, quindi lì si imposta ogni volta che il file è più vecchio. Riportalo a 2 per impaginare il libro con la regola attuale.

**Lineette e testo non giustificato salvati prima di postext 1.5.** Fino a postext 1.4 la divisione ottimale in righe non terminava mai una riga dopo una lineetta lunga o media composta senza spazi tra due parole (`say—that’s`), e il testo non giustificato si componeva sempre riga per riga, riempiendo ciascuna prima della successiva. Ora una riga può terminare dopo una lineetta del genere (**Tipografia → Testo corrente → Paragrafi → A capo dopo le lineette**), e anche il testo corrente non giustificato si divide in righe con Knuth-Plass (**Divisione ottimale del testo in bandiera**). Perché un libro salvato allora conservi le sue pagine, la Sandbox disattiva *A capo dopo le lineette* quando legge un record di progetto anteriore alla versione 7, una configurazione di lavoro salvata con un contrassegno più vecchio (o senza), un file `.postext` il cui manifest è anteriore a `configVersion: 7`, o un `postext-config.json` esportato prima di essa, quando un capitolo del libro contiene una lineetta del genere (un `postext-config.json` non contiene capitoli, quindi lì si disattiva ogni volta che il file è più vecchio); e disattiva *Divisione ottimale del testo in bandiera* quando la configurazione compone non giustificata una parte del testo corrente: il testo corrente stesso, uno stile di paragrafo, il corpo di un riquadro, il corpo di una parte o il corpo di uno stile di sezione. Attivali per impaginare il libro con le regole attuali.

**Divisioni sotto un titolo salvate prima di postext 1.5.** Fino a postext 1.4 il paragrafo sotto un titolo al piede di una colonna conservava lì tutte le righe che ci stavano, per quanto poche ne passassero alla colonna successiva. Ora rispetta anche il minimo per le orfane, altrimenti il titolo passa avanti insieme al paragrafo (**Titoli e indice → Titoli → Dividi sotto un titolo**). Perché un libro salvato allora conservi le sue pagine, la Sandbox imposta *Dividi sotto un titolo* su *Riempi la colonna* quando legge un record di progetto anteriore alla versione 8, una configurazione di lavoro salvata con un contrassegno più vecchio (o senza), un file `.postext` il cui manifest è anteriore a `configVersion: 8`, o un `postext-config.json` esportato prima di essa, quando un capitolo del libro ha un titolo (un `postext-config.json` non contiene capitoli, quindi lì si imposta ogni volta che il file è più vecchio) e la configurazione mantiene attivi *Tieni con il successivo* e il controllo delle orfane. Impostalo su *Secondo le regole* per impaginare il libro con la regola attuale.

**Contenitori di paragrafi salvati prima di postext 1.5.** Fino a postext 1.4 lo spazio sotto un contenitore `:::paragraphs` era quello proprio dello stile (il maggiore tra il suo spazio tra paragrafi e il suo margine inferiore), applicato sotto l’ultima riga prima che il testo tornasse ad agganciarsi alla griglia; lo spazio che un titolo mantiene sopra di sé si aggiungeva sotto, e la spaziatura tra paragrafi del testo corrente non contava, quindi un titolo stava più lontano da una bibliografia che da un paragrafo, e il paragrafo dopo un gruppo di voci compatte stava più vicino a esso che a qualsiasi altro. Ora lo spazio si fonde con quello proprio del blocco successivo ed è almeno pari alla spaziatura tra paragrafi del testo (**Tipografia → Stili di paragrafo → Spazio sotto un contenitore**, *Fondi*). Perché un libro salvato allora conservi le sue pagine, la Sandbox imposta *Spazio sotto un contenitore* su *Somma (1.4)* quando legge un record di progetto anteriore alla versione 8, una configurazione di lavoro salvata con un contrassegno più vecchio (o senza), un file `.postext` il cui manifest è anteriore a `configVersion: 8`, o un `postext-config.json` esportato prima di essa, quando la configurazione dichiara uno stile di paragrafo e un capitolo del libro apre un contenitore `:::paragraphs`. Un `postext-config.json` non contiene capitoli, quindi lì si imposta ogni volta che il file è più vecchio e dichiara uno stile di paragrafo. Scegli *Fondi* per impaginare il libro con la regola attuale.

**Parole composte salvate prima di postext 1.5.** Fino a postext 1.4 la divisione ottimale in righe non terminava mai una riga giustificata dopo il trattino di una parola composta (`well-known`) in un paragrafo senza grassetto, corsivo o altra formattazione, mentre lo faceva in uno con formattazione. Ora una riga può terminare lì in ogni paragrafo (**Tipografia → Testo corrente → Paragrafi → A capo dopo i trattini**). Perché un libro salvato allora conservi le sue pagine, la Sandbox disattiva *A capo dopo i trattini* quando legge un record di progetto anteriore alla versione 8, una configurazione di lavoro salvata con un contrassegno più vecchio (o senza), un file `.postext` il cui manifest è anteriore a `configVersion: 8`, o un `postext-config.json` esportato prima di essa, quando un capitolo del libro contiene un trattino tra due lettere (un `postext-config.json` non contiene capitoli, quindi lì si disattiva ogni volta che il file è più vecchio). Attivalo per impaginare il libro con la regola attuale.

**Poesie e stili sporgenti salvati prima di postext 1.23.** Fino a postext 1.22 una poesia `:::verse` le cui righe non contenevano `||` si componeva come emistichi singoli, ogni riga centrata, e il rientro sporgente di uno stile di paragrafo sostituiva il suo rientro della prima riga. Ora una poesia del genere si compone verso per verso (**Tipografia → Testo corrente → Versi → Poesie senza separatore**, *Riga per riga*), e uno stile che imposta entrambi i rientri inizia la prima riga al rientro della prima riga. Perché un libro salvato allora conservi le sue pagine, la Sandbox imposta *Poesie senza separatore* su *Come emistichi (1.22)* quando legge un record di progetto anteriore alla versione 9, una configurazione di lavoro o un’esportazione `postext-config.json` con un contrassegno inferiore a 9 i cui capitoli contengono una poesia del genere, ed elimina il rientro della prima riga di uno stile che è anche sporgente. Disattiva inoltre **A capo forzati** (**Tipografia → Testo corrente → Paragrafi**) quando i capitoli di un record del genere terminano una riga con una barra rovesciata o contengono `\\` prima di uno spazio, che fino a postext 1.22 si stampava (per un’esportazione `postext-config.json`, che non contiene capitoli, sempre). E disattiva **Recinzioni di codice** (**Tipografia → Codice**) quando i capitoli contengono un recinto ```` ``` ```` o `~~~`, le cui righe fino a postext 1.22 si leggevano come Markdown (per un’esportazione, sempre).

**Poesie salvate con postext 1.23.** In postext 1.23 un verso di una poesia composta verso per verso che fosse anche solo un poco più largo della giustezza andava a capo. Ora stringe gli spazi tra le parole, fino alla spaziatura minima, e resta su una riga quando basta (**Tipografia → Testo corrente → Versi → Stringi prima di andare a capo**). Perché un libro salvato allora conservi le sue pagine, la Sandbox disattiva *Stringi prima di andare a capo* quando legge un record di progetto, una configurazione di lavoro o un’esportazione `postext-config.json` con contrassegno 9 o inferiore i cui capitoli compongono una poesia verso per verso (per un’esportazione, che non contiene capitoli, sempre).

**Testi del progetto grafico salvati con postext 1.23.** Fino a postext 1.23 un elemento di testo di un design di titolo o di una pagina di parte che non impostava alcun comportamento in caso di eccedenza veniva tagliato a una riga con i puntini di sospensione. Ora va a capo su più righe, e **Aggiungi testo** lascia *Eccedenza* allo slot. Perché un libro salvato allora conservi le sue pagine, la Sandbox imposta *Eccedenza* su *Puntini alla fine (…)* su ciascuno di quegli elementi quando legge un record di progetto, una configurazione di lavoro, un file `.postext` o un’esportazione `postext-config.json` con contrassegno 9 o inferiore.

**Tabelle in linea e colonne salvate con postext 1.24.** Fino a postext 1.24 una tabella collocata `here` che non stava nel resto della sua colonna passava intera alla successiva, un recinto `:::columns` fuori da un riquadro veniva ignorato, e un riquadro non si tagliava mai all’interno di un gruppo `:::columns`. Ora la tabella si taglia tra una riga e l’altra e il gruppo compone i suoi blocchi in colonne e prosegue nella colonna o pagina successiva. Perché un libro salvato allora conservi le sue pagine, la Sandbox disattiva **Applica alle tabelle nel testo** (**Tabelle**) quando legge un record di progetto, una configurazione di lavoro o un’esportazione `postext-config.json` con un contrassegno inferiore a 11 i cui capitoli incorporano una risorsa, e **Colonne nel testo, e gruppi che si dividono** (**Colonne**) quando contengono un recinto `:::columns` (per un’esportazione, che non contiene capitoli, sempre).

Questi fissaggi trattengono ciò che ciascuno di quei cambiamenti di regola sposterebbe. La versione 1.5 corregge anche errori di impaginazione, e una correzione non ha fissaggio, quindi un libro salvato può comunque vedere spostarsi una pagina dove si applica una di esse: la fascia di un titolo di capitolo a tutta larghezza senza design, un capolettera in un design di titolo, un paragrafo in un riquadro, un paragrafo lasco che il bilanciamento allarga, un riquadro flottante con un margine più largo di una riga, una testatina centrata o allineata a destra con spaziatura tra lettere, la seconda colonna sotto un’apertura a tutta larghezza, una testatina presa da un titolo diviso dopo un trattino, una parola più larga della sua riga tagliata accanto al proprio trattino, il resto di una parola più larga della sua riga, che ora conserva i propri punti di divisione, l’elemento dopo un elenco annidato in un altro (vedi [Dimensione delle formule](https://postext.dev/it/docs/configuration-lists-math.md#matematica) per l’elenco).

L’archiviazione è **condivisa tra le lingue dell’interfaccia**. Un documento predefinito intatto passa al Markdown predefinito della lingua corrente e reinserisce le risorse di esempio quando la lingua cambia, così aprire la Sandbox in spagnolo mostra esempi in spagnolo. Qualsiasi modifica dell’utente esclude il documento da questo comportamento. Tutte le anteprime ricavano inoltre una lingua di sillabazione dalla lingua dell’interfaccia quando la configurazione non indica alcuna lingua (né una lingua di sillabazione né `locale`).

### Esportazione e importazione

Un libro intero viaggia come **file `.postext`**: un archivio zip con esattamente la struttura della directory di un pacchetto preset, cioè `preset.json`, `chapters/*.md`, `resources/*` e `fonts/*` (vedi [Formato dei pacchetti preset](https://postext.dev/it/docs/sandbox-embedding.md#formato-dei-pacchetti-preset)). L’archivio contiene anche l’**impaginazione** del libro come `layouts.json` (il numero di pagine e la numerazione di ogni capitolo, contrassegnati con la versione del motore, la configurazione e le risorse con cui sono stati calcolati), così un libro importato si apre già impaginato e si reimpagina solo ciò che quei contrassegni non garantiscono più. Un pacchetto in più lingue compone ciascuna con la propria configurazione, quindi può contenerne invece una per lingua, `layouts.<locale>.json` (`layouts.zh-Hant.json`), letta prima di `layouts.json`. Il documento attivo esporta l’impaginazione che contiene; un progetto o un preset esportato dalla sua riga porta quella registrata l’ultima volta che è stato il libro di lavoro. Un’immagine di copertina si scrive come `thumbnail` del manifest, quindi sopravvive al viaggio di andata e ritorno. Il menu **Nuovo** del **pannello Libri** (**Apri un file .postext…**) importa un file come nuovo libro; il menu ⋯ di ogni riga ha il proprio **Scarica (.postext)**, e quello del libro aperto esporta il documento di lavoro. I file scritti da versioni precedenti (un manifest di versione 1 con un solo `document.md`) si importano come libro di un capitolo. Un libro in una sola lingua conserva le etichette delle figure e delle tabelle di quella lingua qualunque sia la lingua dell’interfaccia: un file spagnolo aperto da `/en/sandbox` stampa *Figura* e *Tabla* a meno che la sua configurazione non indichi altri tipi di risorsa. La lingua è quella indicata dal file o, quando non ne indica alcuna, quella impostata dalla sua configurazione (`locale`, poi la lingua di sillabazione). L’importazione accetta i file alla radice dell’archivio o sotto un’unica cartella di primo livello (come succede comprimendo la cartella stessa; le voci `__MACOSX` e i file nascosti vengono ignorati). I font si scrivono come file separati, mai dentro `config.customFonts`; le varianti `.woff` vengono saltate con un avviso in entrambe le direzioni, come le risorse di cui mancano i byte. Decomprimi un file esportato in `<presets-root>/<dir>/` e aggiungi una voce a `index.json` per servirlo come preset.

Gli stessi file vengono letti e scritti dal pacchetto `postext` (`openBundle`, `createBundle`, `buildBundle`; vedi [Pacchetti](https://postext.dev/it/docs/configuration-bundles.md#pacchetti-file-postext)). Un libro esportato qui si apre nel tuo programma, e un libro scritto dal tuo programma si apre qui. Questo fa della Sandbox un luogo in cui esaminare e rifinire ciò che un programma impagina: esportalo dal programma, importalo qui, correggilo con l’anteprima in tempo reale, esportalo di nuovo e ricaricalo nel programma. Anche la [skill per agenti](https://postext.dev/it/docs/skill.md) consegna i suoi adattamenti come file `.postext`.

Il testo e il progetto grafico si esportano anche separatamente dalle intestazioni dei pannelli Testo e Grafica.

L’intestazione del **pannello Grafica** scarica `postext-config.json` privo dei valori predefiniti:

```json
{
  "type": "postext-config",
  "version": 1,
  "config": { ... }
}
```

L’intestazione del **pannello Testo** scarica il capitolo attivo come semplice file `.md` e il suo pulsante **Importa** sostituisce il capitolo attivo con il contenuto di un file `.md`. Il pulsante **Importa** del pannello Grafica apre un selettore di file `.json` validati rispetto a `type` e `version` attesi; i file non validi vengono ignorati senza segnalazione. L’involucro `postext-markdown.json` e il formato combinato `postext-sandbox.json` delle versioni precedenti non esistono più.
