Chapitre 12.2 · Partie III · En pratique
Sandbox : les pages composées
Gabarits de page et blocs modifiés sur la page, bibliothèque de styles de bloc, vérifications des pages composées dans toutes les éditions, passage du texte dans le Markdown et correction d’un bloc en un clic
En bref
Cette page réunit ce que le Sandbox offre pour les pages composées, celles dont le texte est versé dans des blocs placés par un gabarit. Les blocs d’un gabarit se dessinent et se déplacent directement sur la page, et les styles de bloc se rangent dans une bibliothèque. Le panneau Vérifications signale, dans chaque langue du livre, les pages composées dont le texte ne tient pas, et propose des boutons qui corrigent un bloc. Un livre fait avant les pages composées peut faire passer le texte de ses pages dans le Markdown en une seule fois.
Cette page réunit les parties des panneaux Maquette et Vérifications qui concernent les pages composées (les pages écrites avec ::::page, qui versent leur contenu dans les blocs d’un gabarit de page). Le reste des deux panneaux est dans Sandbox : les panneaux Maquette et Vérifications ; la façon d’écrire une page composée est dans Pages composées.
#Gabarits de page
Maquette › Page et colonnes › Gabarits de page édite pageTemplates, les mises en page dans lesquelles une page composée (::::page{template="…"}) verse son contenu, sans ouvrir le fichier de configuration.
- La liste montre chaque gabarit avec un dessin de ses blocs, son id, le nombre de pages du livre qui l’utilisent (une double page en compte deux) et le gabarit dont il est établi (D’après). Nouveau commence un gabarit avec un bloc qui reçoit le texte libre de la page ; Dupliquer copie celui qui est ouvert ; Enregistrer la mise en page comme gabarit fait de la page composée choisie (ou de la première mise en page) un nouveau gabarit dont les blocs restent là où ils sont tombés, à des tailles fixes en millimètres, avec leurs styles et le reste de leurs champs.
- Modifier pour choisit ce que changent les champs : Toutes les pages (le gabarit), Belle page (impaire) ou Fausse page (paire) (
variants.recto,variants.verso). Un champ que cette portée ne fixe pas montre, atténuée, la valeur dont il hérite, et son bouton de réinitialisation la lui rend. Un gabarit Double page, avec son Petit fond, se dessine comme une seule feuille de deux pages avec la bande du dos marquée, et n’a pas de variantes. Dans les livres de droite à gauche et les livres verticaux, la feuille se lit dans le flux de la page : la première page de la double page est la page de droite, et la zone de la page en regard comme la bande du dos sont dessinées du côté où le moteur les a posées (depuis postext 1.40). - Gabarit : id (le renommer le renomme dans toutes les clôtures de page qui le nomment), nom, D’après (
extends), l’interrupteur de double page, Blocs mesurés depuis (area), Pages ajoutées selon (overflowTemplate: le gabarit des pages où se poursuit le contenu d’un bloc, voir Quand le texte se poursuit), la grille et Supprimer le gabarit (il dit combien de pages le nomment ; les gabarits établis d’après lui gardent ce dont ils ont hérité). - Blocs : un bouton par bloc, Ajouter un bloc et les propriétés du bloc choisi : nom (l’emplacement) et Peut rester vide ; position (accroché à la zone du gabarit, à la page rognée, au fond perdu ou à un autre bloc ou groupe, avec le bord et les décalages) ou une cellule de la grille ; largeur et hauteur (Fixe, Part de la zone, Son contenu, Jusqu’au bord) avec leurs limites ; style de boîte, calque, rotation, place du contenu, colonnes et marge intérieure par côté ; Reçoit le texte libre de la page (
flow), Reçoit le premier titre (takes), Le texte qui ne tient pas continue dans (next), Le texte des autres blocs l’habille (exclude: "push") et, dans ce cas, Repousser avec Cadre ou Contour (wrap, la forme des images qu’il contient) ; l’ajustement (fit) ; croissance, retrait, priorité et épinglage pour les groupes ; la suite (overflow.continueIn,overflow.mark,overflow.fromMark) : Le contenu qui ne tient pas va vers propose aucune autre page, la page suivante, un autre bloc, un autre gabarit et chaque balise de page du livre qui porte unid(page:<id>) ; Une page plus loin, par son identifiant… accepte une valeur saisie comme{attr.sigue}oup47#resto. Chaque champ a son aide et son bouton de réinitialisation. - Groupes : nom, empilés ou en rang, l’espace entre les blocs, où va la place restante et les blocs du groupe dans l’ordre de la page. Un groupe doté d’une Boîte propre répartit sa place restante et laisse ses blocs y rendre de la place ; sans elle, il est la réunion des boîtes de ses blocs.
- Titres courants (Ceux du livre, Masqués, Les siens) et Décor, qui se modifient comme l’en-tête et le pied de page du livre ; un texte du décor peut lire les attributs de la page (
{attr.nom}).
Sur la page, en mode Maquette. Avec le sélecteur au-dessus de l’aperçu sur Maquette (ou Modifier les blocs sur la page dans la section), une page composée montre ses marges, sa grille, le dos d’une double page et une flèche pour chaque chaînage. Un appui sur un bloc le choisit et ouvre ses propriétés ; le glisser le déplace ; les huit poignées du bloc choisi le redimensionnent ; un glissé sur un endroit vide trace un nouveau bloc. Les boîtes s’alignent sur les marges, la grille et les bords et centres des autres blocs (Alt enfoncée, elles se placent librement ; Échap annule le glissé). La boîte s’écrit en millimètres : un bloc accroché à un autre garde son ancre et change son décalage. Quand d’autres pages utilisent le gabarit, la page demande où va le changement : Modifier le gabarit (avec le nombre de pages) ou Cette page seulement, qui crée pour cette page un gabarit établi d’après le premier et fait que sa clôture le nomme. Un bloc tourné se déplace sur la page et se dimensionne dans ses champs. Les champs permettent de tout faire au clavier.
#Styles de bloc
Maquette › Encadrés › Styles de bloc présente les styles d’encadré (calloutStyles) comme une bibliothèque. Les blocs des gabarits de page s’habillent des mêmes styles (frames[].style) : un style sert aussi bien un encadré :::callout du texte qu’un bloc d’une page composée.
- Chaque style est dessiné par le moteur avec un paragraphe d’exemple, et un onglet d’exemple quand le style a un onglet d’étiquette, tel qu’un bloc le porte : sur 80 mm de large (davantage si sa marge intérieure laisse moins de 40 mm de justification), dans le flux, sans la place fixe qu’un style d’encadré peut donner à sa boîte. Un style établi d’après un autre (
extends) est dessiné avec l’aspect qu’il hérite de son style de départ, comme la page le dessine (depuis postext 1.40). Sous son nom, la section indique où le livre s’en sert : blocs de gabarit, pages composées avec ces gabarits, encadrés du texte. Ouvert, un style liste chaque bloc (Ouvrir y mène dans Gabarits de page) et chaque chapitre avec ses encadrés (Voir sélectionne la balise suivante dans le panneau Texte ; une balise sanstypecompte pour le premier style, celui que le moteur lui donne), et Modifier le style ouvre sur place l’éditeur des Styles d’encadré. Afficher filtre la liste : Dans les gabarits (ce qui s’affiche d’abord dès qu’un gabarit utilise un style), Dans le texte, Inutilisés, Tous. - Fusions proposées regroupe les styles presque identiques autour du plus utilisé : « Ces 3 styles ne diffèrent que par marge intérieure : les fusionner ? ». Les styles sont comparés sur ce que le moteur en résout, réglage par réglage, sans leur id ni leur nom. Les longueurs à moins de 0,5 mm et les couleurs à moins de ΔE 2 sont tenues pour égales, les quatre côtés d’une marge intérieure comptent pour un réglage, et Réglages qui peuvent différer (2 par défaut) fixe combien de réglages peuvent changer.
- La place d’un encadré
:::callout(placement, position fixe, largeur couverte, espace au-dessus et au-dessous) doit être la même, sinon la fusion déplacerait la boîte. Comparer l’aspect seulement la laisse de côté, et l’examen dit alors combien d’encadrés bougeraient ; tant qu’il est désactivé, la section dit combien de styles de plus il fusionnerait. Les styles que seuls des blocs de gabarit utilisent sont toujours comparés sur leur aspect : un bloc tient sa place de son gabarit. - Laisser chaque encadré à sa place (affiché avec Comparer l’aspect seulement, activé par défaut) : un style dont les encadrés sont ailleurs que ceux du style gardé n’est pas fusionné entièrement. Il reste avec sa seule place (placement, position fixe, largeur, espace au-dessus et au-dessous), basé sur le style gardé (
extends), si bien que ses encadrés prennent l’aspect gardé sans bouger ; la revue dit combien de styles restent ainsi. - Examiner liste chaque style qui part, ce par quoi il diffère, et les chapitres et blocs réécrits. Fusionner dans (ou Fusionner toutes les propositions) réécrit le
stylede chaque bloc de gabarit, variantes comprises, et letypede chaque balise de chaque chapitre pour qu’ils nomment le style gardé, supprime les autres et met le style gardé à la place du premier de son groupe, si bien qu’une balise sanstypegarde son aspect. La fusion entre dans l’historique d’annulation du Sandbox en un pas par chapitre réécrit et un pour les styles et les gabarits. Annuler, dans la section, défait la fusion entière tant que rien n’a changé depuis ; Cmd/Ctrl+Z la défait pas à pas, les styles d’abord, si bien que chaque état intermédiaire nomme des styles qui existent. - Renommer un style dans Styles d’encadré le renomme aussi dans chaque balise et chaque bloc de gabarit.
La fusion réécrit les chapitres de l’édition ouverte : une autre langue du livre, gardée comme brouillon ou projet à part, garde ses propres styles. Les agents disposent de la même bibliothèque avec sandbox_frame_styles et sandbox_merge_styles (voir WebMCP).
#Pages composées dans toutes les éditions
Dans un livre doté de modèles de page (pageTemplates), le panneau s’ouvre sur Pages composées : les vérifications de chaque page composée de chaque chapitre, dans chaque édition que contient le livre. Un paquet en espagnol, anglais et catalan est vérifié dans les trois pendant que l’une d’elles est à l’écran. Les éditions qui ne sont pas à l’écran sont mises en page en arrière-plan, chacune lue comme l’ouverture la lirait : son brouillon si elle a été modifiée, sinon le texte du paquet dans cette langue. Une ligne sous les commandes indique quelles éditions sont en cours de mise en page et, une fois toutes terminées, lesquelles ont été vérifiées.
La section rassemble :
- Le texte déborde de son bloc (
frameOverflow), avec les étapes essayées par la cascade de recomposition et les changements qui feraient tenir le bloc ; - Le texte déborde encore après les pages ajoutées (
frameContinuationLimit) : le contenu du bloc a continué sur toutes les pages qu’une page composée peut ajouter et ne tient toujours pas ; - Un article renvoie à une page qui ne suit pas (
continueTargetMissing) : aucun délimiteur de page placé plus loin ne porte l’id que nomme lecontinueIndu bloc ; - Étiquette sur une ancre inconnue et Ancre sans étiquette (
labelAnchorUnknown,anchorUnlabelled), rangées sous le bloc qui compose la figure ; - Étiquette plus large que sa mesure et Étiquettes qui se chevauchent (
labelOverflow,labelOverlap), rangées sous le même bloc : les étiquettes de chaque édition sont mesurées avec ses propres mots, si bien qu’une langue aux mots plus longs déborde là où une autre ne le fait pas ; - Slot sans bloc, Bloc vide, Modèle de page inconnu, Page composée avec trois deux-points et La double page ne correspond pas au modèle (
slotUnknown,slotEmpty,templateUnknown,pageFenceLength,spreadMismatch) ; - Bloc de la table des matières coupé entre colonnes (
tocGroupSplit) ; - les avertissements des modèles eux-mêmes (un style ou une ancre de bloc qui n’existe pas, des tailles qui se contredisent, une chaîne qui revient sur elle-même) et le texte de maquette qui contient du contenu du livre (
contentInConfig).
Ces entrées ne se répètent pas dans les groupes du dessous.
Page, Bloc et Langue regroupent la liste par page composée (la même page dans toutes les éditions, quel que soit son numéro dans chacune), par bloc ou par édition. Les trois menus en dessous gardent une seule langue, une seule page ou un seul bloc. Chaque entrée affiche l’étiquette de l’édition (CA), le numéro de page dans cette édition et le nom du bloc.
Un clic sur une entrée mène à son bloc dans son édition. Si une autre édition est à l’écran, le livre passe à la langue de l’entrée ; puis le chapitre et la page s’ouvrent, le bloc est sélectionné sur la page (son chemin s’affiche au bas de l’aperçu) et le curseur se place au début de son slot dans le panneau Texte. Un avertissement propre à un modèle ouvre la première page composée avec ce modèle, son bloc sélectionné ; le texte de maquette qui contient du contenu ouvre le panneau Maquette.
Un projet local importé d’un paquet en plusieurs langues les garde toutes : ses pages composées sont donc vérifiées dans chaque langue comme celles d’un livre d’exemple, et une vérification dans une autre langue vous y conduit en basculant le projet dans cette langue. Un livre dans une seule langue n’a qu’une édition, et la ligne sous les commandes le dit. La pastille de la barre d’activité compte les avertissements du chapitre à l’écran, dans l’édition à l’écran. Un gros livre attend qu’on le demande : quand ses chapitres multipliés par ses éditions dépassent 48, le panneau ne vérifie que le chapitre à l’écran et propose Vérifier toutes les éditions, qui met le reste en page en arrière-plan (depuis postext 1.40). L’outil sandbox_get_composed_checks (voir WebMCP) liste les vérifications des pages composées de toutes les éditions sans le panneau.
#Déplacer le texte dans le Markdown
Un livre fait avant les pages composées peut garder le texte de pages entières dans ses styles de titre : un titre masqué sur chaque page dont l’en-tête place des dizaines de textes, de boîtes et d’images là où les avait la page imprimée. Le panneau Vérifications affiche alors Texte rangé dans la configuration et propose Déplacer le texte dans le Markdown en tête. Un livre ainsi fait, importé depuis le panneau des livres, ouvre la même fenêtre juste après l’import.
La fenêtre dit ce que fera le déplacement avant de rien toucher :
- Chaque dessin de page devient un gabarit de page (
pageTemplates). Chaque texte devient un bloc à la place qu’il occupait ; des blocs de texte de même aspect posés les uns sous les autres à intervalle régulier forment un seul bloc. Les boîtes, filets et images passent dans la décoration du gabarit, peinte par-dessus le texte courant comme l’était l’en-tête, et une image qui couvre la page devient l’attributbackgroundde la page, que lit la décoration ({attr.background}). - Chaque page d’un chapitre devient une page composée,
::::page{template="…"}, avec les titres et le texte courant de la page et un:::frame{slot="…"}par bloc, qui porte son texte. Le gras et l’italique restent ; les fins de ligne du dessin restent des retours à la ligne forcés. - La police, le corps, la graisse, la couleur, l’alignement et l’interlignage de chaque texte forment un style de paragraphe : celui du livre quand il correspond exactement, sinon un nouveau, nommé d’après la police et le corps. Une boîte colorée sous des mots en gras devient une pastille du style de pastille du livre de cette couleur, ou d’un nouveau.
- Les pages dont les blocs occupent les mêmes places partagent un gabarit (
page-base) que leurs propres gabarits étendent (extends) ; une page qui n’ajoute rien l’utilise tel quel. - Les styles de titre qui deviennent identiques une fois leur en-tête parti sont fusionnés (
tema--p04,tema--p05→tema) et renommés dans les titres ; les titres masqués qui ne servaient qu’à changer d’en-tête disparaissent. Une page qui commençait par un titre demandant une page paire ou impaire reçoit un:::pagebreak{parity="…"}avant son délimiteur.
Les chiffres de Ce qui change sont les textes et les lettres déplacés, les pages écrites, les gabarits proposés, les styles de titre avant et après, les styles créés, la taille de la configuration et les avertissements Texte rangé dans la configuration, avant et après.
Avant et après met chaque chapitre en page deux fois avec la mise en page du Sandbox lui-même et dessine chaque page qui change, l’ancienne à côté de la nouvelle. La liste voisine dit quelles pages paraissent différentes et pourquoi, quand on le sait : la boîte, le contour ou la lettrine propres d’un texte, une page dont le côté n’est pas connu, du texte courant désormais dans le bloc de flux du gabarit. Marquer en rouge ce qui change peint les pixels qui diffèrent.
Les options : Les pages aux blocs placés aux mêmes endroits partagent un gabarit, Une boîte de surlignage sous des mots en gras devient une pastille et, s’il y en a, Supprimer les styles de titre avec du texte qu’aucun titre n’utilise.
Avec Les mots sur les images deviennent leurs étiquettes, proposé quand la maquette place des mots courts sur les images du livre (les noms d’une carte, les chiffres d’un schéma), ces mots deviennent les lignes ::label d’une :::figure, l’image reçoit un bloc à elle et sa ressource reçoit les ancres. Le résumé compte les étiquettes, les images, les ancres et les styles d’étiquette. L’option est désactivée tant qu’on ne l’active pas, car ce sont ces pages qui changent le plus : les étiquettes sont recomposées avec les polices du livre, il faut donc les regarder à côté des anciennes pages. Les ancres s’écrivent dans la ressource de l’image, chacune comme une étape d’annulation, entre le texte et la maquette, et Annuler le déplacement et Remettre le livre comme avant les annulent aussi.
Déplacer le texte inscrit le changement dans l’historique d’annulation du livre : une étape par chapitre réécrit, puis une pour le dessin. Cmd/Ctrl+Z reprend d’abord le dessin, puis les chapitres, et Annuler le déplacement dans la fenêtre les reprend tous tant qu’ils sont les derniers. Le livre d’avant reste aussi enregistré, même après un rechargement, jusqu’à Garder le déplacement dans le panneau Vérifications ; jusque-là Remettre le livre comme avant réécrit l’ancien dessin et l’ancien texte, en étapes qu’on peut annuler à leur tour.
Restent dans la configuration, et sont listés sous Reste dans la configuration : un texte qui mêle des mots et des marqueurs (Page {pageNumber}), un texte accroché à la boîte de son en-tête ou à un autre élément, et le texte d’un dessin de titre (qui n’est pas une page). Un titre posé dans un bloc y garde son dessin (l’onglet d’un titre encadré, les bandeaux tracés autour d’un titre ; voir Titres dans les encadrés et les blocs). Le contrôle de contraste lit le texte d’un bloc sur la boîte du bloc lui-même ou sur la boîte de la décoration placée dessous : une étiquette blanche sur une boîte colorée est donc mesurée sur cette couleur (voir Ce qui est examiné).
Le même déplacement est une fonction du moteur, moveTextToMarkdown({ config, chapters, metadata }, options), qui rend la nouvelle configuration, les chapitres et le rapport qu’affiche la fenêtre. Voir Pages composées.
#Corriger un bloc en un clic
Sous Le texte déborde de son bloc, les solutions que l'échelle de recomposition a calculées pour ce bloc sont des boutons, dans les mots mêmes de l'avertissement :
- laissez le texte descendre à 60 % fixe le
fit.minScaledu bloc (et activefit.shrinkTexts'il était désactivé) ; - portez maxHeight à 66 mm fixe son
maxHeight; - baissez le minHeight de … abaisse la hauteur minimale d'un autre bloc de son groupe ;
- faites-le continuer sur la page suivante règle
overflow.continueInsurnext-page, pour que ce qui ne tient pas continue sur une page ajoutée après celle-ci ; - composez la page avec le modèle … réécrit le
templatede la clôture::::pagede la page dans le texte ; - coupez environ 626 caractères ne change rien : il sélectionne le texte du bloc dans le panneau Texte et dit combien de caractères retirer.
Les autres boutons changent la forme du livre ; chacun demande donc d'abord, en nommant le réglage et sa valeur (tema-fija › dinero › maxHeight = 66 mm) ou le modèle que prendra la page. Un changement de maquette vaut pour toutes les pages composées avec ce modèle. Modifier fait le changement comme une étape de l'historique d'annulation : Cmd/Ctrl+Z, ou le bouton Annuler à côté de Contenu et Maquette, le défait. La page est recomposée, et l'avertissement disparaît, ou laisse place à ce que le changement a laissé (un bloc plus bas qui ne tient plus).
Les mêmes boutons accompagnent le bloc dans le panneau Ce qui a bougé, et pourquoi du canevas. L'avertissement d'une édition qui n'est pas à l'écran propose d'ouvrir cette édition, où ses solutions peuvent être appliquées. Si le livre a changé depuis que la mise en page a proposé une solution (le modèle a été modifié, la clôture nomme un autre modèle), le bouton le dit et ne change rien. Un agent applique les mêmes solutions avec sandbox_apply_proposal (WebMCP).