Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

problème de veuve ou orpheline

39 views
Skip to first unread message

Pascal

unread,
May 21, 2006, 5:16:53 PM5/21/06
to
Bonjour,

J'espère que c'est le terme correct. C'est normal que je me retrouve
avec une demi ligne perdu en haut de page ?

Pascal

Hans

unread,
May 21, 2006, 5:22:19 PM5/21/06
to
Pascal <pas...@phpalbum.org> wrote:

j'utilise :
\clubpenalty = 40000
\widowpenalty = 40000


--
Hans

Jean-Côme Charpentier

unread,
May 21, 2006, 5:52:29 PM5/21/06
to
Pascal a écrit :

> Bonjour,
>
> J'espère que c'est le terme correct. C'est normal que je me retrouve
> avec une demi ligne perdu en haut de page ?

Ce n'est pas complètement anormal. Il faut voir le document.
Exemple bestial avant de faire dans le un peu plus fin : supposons
que vos pages acceptent 45 lignes et supposons que vous commenciez une
page avec un paragraphe de 46 lignes. Deux solutions, on place 44 lignes
sur une page en jouant sur un ressort d'interlignage et 2 lignes sur la
page suivante ou bien on se retrouve avec une ligne veuve. La première
solution est normalement repoussée (avec horreur) par un typographe.

Plus subtile maintenant. TeX compose ses pages en jouant comme un
petit fou avec des pénalités. Chaque coupure potentielle (de ligne ou de
page) se voit affublée d'un certain score où les pénalités vont entrer
en ligne de compte. La production d'une ligne veuve ou orpheline produit
une certaine pénalité mais n'est pas interdite (par défaut). Si TeX
choisit de faire une ligne veuve, c'est que ne pas le faire entraînait
une plus mauvaise coupure à ses yeux.
Une méthode bourine pour interdire définitivement les veuves et
orphelines est de donner aux pénalités correspondantes une valeur
infinie. L'infini, dans ce cas précis étant égal à 10000. Donc
\widowpenalty=10000
\clubenalty=10000
et si on veut aller jusqu'au bout, on peut mettre aussi
\displaywidowpenalty=10000
pour empêcher une « ligne veuve » avant une formule hors-texte.

Maintenant, ce genre de réglement à la hache n'est pas franchement
conseillé. Il faudrait savoir pourquoi il y a une veuve, s'il y a moyen
de s'en débarasser localement et si cela vaut vraiment le coup de s'en
débarasser. Pour mémoire, les valeurs de ces paramètres doivent être de
150 par défaut (à vérifier).

Tiens ! Pour revenir sur les limitations de TeX, en voici une il me
semble. TeX ne fait aucune différence entre une veuve de deux mots
(courts) et une veuve à laquelle il manque 5mm pour terminer la ligne.
C'est dommage et c'est une vraie limitation. Je dis une bêtise ?

Jean-Côme Charpentier

--
Oui oui, bien tout effacer avant de compiler, genre "/bin/rm -rf *" en
tant que root, l'idéal étant un rm compilé en statique lorsque l'on
rédige ses docs dans /lib ou dans /bin.
-+- JKr in fr.comp.text.tex -+-

Pfercour

unread,
May 21, 2006, 5:54:21 PM5/21/06
to
Pascal a écrit :
Bonsoir,
ayant eu le même problème j'ai suivi les indications d'un fil de
discussion de ce forum (auteur Manuel Pégourié-Gonnard du 7 février
2006) dont la principale m'apparaît être de finir le document en
question pour voir si une fois tout en place l'orpheline reste, ensuite
si l'on est l'auteur du texte modifier celui-ci pour limiter ou
augmenter le texte à cet endroit et en dernier recours modifier les
espaces verticaux entre certains éléments avant ce problème. Quant à
modifier les pénalités de TeX pour cela il semble que cela appartienne
presque aux péchés capitaux vu les dègats induits ailleurs dans le document.
Pour la discussion technique je laisse le soin à d'autres de vous
expliquer cela. Je n'ai que quelques mois et peu de travail en LaTeX
derrière moi.

Philippe Armingaud
pfer...@free.fr

Pascal

unread,
May 21, 2006, 6:16:24 PM5/21/06
to
Jean-Côme Charpentier a écrit :

> Pascal a écrit :
>> Bonjour,
>>
>> J'espère que c'est le terme correct. C'est normal que je me retrouve
>> avec une demi ligne perdu en haut de page ?
>
> Ce n'est pas *complètement anormal*. Il faut voir le document.

C'est pas la réponse que j'espérai.

> Exemple bestial avant de faire dans le un peu plus fin : supposons que
> vos pages acceptent 45 lignes et supposons que vous commenciez une page
> avec un paragraphe de 46 lignes. Deux solutions, on place 44 lignes sur
> une page en jouant sur un ressort d'interlignage et 2 lignes sur la page
> suivante ou bien on se retrouve avec une ligne veuve. La première
> solution est normalement repoussée (avec horreur) par un typographe.

C'est pas le cas, un paragraphe de 8 lignes et un de 2 lignes. Le tout
en 8 pages. C'est bizarre, il me semble pas avoir eut ce genre de soucis
l'année dernière. C'est possible qu'un paramètre, package ou autre chose
est eut des effets de bord ?

>
> Une méthode bourine pour interdire définitivement les veuves et
> orphelines est de donner aux pénalités correspondantes une valeur
> infinie. L'infini, dans ce cas précis étant égal à 10000. Donc
> \widowpenalty=10000
> \clubenalty=10000
> et si on veut aller jusqu'au bout, on peut mettre aussi
> \displaywidowpenalty=10000
> pour empêcher une « ligne veuve » avant une formule hors-texte.
>

Moi par contre j'ai coupé la citation à la hache :)
j'éviterai, je le garde en cas d'urgence :)

>
> Tiens ! Pour revenir sur les limitations de TeX, en voici une il me
> semble. TeX ne fait aucune différence entre une veuve de deux mots
> (courts) et une veuve à laquelle il manque 5mm pour terminer la ligne.
> C'est dommage et c'est une vraie limitation. Je dis une bêtise ?

Ah ça y est, je me rapelle la différence, la veuve, c'est la dernière
ligne du paragrpahe mais sur la même page et l'orpheline c'est la
dernière ligne en nouvelle page.

Pour la bétise, je passe.

Pascal

PS : tout est la : http://ng.parois.net/may%20report/
Il est tard, je vous mets tout en vrac :-D, j'essayerai d'isoler le
problème (si il existe) demain (si j'ai le temps).

Josselin Noirel

unread,
May 22, 2006, 2:43:19 AM5/22/06
to
Jean-Côme Charpentier

wrote in message <4470e11d$0$20178$8fcf...@news.wanadoo.fr>:
> Maintenant, ce genre de réglement à la hache n'est pas franchement
> conseillé. Il faudrait savoir pourquoi il y a une veuve, s'il y a moyen
> de s'en débarasser localement et si cela vaut vraiment le coup de s'en
> débarasser. Pour mémoire, les valeurs de ces paramètres doivent être de
> 150 par défaut (à vérifier).

On peut jouer avec \looseness. Je n'aime pas parler de ce paramètre
parce que c'est quelque chose avec lequel il ne faut pas jouer avant
l'ultime minute et si des modifications sont à apporter ensuite,
catastrophe ! (Envisager \newcount \looseness.)

> Tiens ! Pour revenir sur les limitations de TeX, en voici une il me
> semble. TeX ne fait aucune différence entre une veuve de deux mots
> (courts) et une veuve à laquelle il manque 5mm pour terminer la ligne.
> C'est dommage et c'est une vraie limitation. Je dis une bêtise ?

Effectivement. En fait, il est difficile d'automatiser la revue des
points de coupure. Si on cherche à s'amuser on peut faire quelque chose
du genre (façon Plain)

\newif \ifremoveone
\def \onelinemoreorless #1{%
\par
\setbox0 =\hbox {#1}% Better use - with limitations - \outerhbox
\setbox2 =\vbox {%
\unhcopy0 \par
\ifnum \prevgraf < 10
% Hey it's not much!
\fi
\setbox2 =\lastbox
\setbox2 =\hbox{\unhbox2 }%
\ifdim \wd2 < 0.5\hsize
\global \removeonetrue
\else
\global \removeonefalse
\fi
}%
\looseness = \ifremoveone -\fi 1
\unhbox0
\par
}

(Untested.) Je crois savoir que ConTeXt sait diminuer ou augmenter d'un
certain nombre de lignes _plusieurs paragraphes_. J'aimerais savoir
comment cela est fait. J'ai déjà programmé quelque chose qui fait cela,
le problème est que l'algorithme est glouton ce qui fait que c'est
essentiellement les premiers paragraphes qui s'accommodent des
modifications laissant les derniers se constituer normalement.
Typographiquement c'est discutable et il est possible voire probable que
HH ait eu des idées géniales qui m'aient échappé. Dans tous les cas, il
est pénible de ne pas avoir accès à la \badness d'un paragraphe entier.
Dans le cas contraire, on pourrait commencer à s'amuser.

--
Joss

François Patte

unread,
May 22, 2006, 3:16:13 AM5/22/06
to
Jean-Côme Charpentier a écrit :

> Pascal a écrit :
>
>> Bonjour,
>>
>> J'espère que c'est le terme correct. C'est normal que je me retrouve
>> avec une demi ligne perdu en haut de page ?
>
>
> Tiens ! Pour revenir sur les limitations de TeX, en voici une il me
> semble. TeX ne fait aucune différence entre une veuve de deux mots
> (courts) et une veuve à laquelle il manque 5mm pour terminer la ligne.
> C'est dommage et c'est une vraie limitation. Je dis une bêtise ?
>
> Jean-Côme Charpentier

Oui. Enfin non, ce n'est pas une bêtise.... Et même moins de 5mm! J'ai
fait ces expériences en faisant un livre (classe "report" +
\flushbottom). Il suffit parfois de mettre au bon endroit --- avant le
dernier paragraphe de la page --- un \enlargethispage{1pt} pour que le
phénomène ne se produise pas.

Remarque: 1) évidemment, on ne peut faire ça qu'à la fin finale de la
réalisation du bouquin quand tout a été corrigé.... 2) je sais que
l'usage des "points" pour mesurer les distances est un peu baroque mais
je m'étais fixé comme "tolérance": pas plus d'une ligne de note en plus
par page par rapport aux pages "normales".

--
François Patte
Université Paris 5 - Paris

Benoit RIVET

unread,
May 22, 2006, 3:26:54 AM5/22/06
to
Pascal <pas...@phpalbum.org> wrote:

> > Exemple bestial avant de faire dans le un peu plus fin : supposons que
> > vos pages acceptent 45 lignes et supposons que vous commenciez une page
> > avec un paragraphe de 46 lignes. Deux solutions, on place 44 lignes sur
> > une page en jouant sur un ressort d'interlignage et 2 lignes sur la page
> > suivante ou bien on se retrouve avec une ligne veuve. La première
> > solution est normalement repoussée (avec horreur) par un typographe.
>
> C'est pas le cas, un paragraphe de 8 lignes et un de 2 lignes. Le tout
> en 8 pages. C'est bizarre, il me semble pas avoir eut ce genre de soucis
> l'année dernière. C'est possible qu'un paramètre, package ou autre chose
> est eut des effets de bord ?

Il ne faut pas exagérer! Certes, vos paragraphes sont coupés d'une à
l'autre, mais ils ne sont pas isolés.

Page 3: la ligne "orpheline" précède la section 1.2, qui remplit ensuite
toute la page.

Page 9: la ligne "orpheline" précède les références.

--
Benoît RIVET

Benoit RIVET

unread,
May 22, 2006, 3:29:59 AM5/22/06
to
Benoit RIVET <benoit...@libre.fr.invalid> wrote:

> > C'est pas le cas, un paragraphe de 8 lignes et un de 2 lignes. Le tout
> > en 8 pages. C'est bizarre, il me semble pas avoir eut ce genre de soucis
> > l'année dernière. C'est possible qu'un paramètre, package ou autre chose
> > est eut des effets de bord ?
>
> Il ne faut pas exagérer! Certes, vos paragraphes sont coupés d'une à
> l'autre, mais ils ne sont pas isolés.

Et surtout, le document n'est manifestement pas terminé (il reste des
fautes d'orthographes et certains paragraphes doivent manifestement être
complété).

--
Benoît RIVET

Pascal

unread,
May 22, 2006, 4:03:04 AM5/22/06
to
Benoit RIVET a écrit :

> Benoit RIVET <benoit...@libre.fr.invalid> wrote:
>
>>> C'est pas le cas, un paragraphe de 8 lignes et un de 2 lignes. Le tout
>>> en 8 pages. C'est bizarre, il me semble pas avoir eut ce genre de soucis
>>> l'année dernière. C'est possible qu'un paramètre, package ou autre chose
>>> est eut des effets de bord ?
>> Il ne faut pas exagérer! Certes, vos paragraphes sont coupés d'une à
>> l'autre, mais ils ne sont pas isolés.

Si il y a pas de soucis et que c'est normal, çà m'arrange.

>
> Et surtout, le document n'est manifestement pas terminé (il reste des
> fautes d'orthographes et certains paragraphes doivent manifestement être
> complété).
>

Oui, mais ça m'interpelait que ça arrive aussi souvent (sur d'autres
documents également), ça doit être le hasard, cette année mes
paragraphes ont leur dernières lignes ailleurs. Sur mon rapport de
l'année dernière, pas une seule ligne célibataire.

Pour en revenir aux 4 mots avant les references, il aurait pu faire un
effort quand mêmme. Je trouve justement que laissé 4 mots en tête de
page avant un titre, c'est pas top...
de toute façon il me reste à compléter, si je suis chanceux, ça va bien
tomber...

Jean-Côme Charpentier

unread,
May 22, 2006, 10:24:08 AM5/22/06
to
Pascal a écrit :

>
> Ah ça y est, je me rapelle la différence, la veuve, c'est la dernière
> ligne du paragrpahe mais sur la même page et l'orpheline c'est la
> dernière ligne en nouvelle page.

Aaah pour ça, je n'arretais pas de confondre alors je me suis inventé
des moyens mnémotechniques complètement tordus (et pas toujours très
sûrs) jusqu'à ce que certains me disent que non, finalement, ce n'était
pas cela. Je ne savais plus ou donner de la tête et puis Michel B. (ou
Jacques A. je ne sais plus) m'a donné la réponse définitive qui me
permet de dormir tranquille depuis (citation approximative de mémoire) :

« De toutes façons, quoi que tu dises, il y aura toujours quelqu'un
pour affirmer que tu as tort... »

Il semblerait également que ces termes soient une invention assez
récente, et qu'au départ n'existait qu'un seul terme (je vais dire veuve
mais c'est peut être orpheline). On disait donc veuve en haut de page ou
veuve en bas de page s'il y avait besoin de préciser. C'est dommage,
cela aurait été plus clair de garder cette façon de parler.

Jean-Côme Charpentier

--
Défendu... comme le fruit défendu ? À la Pléiade, il paraît qu'ils
utilisent \\ aussi, alors tu sais...
-+- Joss in fr.comp.text.tex -+-

drax

unread,
May 22, 2006, 10:53:01 AM5/22/06
to
> Il semblerait également que ces termes soient une invention assez
> récente, et qu'au départ n'existait qu'un seul terme (je vais dire veuve
> mais c'est peut être orpheline).

Ca date de 1957 avec l'apparition de Zorro : le sauveur de la veuve et de
l'orphelin.

Avant lui, les héros ne s'occupaient que des veuves (la solitude sans
doute), et les typographes des orphelins. Chacun faisait son taf et les
moutons étaient bien gardés. Puis "Zorro est arrivé". Comme il lie les deux
professions (sauveur et typographe, cf son fameux Z qu'il typographie
partout), la donne a changé.


0 new messages