Bonsoir, la liste,
Je viens d’achever la composition d’un pavé de 900 pages, de loin
« mon » plus gros livre à ce ce jour. Vu qu’il s’agira d’un dos carré
collé, il faut tenir compte de la surface importante de papier
« disparaissant » dans la reliure. Il est d’usage de prévoir un décalage
du rectangle d’empagement vers l’extérieur afin que, même au milieu du
livre, les fins de ligne restent lisibles. Ce décalage est proportionnel
notamment au nombre de pages du livre. Dans le cas présent, il serait
donc très important. Trop…
Le principal problème est en effet qu’il s’agit d’une valeur fixe : plus
on sera loin du milieu du livre, plus l’empagement paraîtra laid et
inadapté, avec une colonne de texte inutilement déportée vers
l’extérieur (marge interne bien trop grande, marge externe bien trop
petite). En toute logique, le décalage devrait être progressif :
augmenter petit à petit à mesure que l’on approche du milieu du livre,
décroître d’autant à mesure qu’on s’en éloigne.
J’ai cru comprendre en lisant le site d’Alain Hurtig (https://
LOutil - Méthodes dempagement) qu’autrefois les
imprimeurs s’en chargeaient durant un procédé appelé l’imposition
(disposer les pages dans le bon ordre sur les feuilles, avant pliage et
découpage pour que les pages du livre apparaissent ensuite dans
l’ordre). À l’évidence, ce n’est plus le cas, du moins pour les petits
tirages et les impressions à la demande.
J’ai pensé pouvoir le faire avec les extensions atbegshi et changepage :
en incluant dans un \AtBeginShipout une commande \changeblock (modifiant
les marges en cours de route). Échec complet.
En testant cette commande \changeblock dans le texte courant, j’ai
constaté qu’elle fonctionnait normalement avant \chapter, mais pas
après. Je me suis alors rappelé que TeX compose le texte courant comme
une suite de paragraphes. Ces derniers ayant pour déplorable habitude
d’enjamber les pages, j’ai supposé qu’un mécanisme interne devait
empêcher toute modification de la mise en pages avant un saut de page.
Est-ce bien le cas ? Si oui, mon idée de décalage progressif semble
compromise : la variation du décalage de chapitre en chapitre plutôt que
page à page ne me semble quant à elle pas souhaitable, car pour un long
chapitre, cette variation pourrait être suffisamment brutale pour être
perceptible. Je n’ai en outre évidemment pas l’intention d’insérer
manuellement en bas de chaque page impaire environ 450 \clearpage
redéfinis pour inclure un \changeblock…
Bref, y aurait-il à votre avis un moyen malgré tout d’automatiser tout
cela ? La solution à laquelle je pensais était de repérer le dernier
caractère du texte courant pour chaque page, de le faire suivre de
quelque chose comme \parfillskip0pt\par\changeblock{…}
\clearpage\begingroup\noindent<SUITE DU PARAGRAPHE QUAND ELLE EXISTE>.
Bien sûr, je n’ai aucune idée sur la façon de mettre cela en place. Et
je suppose que ce ne serait possible qu’avec LuaTeX.
Des idées ?
À toutes fins utiles (?), je joins un MNWE (minimal non working example).
Merci d’avance.
Thomas Savary
1 le Grand-Plessis
F-85340 L’Île-d’Olonne
Tél. Tél. masqué