0 votes
543 vues

Je crée une sortie pour un ensemble de contenus de Bible d'étude. Dans cette mise en page, toutes les notes sont des paragraphes alignés à gauche avec un retrait suspendu.

Je me demande comment indiquer à PTXPrint / TeX que je ne souhaite pas qu'un certain équilibrage des lignes ait lieu. Vous pouvez voir ce que je veux dire sur la capture d'écran ci-dessous pour 1.8 et 1.22. Il y a beaucoup de place sur certaines lignes pour plus de texte.

Si je définis le style de ces paragraphes sur Justifié, ce problème disparaît (autant de texte que possible est placé sur la ligne).

image

J'ai essayé de modifier l'Espace irrégulier maximal (Maximum Ragged Space) pour le style de ces paragraphes. Un changement minimal est possible (sauf si j'applique zéro, auquel cas PTXPrint justifie essentiellement le texte).

image

Que devrais-je faire d'autre pour que les lignes remplissent autant que possible la mesure avant de passer à la ligne suivante ?

Traduit automatiquement depuis English
PTXprint par [Expert]
(290 points)
| 543 vues

9 Réponses

0 votes

Bonjour @jklassen ! Oui, cela a certainement l'air étrange et je ne suis pas (encore) sûr de ce qui pourrait en être la cause. J'ai essayé d'ajuster les paramètres pour une autre Bible d'étude et je constate que cela fonctionne comme je le souhaiterais (admettons avec une mise en page à 2 colonnes pour les notes de bas de page étendues \ef, plutôt qu'une mise en page à 1 colonne) :

Je me demande si vous avez essayé d'augmenter l'Espace irrégulier maximal (Maximum Ragged Space) à quelque chose comme .65 pour voir si cela permet à la ligne du bas d'avoir moins de mots et à la ligne du haut de se remplir un peu plus, comme vous l'avez espéré.

Si cela ne résout pas le problème, nous devrons attendre de voir ce que @David_Gardner ou @Martin_Hosken ont à dire à ce sujet.

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

Je rejoins la suggestion de Mark : poussez l'espace irrégulier maximal jusqu'à 0,5 ou plus. Cela essaiera plus de solutions de coupure, mais il essaiera toujours de placer le texte dans le moins de lignes possible, et cela permettra également plus d'espace sur la dernière ligne du paragraphe.

Le code actuel permet à la dernière ligne d'un paragraphe d'inclure un espace supplémentaire d'« irrégularité » (raggedness), et il n'aime vraiment pas s'approcher de la limite de cette irrégularité. Comme vous l'avez vu, si vous ne permettez pas que l'« irrégularité » soit perceptible, vous lui demandez de justifier le texte. En fait, vous lui demandez de justifier entièrement le texte, y compris la dernière ligne.

Si vous écrivez \tracing{j} dans votre fichier ptxprint-mods.tex, votre journal (log) inclura beaucoup d'informations supplémentaires, et les lignes intéressantes pour cette question ressembleront à ceci :

s@tsideskips p (p). 0.0pt/0.0pt, pf=0.0pt plus 1.0fil
s@tsideskips s1 (s1). 0.0pt plus 158.52597pt/0.0pt plus 158.52597pt, pf=0.0pt

Les deux premiers indiquent la quantité de retrait plus d'irrégularité autorisée à gauche / à droite.

Ce dernier est le \parfillskip et est une mesure de la quantité d'espace autorisée sur la dernière ligne du paragraphe (jusqu'à l'infini pour p, et aucun espace supplémentaire pour s1 centré). (peut-être que c'est un peu sévère ?? Cela dit essentiellement qu'il ne devrait pas se soucier si la dernière ligne est la plus longue)

s@tsideskips q2 (q2). 21.68065pt/0.0pt plus 79.26299pt, pf=0.0pt plus 79.26299p
t

Pour q2 aligné à droite irrégulièrement (ragged-right), je constate que l'irrégularité est de 79,26 pt, et que la dernière ligne peut avoir 79,26 points supplémentaires, donc il sera très mécontent de permettre plus de 169,5 points d'espace sur la ligne finale.

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

Merci Mark, et David d'avoir pris le temps d'examiner cela, et pour les détails sur le fonctionnement de TeX, David.

J'ai des paragraphes pour des notes pour lesquels j'ai créé un marqueur appelé \zefp. Je l'ai configuré comme un retrait suspendu (facteur de retrait gauche de 0,18em, et -0,18 pour la première ligne).

La taille de la page est A4 (210 mm de large - marges de 14 mm = 28 au total) – donc une largeur de texte de 182 mm

Si je laisse l'« espace irrégulier maximal » par défaut de 0,25, le journal montre :

s@tsideskips zefp (zefp). 10.40648pt/0.0pt plus 129.46004pt, pf=0.0pt plus 129.
46004pt

(environ 45 mm d'espace maximal sur la dernière ligne)

Si je définis l'espace irrégulier maximal à 0,65, le journal montre :

s@tsideskips zefp (zefp). 10.40648pt/0.0pt plus 336.59294pt, pf=0.0pt plus 336.
59294pt

(environ 118 mm d'espace maximal sur la dernière ligne)

ce qui, je suppose, explique pourquoi TeX ne permet pas à plus de la deuxième ligne de la note pour 1:8 de rester sur la première ligne.

image

Comment puis-je configurer les choses pour que les mêmes propriétés autorisées pour « p » (selon votre description, David, de pf=0.0pt plus 1.0fil) soient appliquées à mon \zefp inventé ? Je veux également autoriser un espace « infini » sur la dernière ligne.

Traduit automatiquement depuis English
0 votes

Hum. J'ai essayé de répondre par e-mail, mais le message a été renvoyé.

Le 1.0 fil est (actuellement) appliqué aux paragraphes justifiés. J'ai l'impression que nous pourrions avoir besoin d'un paramètre supplémentaire.

Je ne comprends pas pourquoi 0,65 n'est pas suffisant. Peut-être qu'il est comparé à la largeur de la colonne plutôt qu'à la largeur actuelle ?? Mais de toute façon, il semble que vous vouliez probablement pousser l'« irrégularité » jusqu'à 1,0 (ou même 2 ? Pour TeX, c'est juste des mathématiques, mais je suppose que l'interface utilisateur ne sera pas heureuse et vous devrez probablement utiliser ptxprint-mods.sty pour le mettre en place).

Si cela ne fonctionne pas, vous pourriez probablement ajouter un hook (accroche) comme ceci :

\sethook{zefp}{end}{\hskip 0pt plus 1fil }

(en supposant que j'ai bien la séquence de paramètres)

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

Merci d'avoir exploré cela avec moi, David.

Je ne peux pas définir le paramètre au-dessus de 1. J'ai essayé, et cela ne provoque aucun changement.

J'ai essayé le hook. (J'ai dû inverser l'ordre de la position et du marqueur :slight_smile: )

\sethook{end}{zefp}{\hskip 0pt plus 1fil}

mais aucun changement. Je suis confiant que le hook fonctionne car je peux simplement insérer du texte là et il passe – et si j'insère suffisamment de texte supplémentaire, une partie du texte de la première ligne de ce paragraphe commence à descendre à la deuxième (pour être plus équilibrée).

Traduit automatiquement depuis English
par [Expert]
(290 points)
+1 vote

C'est frustrant. TeX supprime en effet les éléments à la fin des lignes (afin que, par exemple, vous n'ayez pas d'espaces à la fin des lignes dans un texte justifié), et je suppose que c'est ce qui se passe ici. Donc, quelques autres tentatives :

% Option1: set the paragraph fill to what we want, then end the paragraph before the code can put it back (this might break things):
\sethook{end}{zepf}{\parfillskip=0pt plus 1fil \endgraf} 
% Option 2: No line break, Lots of stretch, no line break and then a zero width line(which will neither be visible nor discarded).
\sethook{end}{zepf}{\penalty 10000\hskip 0pt plus 1fil \penalty10000\vrule width 0pt depth 0pt height 1pt}
Traduit automatiquement depuis English
par (1,1k points)
0 votes

Merci, David.

Ces deux suggestions fonctionnent ! J'ai laissé l'Option 1 activée.

Traduit automatiquement depuis English
par [Expert]
(290 points)
0 votes

Merci à chacun d'entre vous d'avoir poursuivi cette recherche jusqu'à ce qu'une solution soit trouvée. MH est arrivé très près de la solution identique il y a quelques jours, mais sans ce \endgraf final, cela ne semblait faire aucune différence. Je suis ravi que nous ayons maintenant une voie concrète à suivre.

Je me demande aussi si nous avons besoin d'un interrupteur quelque part dans PTXprint qui rendrait cela le comportement par défaut pour un ou plusieurs marqueurs (une liste de marqueurs).

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

Le problème avec le \endgraf là-dedans est qu'il causera des problèmes dans certaines circonstances. Dans un texte normal, c'est probablement sans problème, mais seulement probablement.

Je pense que la « seule vraie solution » serait d'avoir plus d'options de justification :
1 : justifié, 2 : aligné à droite, 3 : aligné à droite rigide,
4 : centré, 5 : centré rigide, 6 : aligné à gauche,
7 : aligné à gauche rigide, 8 : aligné à gauche rempli, 9 : aligné à gauche rigide rempli
(où rigide = espaces rigides)
image

J'ai inclus les options « rigides », en pensant que certaines personnes pourraient supposer que cela va de pair avec les options alignées à gauche/droite irrégulières (ragged).

Notez qu'il n'y a pas de moyen que je connaisse pour avoir un « remplissage » supplémentaire sur la dernière ligne d'un paragraphe aligné à droite, c'est pourquoi les lignes dans 2,3 sont différentes de 6,7.

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

Je suis reconnaissant pour les solutions, David. Merci.

Si je puis me permettre, je partagerai une opinion ici, aussi subjective soit-elle. Je pense que l'Alignement : Gauche devrait signifier la configuration rigide, par défaut. Je pense que c'est ce qui est probablement anticipé par une personne choisissant un texte non justifié – et cela présente le texte sous la forme qui est potentiellement la plus lisible (l'espacement des mots constant étant la préoccupation dans cette vue). Bien sûr, un bord gauche (ou droit) très irrégulier pourrait être une préoccupation de lisibilité, ce qui pourrait être lié à une longueur de ligne étroite. Adoucir cela pourrait être fait par la césure, et peut-être par une option pour « adoucir le bord non justifié / irrégulier ? » qui appliquerait une certaine extensibilité aux espaces entre les mots pour créer un bord plus lisse.

Encore une fois - mes réflexions sur les valeurs par défaut. Je suis sûr qu'il y a d'autres opinions. Quoi qu'il en soit - avoir un moyen simple d'obtenir le « rigide » sera très utile.

Traduit automatiquement depuis English
par [Expert]
(290 points)

Si vous voulez vraiment, vraiment, mettre le maximum possible sur chaque ligne, peu importe à quel point le résultat est laid, vous pouvez définir \adjdemerits=0 pour empêcher TeX d'essayer d'équilibrer les lignes rétrécies à côté des lignes étirées. Et si vous utilisez des traits d'hyphenation, définissez \doublehyphendemerits=0 et \finalhyphendemerits=0. Par défaut, tous sont définis à 10000, ce qui semble beaucoup, mais étant donné qu'il s'agit de mérites négatifs (demerits) qui sont des carrés de pénalités, cela correspond à environ 100 en termes de pénalités.
Mais, comme avec la manipulation des sons dans un synthétiseur, il est très facile d'apporter des modifications qui rendent les choses plus laides ! Vous avez demandé comment mettre le maximum sur une ligne ! Que votre sortie laide retombe sur votre propre tête :slight_smile:

Traduit automatiquement depuis English

Questions connexes

0 votes
1 réponse 20 vues
J'ai lu "Glossary Best Practices" (https://support.bible/3952/glossary-best-practices?show=3952#q3952). Les informations ... 'anormal', je le saurais apprécier ! Merci, Paul
Paul 642 posée oct. 21, 2025
0 votes
1 réponse 91 vues
Pour l'enregistrement, j'aimerais distribuer à chaque lecteur son ou ses chapitre(s) à lire sur des pages séparées, de ... me serait très utile ! Merci pour toute aide ! Roland
Roland 245 posée mars 10, 2025
0 votes
5 réponses 529 vues
Je tente d'imprimer un diglotte, mais je me retrouve avec des paragraphes orphelins. Il semble que PTXprint place les ... Paratext ?) Screenshot 2021-04-22 1638341301 922 129 KB
anon043588 110 posée avr. 22, 2021
0 votes
2 réponses 310 vues
Bonjour ! Je mets toujours à jour vers la dernière version de PTXprint, car elle est simple et utile. Je ... ce problème ? Je vous en serais reconnaissant. Bénédiction, anon952029
David Tuallawt 287 posée déc. 4, 2021
0 votes
3 réponses 287 vues
Hello, Anytime I use the \ip Introduction - Paragraph marker in Paratext, the words turns grey. I would be grateful if you can help me correct it. Thank you. anon878803
anon878803 132 posée nov. 8, 2019
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
How good and pleasant it is when God’s people live together in unity!
Psalm 133:1
3,047 questions
6,007 réponses
5,672 commentaires
2,027 utilisateurs