Saltar al contingut principal

Capítol 12.3 · Part III · La pràctica

Sandbox: llibres, fitxers de Word i desament

Els llibres i els capítols, l'edició de pàgines de còmic, la importació i l'exportació de documents de Word, i com desa, exporta i importa el Sandbox la teva feina

Actualitzat 2026-10-1637 minAl capítol 12 Sandboxenescadefritptzhjaar

En poques paraules

Aquesta pàgina explica com organitzes i conserves la teva feina al Sandbox. Un projecte és un llibre fet de capítols. Les pàgines de còmic tenen eines pròpies per a les vinyetes i els diàlegs. Pots portar un fitxer de Word, triar en quins estils de Postext es converteixen els seus estils i tornar el llibre a Word. La teva feina es desa al teu propi navegador sobre la marxa, i la pots baixar en un sol fitxer i tornar-la a obrir més endavant.

#Llibres i capítols

Tot el que obres al Sandbox és un llibre, igual que un fitxer de llibre d'InDesign agrupa un document per capítol: la configuració, les fonts personalitzades i el conjunt de recursos són comuns a tot el llibre, i cada capítol és el seu propi document markdown. Les obres llargues — un manual de cinc-centes pàgines — s'editen capítol a capítol, mentre que la numeració, les referències creuades i l'exportació continuen veient un sol document.

  • L'estructura viu al tauler de capítols i al selector de capítols del tauler Text: afegir, canviar el nom (doble clic en una fila), reordenar, dividir un capítol en un per títol de nivell 1, fusionar un capítol amb l'anterior, suprimir. Cada capítol conserva el seu propi historial de desfer i el seu cursor.
  • Capítol a capítol. Per defecte les previsualitzacions maqueten el capítol actiu, a continuació dels capítols anteriors: el seu primer número de pàgina segueix l'última pàgina del capítol previ, els títols de nivell 1 continuen comptant (el capítol 4 es numera 4 i les seves figures 4.1, 4.2, …), els folis explicatius {chapterNumber} i {chapterTitle} l'acompanyen, es respecta la paritat recto/verso (un inici de capítol afegeix una pàgina en blanc exactament igual que a mig llibre) i una :ref a una figura esmentada per primera vegada al capítol 1 conserva aquest número. El nombre de pàgines dels capítols anteriors prové de la maquetació que va mostrar cadascun per última vegada; els capítols mai visitats (o editats des de llavors) es maqueten en segon pla, l'un darrere l'altre, i la llista de capítols mostra pàgines pendents fins que arriben. Els intervals de pàgines són exactes per als capítols que obren en pàgina nova (el més habitual); un capítol el text del qual hauria continuat a la pàgina anterior es col·loca al principi de la seva pròpia pàgina.
  • Llibre complet. El canvas, la vista HTML i la pestanya PDF poden mostrar el llibre sencer com un document continu: tria Llibre complet al selector a l'esquerra de la barra de pestanyes (llibres amb més d'un capítol). El canvas maqueta llavors tots els capítols en ordre, cadascun a continuació de les pàgines on van acabar els anteriors, i mostra els documents cosits l'un darrere l'altre: una edició torna a maquetar només el seu capítol, i els següents únicament si la seva primera pàgina s'ha mogut; la llista de capítols, les parts chapter= i page= del permalink i la sincronització amb l'editor segueixen el capítol de cada pàgina. L'elecció es desa amb el llibre (una novel·la curta es llegeix com un sol document; un llibre de text, capítol a capítol), i un preset es pot obrir així mitjançant view.canvasScope al seu manifest. La vista HTML comparteix l'elecció del canvas i maqueta el llibre sencer com un sol document des de la seva primera pàgina, amb les files de l'índex i el fragment seguint el capítol de cada pàgina; la pestanya PDF conserva el seu propi selector.
  • Metadades. Les metadades (frontmatter) del primer capítol són les del llibre (títol, autor, …). Un bloc de metadades al principi de qualsevol altre capítol s'ignora, i el tauler Revisió ho indica. buildBundle segueix la mateixa regla, així que un llibre surt igual al Sandbox i al teu propi programa.
  • Llibres llargs. Un llibre de 120 capítols funciona com un de curt. El menú de capítols de la capçalera del tauler Text es desplaça dins de la finestra i s'obre al capítol actiu; les fletxes avancen des d'aquest capítol. Un llibre en parts (tanques :::part als seus capítols) agrupa els capítols sota les seves parts, al menú i al tauler Capítols, i un clic en una part del menú n'obre el primer capítol. Amb més de 30 capítols el menú porta a dalt un camp de cerca que troba números de capítol (27) i paraules dels títols i dels noms de les parts (埋香, 卷三); Retorn obre el primer que coincideix. Mentre un mètode d'entrada compon (zhuyin, cangjie, pinyin, kana), Retorn i les fletxes són seus: Retorn confirma la conversió i no obre res. Els fitxers de capítol d'un llibre d'exemple es carreguen de vuit en vuit, i mentre els capítols es paginen en segon pla el tauler Capítols mostra l'avenç (S'estan paginant 34/120). El canvas i la vista HTML mostren un llibre de més de 200 capítols de capítol en capítol, demani el que demani el llibre o el seu manifest: maquetar alhora tots els capítols obliga a tenir el llibre sencer en memòria. Un de més curt es pot obrir complet: 紅樓夢 (129 capítols, unes 2.000 pàgines) triga uns 25 segons i ocupa uns 100 MB al canvas. La pestanya PDF pot continuar exportant qualsevol llibre complet.
  • Recompte de pàgines. Cada capítol es maqueta com un document propi, així que {totalPages} compta les pàgines del capítol. {bookTotalPages} compta el llibre sencer: tan bon punt es coneixen les pàgines de tots els capítols, les previsualitzacions maqueten cada capítol amb aquest total (només si una capçalera, un peu o un disseny l'imprimeix). Fins llavors, un capítol imprimeix les pàgines fins al seu propi final. El Llibre complet de la pestanya PDF compta les pàgines que maqueta, així que el fitxer imprimeix sempre el total real del llibre.
  • Obertures de capítol. No es força cap salt de pàgina entre capítols: un capítol el primer bloc del qual és un títol de nivell 1 obre pàgina nova gràcies al mateix ajust salt previ del títol, exactament igual que un capítol que comença a mig document.
  • Sincronització. Fer clic en un paràgraf de qualsevol capítol a la vista Canvas o HTML canvia l'editor a aquest capítol i hi col·loca el cursor; el cursor de l'editor es ressalta a les previsualitzacions allà on el capítol quedi dins del llibre. Els avisos porten el seu capítol.
  • Els documents existents s'obren com un llibre d'un sol capítol; no canvia res fins que s'afegeix un segon capítol.

#Editar còmics

Un capítol amb pàgines de còmic (:::page) o tires (:::strip) es pot editar sobre les mateixes pàgines, a la pestanya Canvas, a la pestanya HTML i al mode Seleccionar text de Folio. Les eines funcionen igual en una tira composta en una columna, flotant al capdamunt d'una pàgina o a través d'ella, més estreta que la seva mesura o sota un peu, i escriuen a la tanca de la mateixa tira. Cada canvi s'escriu al Markdown del capítol, com si s'hagués teclejat, així que el desfer de l'editor el pot revertir. El marcatge i les regles de retolació s'expliquen a Còmics.

  • Separadors. Damunt del carrer que hi ha entre dues vinyetes, el punter es converteix en un cursor de canvi de mida. Arrossega'l per moure la línia de divisió; en deixar-lo anar, el percentatge nou s'escriu a l'atribut split de la pàgina (que s'afegeix a la tanca si la pàgina no en té) i la pàgina es torna a compondre. Maj ajusta la línia a passos del 5 %, Alt només mou l'extrem més proper al punter, de manera que la línia s'inclina, i cap vinyeta no queda més estreta del 5 %. Mentre arrossegues, es marca amb una indicació la vinyeta el dibuix de la qual ja no conservaria a la vista la zona segura. Cada separador és també un element separador enfocable: les fletxes el mouen un 1 % (un 5 % amb Maj), Retorn n'escriu la posició i Esc el torna on era.
  • Dividir i unir. Damunt d'una vinyeta, una petita barra d'eines ofereix Divideix amb una línia horitzontal, Divideix amb una línia vertical (s'afegeix una línia ::panel buida per a la cel·la nova, just després d'aquesta vinyeta) i Uneix amb la vinyeta següent: la línia que les separa desapareix, i la vinyeta unida conserva el dibuix de la primera i pren les línies de guió de totes dues. A les vinyetes també s'hi arriba amb Tab: la vinyeta enfocada es ressalta, H la divideix amb una línia horitzontal, V amb una de vertical i M l'uneix amb la següent; el focus es queda a la vinyeta quan la pàgina es torna a compondre. Retorn obre la barra d'eines, i Esc torna d'allà a la vinyeta.
  • Bafarades. Arrossega una bafarada per fixar-la: en deixar-la anar, la seva línia de guió rep at="x% y%", el punt en percentatges del dibuix de la vinyeta (de la cel·la, en una vinyeta sense dibuix), de manera que la bafarada es queda al mateix lloc del dibuix encara que canviïn el retall, els separadors o la llengua. Un grup de bafarades unides es mou com un tot, fixat per la primera. Les fletxes desplacen un 1 % la bafarada enfocada (un 5 % amb Maj), i un doble clic sobre una bafarada fixada li treu l'at i la torna a la col·locació automàtica. Un sol clic posa el cursor de l'editor a la línia de la bafarada.
  • Avís de desbordament. Mentre una bafarada es mou, amb el punter o amb les fletxes, la previsualització comprova on quedaria. Si taparia una cara o una zona lliure, o sortiria de la seva vinyeta més del que en surt ara, el contorn que es mou es torna taronja, les cares i les zones lliures de la vinyeta es dibuixen discontínues i l'etiqueta diu què passa: Aquí taparia una cara, Aquí taparia una zona de la imatge que ha de quedar lliure, Aquí sortiria de la vinyeta. Una línia amb break no s'assenyala per sortir de la seva vinyeta. L'avís no preveu com es mouran les altres bafarades de la vinyeta per fer-li lloc.
  • Cues. Damunt de la punta d'una cua, el punter es converteix en una creu. Arrossega la punta cap on ha d'apuntar la cua: en deixar-la anar, la línia rep to="x% y%", el punt en percentatges del dibuix de la vinyeta, i la cua s'hi gira i s'atura abans d'arribar-hi, com fa davant d'una boca. Esc cancel·la l'arrossegament, i un doble clic a la punta treu el to, de manera que la cua torna a apuntar al seu personatge. Amb el teclat, T en una bafarada enfocada passa a la seva cua: les fletxes mouen el punt on apunta un 1 % (un 5 % amb Maj), Retorn l'escriu, Esc el torna al seu lloc, Supr treu el to i T torna a la bafarada.
  • Personatges i zones lliures. En una imatge del tauler Recursos, el camp Zona segura i retolació obre un diàleg amb tres modes. Zona segura marca la part del dibuix que sempre ha de quedar a la vista. Personatges hi posa un punt per personatge: un clic sobre el dibuix hi afegeix un personatge i n'enfoca l'id, que ha de ser la clau de personatge que fa servir el guió (maya: …); la boca, el cap (on apunten les bombolles de pensament) i la cara (que cap bafarada no tapa mai) s'arrosseguen fins al seu lloc. Les Zones lliures són rectangles que cap bafarada no tapa, i es tracen arrossegant sobre el dibuix. En el mateix mode es marquen les cares de qui no parla (Afegeix la cara d'algú que no parla, o l'interruptor És una cara de la fila d'una zona): cap bafarada no tapa una cara així, mentre que una zona lliure cedeix quan a la vinyeta no li queda cap altre lloc. Totes les marques es poden moure amb les fletxes (Maj per a passos més grans) i suprimir amb Supr; el diàleg té el seu propi desfer, i un personatge fora de la zona segura queda assenyalat.
  • Ajustos. El grup Còmic del tauler Disseny conté la configuració dels còmics: sentit de lectura i dibuixos en mirall, el marc i els carrers, la vinyeta per defecte i els estils de vinyeta amb nom, la retolació i els estils de bafarada, cadascun amb una previsualització del seu contorn.
  • Editor i revisió. L'editor de text acoloreix :::page, :::strip, les línies ::panel i les claus i els atributs de les línies de guió. El tauler Revisió enumera els avisos de còmic (una divisió il·legible, vinyetes i cel·les que no coincideixen, una bafarada que no hi cap…) a la línia a què es refereixen; vegeu Còmics › Avisos de còmic.

#Documents de Word

Els manuscrits solen arribar com a fitxers de Word. El tauler Text importa un .docx directament, sense agents d'IA i sense instal·lar res, i n'assigna els estils com ho fa l'ordre Place de l'InDesign. Importar un document de Word llegeix el fitxer al navegador (no es puja mai) i obre un diàleg; el llibre només canvia quan prems Importar. Un fitxer que no és un document de Word, com un .doc binari antic, es rebutja amb un missatge que ho indica; desa'l abans des del Word com a .docx.

El diàleg té aquestes parts, i cadascuna es pot plegar:

  • Qualitat de l'original. Un diagnòstic de com es va preparar el manuscrit: Estils ben aplicats (es converteix sense retocs), Estils aplicats en part (alguns paràgrafs tenen format posat a mà) o Sense estils (tot és en Normal, de manera que el text entra com a paràgrafs simples). A sota, els recomptes (paràgrafs, quants són en un estil diferent de Normal, imatges, taules, notes) i el que s'ha trobat, cada cosa amb les primeres paraules d'alguns paràgrafs on apareix: paràgrafs amb format posat a mà (fonts, mides, colors, alineació; es descarta, perquè el fixa el disseny), paràgrafs curts en negreta que semblen títols escrits a mà, números o vinyetes teclejats en lloc de llistes del Word, salts de línia manuals, salts de pàgina manuals, paràgrafs buits fets servir per deixar espai, tabulacions i espais dobles, canvis registrats (es conserven les insercions i es descarten les supressions; accepta'ls o rebutja'ls abans al Word), comentaris (no s'importen), quadres de text (el text de cadascun va després del paràgraf on està ancorat), equacions (es converteixen a TeX; revisa-les), text amagat i imatges en formats que el navegador no pot mostrar (EMF, WMF, TIFF).
  • Plantilla d'importació. L'assignació en ús: Automàtica (pel nom de l'estil), una plantilla desada o, en un fitxer exportat des del Sandbox, Desada en aquest document. Desar com a plantilla nova demana un nom i desa al navegador l'assignació, amb tots els estils d'aquest document; Desar els canvis actualitza la plantilla seleccionada; el botó de baixada l'escriu com a fitxer .json i el de càrrega en llegeix un, de manera que tot un equip pot compartir la mateixa plantilla. Suprimir una plantilla demana confirmació. L'última plantilla feta servir s'ofereix primer la vegada següent.
  • Estils de paràgraf. Cada estil de paràgraf que fa servir el document, amb quants paràgrafs el fan servir i les primeres paraules d'un, i en què es converteix: Text base, Títol (un nivell de l'1 al 6 i, si el disseny té estils de títol, un d'aquests), Estil de paràgraf (un dels estils de paràgraf del disseny; els paràgrafs consecutius en aquest estil formen un grup :::paragraphs), Requadre (els paràgrafs consecutius formen un requadre d'aquest tipus), Títol de requadre (obre un requadre amb el text del paràgraf com a títol), Cita, Llegenda de la imatge o la taula del costat, Començament d'un capítol nou, Markdown de Postext, tal com està escrit (el text es copia tal com és, per a directives escrites al Word) o Descartar. Els paràgrafs de les llistes numerades i de vinyetes del Word es converteixen en llistes de Postext, sigui quin sigui el seu estil, amb la numeració i els nivells. Poema (:::verse, línia a línia) compon els paràgrafs de l'estil com un poema :::verse, si es vol en un dels estils de paràgraf del disseny: Maj+Retorn talla un vers, un paràgraf és una estrofa, diversos paràgrafs d'una línia seguits formen una estrofa i un paràgraf buit separa estrofes; es proposa per als estils anomenats Vers, Poema o Poesia.
  • Estils de caràcter. El mateix per als estils de caràcter: Text sense format, Negreta, Cursiva, Negreta cursiva, Versaletes, Superíndex, Subíndex, Etiqueta (un dels estils d'etiqueta del disseny), Markdown de Postext, tal com està escrit o Descartar.
  • Opcions. Els salts de línia manuals (Maj+Retorn) es conserven com a salts dins del paràgraf (una barra inversa al final de la línia de Markdown, el valor per defecte), s'uneixen amb un espai o comencen un paràgraf nou; la negreta, la cursiva, les versaletes, els superíndexs i els subíndexs posats a mà es conserven o es descarten; els paràgrafs curts en negreta continuen sent paràgrafs o passen a ser títols d'un nivell; els salts de pàgina manuals es descarten (el disseny decideix on canvia la pàgina) o es conserven com a :::pagebreak; les imatges i les taules s'afegeixen com a recursos o no.
  • Previsualització del Markdown, que s'actualitza a mesura que canvia l'assignació.

El peu del diàleg tria on va el text: Substituir aquest capítol, Capítols nous després d'aquest o Substituir tot el llibre; les dues últimes opcions comencen un capítol a cada títol de nivell 1. Les imatges (PNG, JPEG, GIF, WebP, SVG) passen a ser recursos de figura i les taules, recursos de taula (es conserven les files de capçalera, les cel·les combinades, les amplades de columna i els fons de cel·la); cada recurs es col·loca amb ::resource{id="…"} on era i porta com a llegenda el paràgraf de llegenda del costat, sense el rètol escrit a mà (Figura 3.), perquè Postext numera els recursos. Les notes a peu de pàgina i les notes finals passen a ser notes a peu de pàgina de Postext ([^1]), les entrades d'índex del Word (camps XE), marques :index; els enllaços continuen sent enllaços i les equacions passen a $…$ / $$…$$. Un tabulador del text corrent passa a :tab amb la tabulació que el Word li havia fixat (:tab{at=432pt align=end leader="."}), o a un :tab sol quan el paràgraf va a un estil de paràgraf del llibre que té tabulacions pròpies; els farciments de punts, de guionets i de punts volats del Word passen a ., - i ·, i els de guió baix i gruixut, a una línia. Un tabulador en un títol, una cel·la de taula o una nota passa a ser un espai.

Abans d'aparellar estils pel nom, l'assignació automàtica reconeix els papers propis del Word en qualsevol llengua de la interfície (els estils interns heading 1–6, Title, Quote, Caption; els paràgrafs de taula de continguts, índex, capçalera i peu de pàgina es descarten) i els estils del disseny: un estil del Word que es digui com un estil de paràgraf, un tipus de requadre, un estil de títol o un estil d'etiqueta del llibre (per id o per nom, sense distingir majúscules ni accents) s'assigna a aquest estil.

Exportar a Word baixa el capítol obert, o tot el llibre, com un .docx perquè una altra persona hi treballi amb el Word. La mateixa plantilla s'aplica a la inversa: els títols reben els estils de títol del Word; els estils de paràgraf, els requadres, les cites i les etiquetes reben estils del Word propis (amb el nom dels estils del disseny: Requadre: Nota, Etiqueta: Tecla); les llistes passen a ser llistes del Word, les notes a peu de pàgina, notes a peu de pàgina del Word, i els enllaços continuen sent enllaços. :tab passa a ser un tabulador del Word, un :tab{…} amb tabulació pròpia es conserva tal com està escrit, i les tabulacions d'un estil de paràgraf fixades a una longitud passen a ser les tabulacions del seu estil del Word, amb el farciment del Word més semblant (una tabulació a 'end' o a un percentatge depèn de la pàgina on el Word compon el text, i es deixa fora). El que el Word no pot mostrar (el frontmatter, les tanques, les directives, :ref, les matemàtiques, les marques :index, les línies de recurs) es conserva tal com està escrit amb els estils grisos Postext Markup. Un llibre s'exporta amb un paràgraf Postext Chapter al començament de cada capítol. La plantilla viatja dins del fitxer, de manera que el document editat es torna a importar amb la mateixa assignació, i com a llibre sencer si conté paràgrafs de capítol. Si el text gris es deixa tal com és, el text torna tal com va sortir; els identificadors de les notes es renumeren ([^1], [^2]…), cosa que s'imprimeix igual, i _italic_ torna com a *italic*.

Per a les conversions que aquest diàleg no cobreix (originals en PDF, PowerPoint, EPUB o IDML, o reproduir les regles de maquetació d'un original), fes servir la skill per a agents.

#Persistència

El Sandbox desa automàticament la teva feina al navegador:

  • Llibre i configuració — Els capítols, el capítol actiu i l'abast del canvas es desen automàticament a localStorage sota postext-sandbox-book (un document únic desat per una versió anterior es llegeix de postext-sandbox-markdown com a llibre d'un capítol i es migra en el primer desament); la configuració es desa després d'1 segon d'inactivitat amb els valors per defecte eliminats perquè només s'emmagatzemin els teus ajustos personalitzats, juntament amb la seva versió (postext-sandbox-config-version); una configuració desada abans que existís la versió es llegeix com s'explica més avall a Salts d'encapçalament desats amb postext 1.4 o anterior
  • Estat de la interfície — El tauler i la pestanya de viewport actius, l'amplada de la barra lateral, el grup obert del tauler Disseny (postext-sandbox-settings-group), el seu interruptor Mostrar totes les explicacions (postext-sandbox-settings-help) i l'estat obert/tancat de les seccions, els llibres d'exemple amagats, els modes de zoom/ajust/vista del canvas, l'escala de font i el mode de columnes de l'HTML, la maquetació de la pestanya EPUB (postext-sandbox-epub-layout) i l'estat d'ancoratge de les barres d'eines es desen a localStorage
  • Llibre obert — L'id del llibre propi obert (un projecte) es desa a localStorage sota postext-sandbox-project; els projectes en si (capítols, configuració i registres de recursos; registres version: 9, el CONFIG_VERSION del motor, amb el qual també es marquen la configuració de treball i les exportacions postext-config.json, de manera que cadascuna es migra una sola vegada quan canvien les regles del motor; en llegir-los es migren els registres de document únic de versions anteriors i es fixen, com s'explica més avall, els salts d'encapçalament dels registres anteriors a la versió 3, la mida de les fórmules dels anteriors a la versió 4, l'espai sota les figures en línia dels anteriors a la versió 5, l'espai al voltant de les figures en línia dels requadres, les marques dels títols, la mida de les caplletres, el lloc sota una línia de dos punts i els talls dels requadres dels anteriors a la versió 6, els talls després d'una ratlla i la composició del text en bandera dels anteriors a la versió 7, i la divisió sota un títol, els talls després del guionet d'un compost i l'espai sota els contenidors :::paragraphs dels anteriors a la versió 8) viuen al magatzem projects de la base de dades IndexedDB del sandbox, i els seus continguts binaris comparteixen els magatzems de blobs i fonts amb el document de treball. Els continguts es recullen quan ni el document de treball ni cap projecte no hi fan referència
  • Llibres d'exemple editats — La teva versió d'un llibre d'exemple (els seus capítols, el capítol actiu, l'abast del llenç, la configuració i els registres de recursos, juntament amb el que va aplicar l'exemple en obrir-lo) es desa al magatzem presetDrafts de la base de dades IndexedDB del sandbox, un registre per exemple i llengua del contingut, i la recollida d'escombraries en conserva els fitxers igual que els d'un projecte. Restaurar l'original l'esborra
  • Portades dels llibres d'exemple — La portada presa de la primera pàgina d'un llibre d'exemple que no porta miniatura es desa al magatzem presetCovers de la base de dades IndexedDB del sandbox, un registre per exemple i llengua del contingut (consulta Tauler de llibres). Un llibre propi desa la portada al seu registre de projecte.
  • Desament en sortir — Els canvis pendents s'escriuen a l'acte quan la pàgina s'amaga o es tanca, quan surts del sandbox per un enllaç (el logotip) i abans d'obrir un altre llibre, sense esperar la pausa d'1 segon
  • Llibre d'exemple obert — L'id de l'últim preset carregat es desa a localStorage sota postext-sandbox-preset, de manera que els botons Restablir dels taulers continuen restaurant aquest preset entre sessions (un preset que ja no se serveix apareix com a no disponible). El que va aplicar aquest preset — l'empremta del paquet més els hashes del markdown, la configuració i el conjunt de recursos — es desa sota postext-sandbox-preset-applied, que és com la visita següent distingeix un document intacte d'un d'editat
  • Recursos i fonts — Els registres de recursos, els seus blobs binaris (mapes de bits i SVG) i els fitxers de fonts personalitzades persisteixen a IndexedDB; quan IndexedDB no està disponible (p. ex. alguns modes de navegació privada), apareix un avís d'emmagatzematge no disponible al tauler Revisió (a Navegador)
  • Permalink — El fragment de l'URL anomena el que hi ha a la pantalla, de manera que una recàrrega, un marcador o un enllaç passat a una altra persona aterra a la mateixa pàgina del mateix llibre al mateix visor: #preset=bioquimica-feduchi&lang=es&view=canvas&chapter=1&page=7 obre el preset de Bioquímica en castellà a la pestanya Canvas, al capítol 1, pàgina 7 (el número imprès a la pàgina). view és canvas, pdf, folio, html o epub; a la pestanya Folio, la pàgina és la de la dreta del plec obert. Un projecte local s'anomena com a project=ID — el seu id d'emmagatzematge, així que només el navegador que desa el projecte pot seguir aquest enllaç. El sandbox manté el fragment al dia en canviar de llibre, pestanya o capítol i en desplaçar-te. Una part omesa vol dir el que hi hagi (sense pàgina: la primera del capítol; sense llibre: l'últim obert), i un llibre que el navegador no pot obrir es passa per alt. Enganxar un enllaç a la barra d'adreces d'un sandbox obert l'obre allà mateix. Si la pàgina s'obre amb un enllaç a un llibre diferent de l'últim obert, el sandbox mostra el seu estat de càrrega fins que el llibre enllaçat és a punt, mai l'anterior. Qui integra el sandbox també pot enllaçar llibres propis amb la prop hashBundles (consulta Props): el web obre una recepta del Receptari amb #recipe=<slug>&lang=es. La primera visita importa el fitxer .postext de la recepta com un dels teus llibres. Una visita posterior amb el mateix enllaç pregunta abans (Ja tens aquest llibre): Obrir la meva còpia obre aquest llibre, amb els teus canvis, i Substituir per la versió publicada torna a importar la recepta, que pot haver-se corregit després, i esborra la teva còpia tan bon punt la nova és oberta; Escape conserva la teva còpia. Després el fragment passa a anomenar el projecte. L'idioma de la interfície continua a la ruta (/en/sandbox, /es/sandbox); lang és la llengua del contingut d'un paquet bilingüe, qualsevol etiqueta BCP 47, que es conserva amb les majúscules canòniques (lang=zh-hant es llegeix zh-Hant). Una etiqueta que el paquet no llista obre l'edició que li correspon: zh-TW i zh-HK obren la de xinès tradicional (zh-Hant), zh i zh-CN la de xinès simplificat (zh-Hans), en-GB l'anglesa. L'altra escriptura del xinès només es llegeix quan el paquet no té edició en la del lector: un enllaç zh-TW a un llibre en zh-Hans i anglès obre el text simplificat, no l'anglès. Un enllaç sense lang obre l'openLocale del paquet si l'indica i, si no, l'edició en l'idioma de la interfície. El capítol i la pàgina de l'enllaç s'apliquen a l'edició que obre, i el fragment passa a anomenar-la amb la seva pròpia etiqueta (lang=zh-TW&chapter=28 queda en lang=zh-Hant&chapter=28).

Salts d'encapçalament desats amb postext 1.4 o anterior. Fins a postext 1.4, una configuració amb un objecte headings componia els seus encapçalaments de nivell 1 sense salt de pàgina tret que fixés explícitament l'interruptor Trencar abans d'H1 (i en desar-la es perdia un salt d'H1 desactivat), un salt d'H1 parcial completava el camp que li faltava amb el valor sense salt, i el salt d'un estil d'encapçalament feia el mateix en lloc de combinar-se amb el del seu nivell. El motor conserva ara el valor per defecte de cada nivell — H1 obre en una pàgina senar nova (always-odd) — i hi combina un salt parcial. Perquè un llibre desat aleshores conservi les seves pàgines, el Sandbox escriu aquests salts en llegir un registre de projecte anterior a la versió 3 o una configuració de treball sense versió: enabled: false a H1 on el salt estava desactivat, i parity: 'any' al costat d'un enabled: true que no indicava paritat, a H1 i als estils d'encapçalament. El tauler Disseny mostra llavors el salt amb què es van compondre les pàgines. Des de postext 1.5 els fitxers també registren la versió: un fitxer .postext el manifest del qual no té configVersion, i un postext-config.json sense aquest camp, els va escriure postext 1.4 o anterior, i es llegeixen de la mateixa manera en importar-los o obrir-los (vegeu Paquets escrits per postext 1.4 o anterior).

Mida de les fórmules desada abans de postext 1.5. Fins a postext 1.4, cada fórmula sortia 1,131 vegades més gran del que diu la seva Escala de mida (vegeu Mida de les fórmules). Perquè un llibre desat aleshores conservi les seves pàgines, el Sandbox fixa aquesta mida en llegir un registre de projecte anterior a la versió 4, una configuració de treball desada amb una marca anterior (o sense), un fitxer .postext el manifest del qual és anterior a configVersion: 4 o un postext-config.json exportat abans: l'Escala de mida passa a ser l'escala desada × 1,1312, i un marge de les fórmules en bloc en em es divideix per 1,1312, de manera que les fórmules i l'espai que les envolta queden com estaven. Un llibre els capítols del qual no tenen cap $ es queda com estava (un postext-config.json no porta capítols, així que la seva mida es fixa sempre que les matemàtiques estiguin activades), i també un amb Activar LaTeX desactivat. La secció Fórmules mostra llavors els valors amb què es compon el llibre; restableix Escala de mida, Marge superior de les fórmules en bloc i Marge inferior de les fórmules en bloc per compondre'l a la mida actual. La fixació s'escriu una sola vegada: el registre es torna a desar amb la versió actual i des de llavors es llegeix tal qual. Un preset aplicat aleshores i mai editat continua comptant com a intacte (el Sandbox el compara amb els seus valors fixats, i el mateix val per a la fixació dels salts d'encapçalament): recarregar-lo o canviar de llibre no demana descartar canvis que no vas fer, i una versió més nova del preset, com la de la guia integrada, el continua substituint.

Figures en línia desades abans de postext 1.5. Fins a postext 1.4, una figura o taula composta en línia en el text (col·locació En línia (aquí)) conservava una línia d'espai només a sobre: el text que la seguia continuava a la línia següent de la retícula, per prop que quedés. Ara conserva la mateixa línia a sota (Columnes → Espai al voltant de les figures en línia, A sobre i a sota). Perquè un llibre desat aleshores conservi les seves pàgines, el Sandbox posa Espai al voltant de les figures en línia en Només a sobre en llegir un registre de projecte anterior a la versió 5, una configuració de treball desada amb una marca anterior (o sense), un fitxer .postext el manifest del qual és anterior a configVersion: 5 o un postext-config.json exportat abans, quan una línia del llibre insereix un recurs —::resource{id="…"} sola a la seva línia, no una menció en el text—. Un postext-config.json no porta capítols, així que s'hi posa sempre que el fitxer sigui anterior. Tria A sobre i a sota per compondre el llibre amb l'espaiat actual.

Figures en línia dels requadres desades abans de postext 1.5. Fins a postext 1.4, una figura o taula composta en línia dins d'un requadre quedava enganxada al text del requadre que l'envolta. Ara conserva a sobre una línia del text del requadre i, amb A sobre i a sota, també a sota (Columnes → Espai al voltant de les figures dels requadres). Perquè un llibre desat aleshores conservi les seves pàgines, el Sandbox desactiva Espai al voltant de les figures dels requadres en llegir un registre de projecte anterior a la versió 6, una configuració de treball desada amb una marca anterior (o sense), un fitxer .postext el manifest del qual és anterior a configVersion: 6 o un postext-config.json exportat abans, quan un requadre del llibre insereix un recurs en una línia pròpia. Un postext-config.json no porta capítols, així que s'hi desactiva sempre que el fitxer sigui anterior. Activa'l per compondre el llibre amb l'espaiat actual.

Marques dels títols i caplletres desades abans de postext 1.5. Fins a postext 1.4, un títol imprimia les paraules de la seva *cursiva*, la seva **negrita** i les seves altres marques amb el seu propi estil, sense marques, i una caplletra sense mida era tan alta com totes les línies que abasta, amb la part alta per sobre de la primera línia. Ara un títol compon les seves marques (Títols → Marques en línia als títols) i la part alta d'una caplletra s'enrasa amb les majúscules de la primera línia. Perquè un llibre desat aleshores conservi les seves pàgines, el Sandbox desactiva Marques en línia als títols en llegir un registre de projecte anterior a la versió 6, una configuració de treball desada amb una marca anterior (o sense), un fitxer .postext el manifest del qual és anterior a configVersion: 6 o un postext-config.json exportat abans, quan algun títol del llibre porta una marca (un postext-config.json no porta capítols, així que s'hi desactiva sempre que el fitxer sigui anterior); i escriu a la Mida de la caplletra de cada lletra la mida amb què es componia. Activa l'interruptor, o esborra la mida, per compondre el llibre amb les regles actuals. Tingues en compte que un títol en cursiva amb tot el títol marcat amb *…* surt llavors en rodona.

Llistes després de dos punts desades abans de postext 1.5. Fins a postext 1.4, Mantenir els dos punts amb la llista donava per bona per a la llista una línia de lloc sota la línia que acaba en dos punts, així que un primer ítem de dues línies que les regles d'òrfenes i vídues mantenen sencer passava a la columna següent i deixava sola al peu la línia dels dos punts. Ara demana el lloc que necessita el primer ítem (Tipografia → Text base → Vídues, òrfenes i línies curtes → Lloc sota els dos punts, El que necessita el primer ítem). Perquè un llibre desat aleshores conservi les seves pàgines, el Sandbox posa Lloc sota els dos punts en Una línia (1.4) en llegir un registre de projecte anterior a la versió 6, una configuració de treball desada amb una marca anterior (o sense), un fitxer .postext el manifest del qual és anterior a configVersion: 6 o un postext-config.json exportat abans, quan una llista del llibre segueix una línia que acaba en dos punts. Un postext-config.json no porta capítols, així que s'hi posa sempre que el fitxer sigui anterior. Tria El que necessita el primer ítem per compondre el llibre amb la regla actual.

Talls dels requadres desats abans de postext 1.5. Fins a postext 1.4, un requadre que es partia dins d'un paràgraf o d'un ítem de llista podia deixar una sola línia seva a un costat, sempre que cada costat del requadre sumés les seves Línies a cada costat del tall. Ara el tall deixa almenys dues línies del paràgraf o de l'ítem a cada costat (Columnes → Línies d'un paràgraf en el tall d'un requadre). Perquè un llibre desat aleshores conservi les seves pàgines, el Sandbox posa Línies d'un paràgraf en el tall d'un requadre en 1 en llegir un registre de projecte anterior a la versió 6, una configuració de treball desada amb una marca anterior (o sense), un fitxer .postext el manifest del qual és anterior a configVersion: 6 o un postext-config.json exportat abans, quan algun capítol del llibre obre un :::callout. Un postext-config.json no porta capítols, així que s'hi posa sempre que el fitxer sigui anterior. Torna a posar-lo en 2 per compondre el llibre amb la regla actual.

Ratlles i text en bandera desats abans de postext 1.5. Fins a postext 1.4, la partició de línies òptima mai no acabava una línia després d'una ratlla o una semiratlla posada entre dues paraules sense espais (Madrid–Barcelona, I.—Que trata), i el text en bandera es componia sempre línia a línia, omplint cada línia abans de passar a la següent. Ara una línia pot acabar després d'aquesta ratlla (Tipografia → Text base → Paràgrafs → Tallar després de ratlla), i el text corregut en bandera també es compon amb Knuth-Plass (Partició òptima del text en bandera). Perquè un llibre desat aleshores conservi les seves pàgines, el Sandbox desactiva Tallar després de ratlla en llegir un registre de projecte anterior a la versió 7, una configuració de treball desada amb una marca anterior (o sense), un fitxer .postext el manifest del qual és anterior a configVersion: 7 o un postext-config.json exportat abans, quan algun capítol del llibre té una ratlla així (un postext-config.json no porta capítols, així que s'hi desactiva sempre que el fitxer sigui anterior); i desactiva Partició òptima del text en bandera quan la configuració posa en bandera algun text corregut: el text base, un estil de paràgraf, el cos d'un requadre, el d'una part o el d'un estil de secció. Activa'ls per compondre el llibre amb les regles actuals.

Divisions sota un títol desades abans de postext 1.5. Fins a postext 1.4, el paràgraf que segueix un títol al peu d'una columna hi conservava totes les línies que hi cabessin, encara que en passessin molt poques a la columna següent. Ara respecta també el mínim d'òrfenes, o el títol passa a la columna següent amb ell (Títols i índex → Títols → Divisió sota un títol). Perquè un llibre desat aleshores conservi les seves pàgines, el Sandbox posa Divisió sota un títol en Omplir la columna en llegir un registre de projecte anterior a la versió 8, una configuració de treball desada amb una marca anterior (o sense), un fitxer .postext el manifest del qual és anterior a configVersion: 8 o un postext-config.json exportat abans, quan algun capítol del llibre té un títol (un postext-config.json no porta capítols, així que s'hi fixa sempre que el fitxer sigui anterior) i la configuració manté activats No deixar títols solts i el control d'òrfenes. Posa'l en Segons les regles per compondre el llibre amb la regla actual.

Contenidors de paràgrafs desats abans de postext 1.5. Fins a postext 1.4, l'espai sota un contenidor :::paragraphs era el del mateix estil (el més gran entre el seu espai entre paràgrafs i el seu marge inferior), posat sota l'última línia abans que el text tornés a la retícula; l'espai que un encapçalament deixa damunt seu se sumava a sota, i la separació entre paràgrafs del text base no comptava, així que un encapçalament quedava més lluny d'una bibliografia que d'un paràgraf, i el paràgraf que seguia un grup d'entrades atapeïdes hi quedava més enganxat que a qualsevol altre. Ara aquest espai es fon amb el del bloc següent i és almenys la separació entre paràgrafs del text (Tipografia → Estils de paràgraf → Espai sota un contenidor, Fusionar). Perquè un llibre desat aleshores conservi les seves pàgines, el Sandbox posa Espai sota un contenidor en Sumar (1.4) en llegir un registre de projecte anterior a la versió 8, una configuració de treball desada amb una marca anterior (o sense), un fitxer .postext el manifest del qual és anterior a configVersion: 8 o un postext-config.json exportat abans, quan la configuració declara algun estil de paràgraf i algun capítol del llibre obre un contenidor :::paragraphs. Un postext-config.json no porta capítols, així que s'hi posa sempre que el fitxer sigui anterior i declari algun estil de paràgraf. Tria Fusionar per compondre el llibre amb la regla actual.

Compostos desats abans de postext 1.5. Fins a postext 1.4, la partició de línies òptima mai no acabava una línia justificada després del guionet d'un compost (físico-química) en un paràgraf sense negretes, cursives ni cap altre format, i sí que ho feia en un amb format. Ara una línia pot acabar-hi en qualsevol paràgraf (Tipografia → Text base → Paràgrafs → Tallar després de guionet). Perquè un llibre desat aleshores conservi les seves pàgines, el Sandbox desactiva Tallar després de guionet en llegir un registre de projecte anterior a la versió 8, una configuració de treball desada amb una marca anterior (o sense), un fitxer .postext el manifest del qual és anterior a configVersion: 8 o un postext-config.json exportat abans, quan algun capítol del llibre té un guionet entre dues lletres (un postext-config.json no porta capítols, així que s'hi desactiva sempre que el fitxer sigui anterior). Activa'l per compondre el llibre amb la regla actual.

Poemes i estils amb sagnat francès desats abans de postext 1.23. Fins a postext 1.22 un poema :::verse les línies del qual no portaven || es componia en hemistiquis solts, cada línia centrada, i el sagnat francès d'un estil de paràgraf substituïa el seu sagnat de primera línia. Ara un poema així es compon línia a línia (Tipografia → Text base → Vers → Poemes sense separador, Línia a línia), i un estil que fixa els dos sagnats comença la primera línia al de primera línia. Perquè un llibre desat llavors conservi les seves pàgines, el Sandbox posa Poemes sense separador a Com a hemistiquis (1.22) quan llegeix un registre de projecte anterior a la versió 9, una configuració de treball o una exportació postext-config.json marcada per sota de 9 els capítols de la qual tenen un poema així, i treu el sagnat de primera línia d'un estil que també penja. També desactiva Salts de línia forçats (Tipografia → Text base → Paràgrafs) quan els capítols d'aquest registre acaben una línia amb una barra inversa o posen \\ davant d'un espai, que fins a postext 1.22 s'imprimien (en una exportació postext-config.json, que no porta capítols, sempre). I desactiva Blocs de codi (Tipografia → Codi) quan els capítols tenen una tanca ``` o ~~~, les línies de la qual es llegien com a Markdown fins a postext 1.22 (en una exportació, sempre).

Poemes desats amb postext 1.23. A postext 1.23 un vers d'un poema compost vers a vers que fos ni que fos una mica més ample que la caixa es partia. Ara estreny els espais entre paraules, fins a l'espaiat mínim, i cap en una línia quan n'hi ha prou (Tipografia → Text base → Vers → Estrènyer abans de partir). Perquè un llibre desat llavors conservi les pàgines, el Sandbox desactiva Estrènyer abans de partir quan llegeix un registre de projecte, una configuració de treball o una exportació postext-config.json marcats amb 9 o menys els capítols dels quals componen un poema vers a vers (en una exportació, que no porta capítols, sempre).

Textos de disseny desats amb postext 1.23. Fins a postext 1.23 un element de text d'un disseny de títol o d'una pàgina de part que no fixava el desbordament es tallava en una línia amb punts suspensius. Ara passa a més línies, i Afegir text deixa el Desbordament en mans del buit. Perquè un llibre desat aleshores conservi les seves pàgines, el Sandbox posa Desbordament a El·lipsi al final (…) a cadascun d'aquests elements quan llegeix un registre de projecte, una configuració de treball, un fitxer .postext o una exportació postext-config.json amb segell 9 o inferior.

Taules en línia i columnes desades amb postext 1.24. Fins a postext 1.24 una taula col·locada here que no cabia en el que quedava de la seva columna passava sencera a la següent, una tanca :::columns fora d'un requadre s'ignorava i un requadre no tallava mai dins d'un grup :::columns. Ara la taula es talla entre files, i el grup compon els seus blocs en columnes i continua a la columna o la pàgina següent. Perquè un llibre desat aleshores conservi les seves pàgines, el Sandbox desactiva Aplicar a les taules col·locades al text (Taules) quan llegeix un registre de projecte, una configuració de treball o una exportació postext-config.json amb segell inferior a 11 els capítols dels quals insereixen un recurs, i Columnes al text i grups que es parteixen (Columnes) quan tenen una tanca :::columns (en una exportació, que no porta capítols, sempre).

Aquestes fixacions eviten allò que mouria cadascun d'aquests canvis de regles. La 1.5 corregeix a més errors de composició, i una correcció no té fixació, així que en un llibre desat encara es pot moure alguna pàgina on s'apliqui: la banda d'un títol de capítol a tota la pàgina sense disseny, una caplletra en un disseny de títol, un paràgraf dins d'un requadre, un paràgraf fluix que estira l'equilibrat de columnes, un requadre flotant amb un marge més gran que una línia, un titolet centrat o a la dreta amb tracking, la segona columna sota una obertura a tota la pàgina, un titolet pres d'un títol tallat després d'un guionet, una paraula més ampla que la seva línia tallada al costat del seu propi guionet, la resta d'una paraula més ampla que la seva línia, que ara conserva els seus propis punts de tall, l'ítem que segueix una llista niuada en una altra (la llista és a Mida de les fórmules).

L'emmagatzematge es comparteix entre els idiomes de la interfície. Un document per defecte intacte canvia al markdown per defecte de l'idioma actual i torna a sembrar els recursos d'exemple quan canvia l'idioma — així, obrir el sandbox en castellà mostra exemples en castellà. Qualsevol edició de l'usuari desactiva aquest comportament. Totes les previsualitzacions deriven a més la configuració regional de partició de mots de l'idioma de la interfície quan la configuració no anomena cap llengua (ni una de partició de mots ni locale).

#Exportar i importar

Un llibre complet viatja com a fitxer .postext: un zip amb exactament l'estructura d'un directori de paquet de preset — preset.json, chapters/*.md, resources/* i fonts/* (consulta Format de paquet de preset). El fitxer porta a més la paginació del llibre com a layouts.json — el nombre de pàgines i la numeració de cada capítol, marcats amb la versió del motor, la configuració i els recursos amb què es va calcular —, de manera que un llibre importat s'obre paginat i només es torna a compondre allò que aquestes marques ja no avalen. Un paquet en diverses llengües compon cadascuna amb la seva pròpia configuració, així que pot portar-ne en el seu lloc una per llengua, layouts.<idioma>.json (layouts.zh-Hant.json), que es llegeix abans que layouts.json. El document actiu exporta la paginació que té en memòria; un projecte o un preset exportat des de la seva fila porta la que es va registrar l'última vegada que va ser el document de treball. La portada s'escriu com el thumbnail del manifest, així que sobreviu al viatge d'anada i tornada. El menú Nou del tauler Llibres (Obrir un fitxer .postext…) importa un fitxer com a llibre nou; el menú ⋯ de cada fila té el seu propi Baixar (.postext), i el del llibre obert exporta el document de treball. La importació accepta els fitxers a l'arrel del zip o sota una única carpeta de primer nivell (com en comprimir la mateixa carpeta; les entrades __MACOSX i els fitxers ocults s'ignoren). Les fonts s'escriuen com a fitxers separats, mai dins de config.customFonts; les cares .woff s'ometen amb un avís en tots dos sentits, igual que els recursos dels quals falten els bytes. Descomprimeix un fitxer exportat a <raíz-de-presets>/<dir>/ i afegeix una entrada a index.json per servir-lo com a preset. Els fitxers escrits per versions anteriors (un manifest versió 1 amb un únic document.md) s'importen com a llibre d'un capítol. Un llibre en una sola llengua conserva els rètols de figures i taules d'aquesta llengua, sigui quin sigui el de la interfície: un fitxer en anglès obert des de /es/sandbox imprimeix Figure i Table, tret que la seva configuració anomeni altres tipus de recurs. La llengua és la que anomena el fitxer o, si no n'anomena cap, la que fixa la seva configuració (locale i, si falta, la de la partició de mots).

El paquet postext llegeix i escriu aquests mateixos fitxers (openBundle, createBundle, buildBundle; consulta Paquets). Un llibre exportat aquí s'obre al teu propi programa, i un llibre que escriu el teu programa s'obre aquí. Això converteix el Sandbox en el lloc on revisar i ajustar el que compon un programa: exporta'l des del programa, importa'l aquí, corregeix-lo amb la previsualització en directe, torna a exportar-lo i carrega'l de nou al programa. L'skill per a agents també lliura les seves adaptacions com a fitxers .postext.

El text i el disseny també s'exporten per separat des de les capçaleres dels taulers Text i Disseny.

La capçalera del tauler Disseny baixa postext-config.json amb els valors per defecte eliminats:

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

La capçalera del tauler Text baixa el capítol actiu com un fitxer .md i el seu botó Importar substitueix el capítol actiu pel contingut d'un fitxer .md. El botó Importar del tauler Disseny obre un selector de fitxers .json validats contra el type i la version esperats; els fitxers no vàlids s'ignoren silenciosament. L'embolcall postext-markdown.json i el format combinat postext-sandbox.json de versions anteriors ja no existeixen.