0 votes
168 vues

Considérez cette ligne plutôt affreuse dans un texte entièrement justifié :

Vous pouvez voir comment elle a été tronquée, ou du moins qu'il y a de l'espace supplémentaire à droite. C'est parce que j'ai désactivé l'espacement des lettres pour cet exemple. Il n'y a pas de meilleur retour à la ligne (aux fins de cette discussion) et donc il n'y a nulle part où insérer de l'espace supplémentaire, ce qui nous donne une boîte sous-remplie. Mais qui ferait cela ? Ils devraient sûrement activer l'espacement des lettres. Alors activons une petite quantité : 0,5 % :

Yuck. C'est bien plus que l'étirement maximal de 0,5 %. Que se passe-t-il ? Eh bien, XeTeX doit décider quoi faire concernant l'espacement d'une coupure vraiment mauvaise comme celle-ci. En fait, il a un passage spécial qui dit en substance au module de coupure de ligne : vous avez 1 pouce supplémentaire par ligne (défini par défaut via \emergencystretch=1in), donc si vous pouvez justifier sur cette base, foncez. Et 0,5 % ajoute juste assez d'espace intercaractère pour nous mettre sous le besoin de 1 pouce d'espace supplémentaire. Maintenant, la ligne est étirée et tout cet étirement d'urgence est distribué parmi tous ces étirements, indépendamment de tout maximum que nous aurions pu définir sur l'étirement, et l'espace intercaractère semble super large et étiré.

Est-ce le mieux que nous puissions faire ? Considérez-vous bénis, vous tous qui travaillez avec des « mots » plus courts et n'avez pas à gérer le manque de coupures intermots. Heureusement, ce texte est marqué avec des coupures de mots qui sont transformées en ZWSP. Le ZWSP est défini comme prenant l'espacement intercaractère, donc nous pouvons être malins et désactiver l'espacement des lettres tout en conservant l'espace intercaractère pour le ZWSP. Nous faisons cela en ajoutant la ligne :

```

\def\intercharspace{\leavevmode\nobreak\hskip\intercharskip}

```

à notre ptxprint-mods.tex (puisque la désactivation des espaces entre lettres le commente depuis le fichier .tex du travail). Alors, qu'obtenons-nous si nous désactivons à nouveau l'espacement des lettres ?

Hmm, pas beaucoup mieux, mais au moins le texte est coupé sur des mots plutôt que sur des clusters de graphèmes. Cela peut être ou non préférable. Mais il n'y a pas de solution propre. Il s'agit de tirer le meilleur parti d'un travail difficile.

Les commentaires sont les bienvenus, tant que vous ne dites pas : ne coupez pas là ! (Ce qui est bien sûr la bonne solution, mais qui n'est pas toujours disponible étant donné le temps dont nous disposons)

Traduit automatiquement depuis English
PTXprint par (656 points) | 168 vues

2 Réponses

0 votes

Si je comprends bien...
1. Normalement, le ZWSP a autant d'espace que l'espacement interlettres, de sorte que les mots joints par celui-ci ne finissent pas plus proches que l'espacement des lettres.
2. Actuellement, la désactivation de l'espacement interlettres saute également la définition de \intercharspace, de sorte que le ZWSP est en fait de largeur nulle.
3. Pour ce qui précède, vous suggérez que donner un peu d'espace au ZWSP est le pire des mauvaises situations.
4. Et pour le faire, vous définissez la macro \intercharspace sur une valeur non vide, (puisque cette macro est toujours utilisée dans la définition du ZWSP), mais comme l'espacement interlettres est désactivé, elle n'est pas réellement utilisée dans la position intercaractère.
OK, je pense que je comprends maintenant !
 

Traduit automatiquement depuis English
par (1,1k points)
0 votes

Et dans un vrai style de feuilleton, pour finir sur une note de soulagement pour tous ceux qui sont peinés par la vue d'une telle laideur. En réduisant la largeur du texte à 95 % de la largeur des caractères, nous obtenons le mot suivant :

Ouf ! Mais une autre fois, le mot pourrait être plus long et la compression nécessaire commence à devenir absurde. Donc, on ne peut pas toujours s'en tirer ainsi.

Aussi, la discussion concernant l'étirement d'urgence n'était pas strictement correcte. Oui, l'étirement d'urgence est ajouté à la boîte de ligne pour réduire sa « méchanceté » (badness). Mais la raison pour laquelle nous avions besoin que l'espacement intercaractère soit d'au moins 0,5 % est que ptxprint a un bug qui fait que toute valeur inférieure devient 0. Ce bug A ÉTÉ CORRIGÉ ! grr.

Traduit automatiquement depuis English
par (656 points)
modifié par

Questions connexes

0 votes
3 réponses 271 vues
PTXprint a fait beaucoup de choses formidables pour nous récemment, en composant de beaux livres bibliques à grands pas. Mais ... archive et je l'envoie à l'adresse de support.
jeffh 1,4k posée mars 28, 2023
0 votes
2 réponses 243 vues
The project we are working on is failing the Quotation rule basic check because, it would seem, of where the period is ... . How do we configure Paratext to allow quoted words .
MSEAIT_LT 478 posée déc. 12, 2018
0 votes
1 réponse 314 vues
A project I'm working with has extensive footnotes including Greek, Hebrew, Arabic and English words inside of them ... it possible to exclude footnotes from these sorts of checks?
mnjames 1,9k posée juil. 20, 2018
0 votes
1 réponse 52 vues
Mailto: <*Emails are not allowed*> PTXprint [2.7.17] - Error! Failed to create: MSB_BookofMark_XXC_ptxp.pdf ! File ... various settings on the Advanced tab. PTXprint Version 2.7.17
MnKN 134 posée sept. 13, 2025
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Finally, all of you, be like-minded, be sympathetic, love one another, be compassionate and humble.
1 Peter 3:8
3,048 questions
6,007 réponses
5,672 commentaires
2,028 utilisateurs