Discussion:
Underfull \vbox
(trop ancien pour répondre)
Alain Xicluna
2004-02-12 19:59:16 UTC
Permalink
J'ai trouvé des choses sur les horizontales

Underfull \hbox

mais rien (ai je mal cherché) sur les dizaines de messages d'erreurs:

J'ai copié collé et latté (viré ) ce qui est entre les messages "Underfull \vbox"

Underfull \vbox (badness 10000) has occurred while \output is active [67]

Underfull \vbox (badness 10000) has occurred while \output is active [71]

Underfull \vbox (badness 10000) has occurred while \output is active [75]

Underfull \vbox (badness 1558) has occurred while \output is active [93]

Underfull \vbox (badness 10000) has occurred while \output is active [95]

Underfull \vbox (badness 1558) has occurred while \output is active [113]

Underfull \vbox (badness 1558) has occurred while \output is active [117]

Underfull \vbox (badness 10000) has occurred while \output is active [123]

Underfull \vbox (badness 1558) has occurred while \output is active [137]

Underfull \vbox (badness 10000) has occurred while \output is active [149]

etc...

Comment réparer. J'ai mis "plein de \par pour voir et NADA.

Merci à tous.

Alain
Michel Bovani
2004-02-12 20:12:44 UTC
Permalink
Post by Alain Xicluna
J'ai trouvé des choses sur les horizontales
Underfull \hbox
J'ai copié collé et latté (viré ) ce qui est entre les messages "Underfull \vbox"
Underfull \vbox (badness 10000) has occurred while \output is active [67]
Underfull \vbox (badness 10000) has occurred while \output is active [71]
Underfull \vbox (badness 10000) has occurred while \output is active [75]
Underfull \vbox (badness 1558) has occurred while \output is active [93]
Underfull \vbox (badness 10000) has occurred while \output is active [95]
Underfull \vbox (badness 1558) has occurred while \output is active [113]
Underfull \vbox (badness 1558) has occurred while \output is active [117]
Underfull \vbox (badness 10000) has occurred while \output is active [123]
Underfull \vbox (badness 1558) has occurred while \output is active [137]
Underfull \vbox (badness 10000) has occurred while \output is active [149]
etc...
Comment réparer.
Ça veut dire que TeX est obligé de distendre les ressorts verticaux au delà
de ce qui est permis. Si c'est dans la page, ça va disparaître avec un
\raggedbottom
juste après le \begin{document}

C'est évidemment la plus mauvaise solution possible. Celle qui est bonne
pour l'algorithme (le principe "tout ce qui freine le bateau est bon pour le
spi !) et mauvaise pour la typo, mais ça permettra d'être sûr.
Post by Alain Xicluna
J'ai mis "plein de \par pour voir et NADA.
Merci à tous.
Alain
--
Michel Bovani
Alain Xicluna
2004-02-13 07:12:23 UTC
Permalink
Post by Michel Bovani
Post by Alain Xicluna
J'ai trouvé des choses sur les horizontales
Underfull \hbox
J'ai copié collé et latté (viré ) ce qui est entre les messages "Underfull \vbox"
Underfull \vbox (badness 10000) has occurred while \output is active [67]
Underfull \vbox (badness 10000) has occurred while \output is active [71]
Underfull \vbox (badness 10000) has occurred while \output is active [75]
Underfull \vbox (badness 1558) has occurred while \output is active [93]
Underfull \vbox (badness 10000) has occurred while \output is active [95]
Underfull \vbox (badness 1558) has occurred while \output is active [113]
Underfull \vbox (badness 1558) has occurred while \output is active [117]
Underfull \vbox (badness 10000) has occurred while \output is active [123]
Underfull \vbox (badness 1558) has occurred while \output is active [137]
Underfull \vbox (badness 10000) has occurred while \output is active [149]
etc...
Comment réparer.
Ça veut dire que TeX est obligé de distendre les ressorts verticaux au delà
de ce qui est permis. Si c'est dans la page, ça va disparaître avec un
\raggedbottom
juste après le \begin{document}
C'est évidemment la plus mauvaise solution possible. Celle qui est bonne
pour l'algorithme (le principe "tout ce qui freine le bateau est bon pour le
spi !)
Extrait du prologue: Je dois faire le récit de notre voyage, un voyage
maritime à bord d'une Petite et Moyenne Embarcation, une PME bien
balancée, un voyage de dix ans autour d'un monde, un voyage dans la
mer des affaires.[•••] Ce livre d'affaire sera d'abord un livre de mer
et de voyages.

Donc le spi qui tire parce que ma typo freine, est une bonne image.


et mauvaise pour la typo, mais ça permettra d'être sûr.

Ben ça marche, je n'ai plus les messages d'ereur. Je n'ai pas encore
vu le résultat imprimé. Mais pour corriger au fond, car si je me
gkgkgkgkg la vie avec Tex, c'est pour que ce soit beau et bon. Que
faire chapitre par chapitre sur ces overfull?

Merci encore Michel.

Quand aux \\; quelle horreur, j'ai tout viré à la main et je confirme
qu'il génrent des centaines d'overfull hbox.
Post by Michel Bovani
Post by Alain Xicluna
J'ai mis "plein de \par pour voir et NADA.
Merci à tous.
Alain
Michel Bovani
2004-02-13 14:40:42 UTC
Permalink
Post by Alain Xicluna
Post by Michel Bovani
Post by Alain Xicluna
J'ai trouvé des choses sur les horizontales
Underfull \hbox
J'ai copié collé et latté (viré ) ce qui est entre les messages "Underfull \vbox"
Underfull \vbox (badness 10000) has occurred while \output is active [67]
Underfull \vbox (badness 10000) has occurred while \output is active [71]
Underfull \vbox (badness 10000) has occurred while \output is active [75]
Underfull \vbox (badness 1558) has occurred while \output is active [93]
Underfull \vbox (badness 10000) has occurred while \output is active [95]
Underfull \vbox (badness 1558) has occurred while \output is active [113]
Underfull \vbox (badness 1558) has occurred while \output is active [117]
Underfull \vbox (badness 10000) has occurred while \output is active [123]
Underfull \vbox (badness 1558) has occurred while \output is active [137]
Underfull \vbox (badness 10000) has occurred while \output is active [149]
etc...
Comment réparer.
Ça veut dire que TeX est obligé de distendre les ressorts verticaux au delà
de ce qui est permis. Si c'est dans la page, ça va disparaître avec un
\raggedbottom
juste après le \begin{document}
C'est évidemment la plus mauvaise solution possible. Celle qui est bonne
pour l'algorithme (le principe "tout ce qui freine le bateau est bon pour le
spi !)
Extrait du prologue: Je dois faire le récit de notre voyage, un voyage
maritime à bord d'une Petite et Moyenne Embarcation, une PME bien
balancée, un voyage de dix ans autour d'un monde, un voyage dans la
mer des affaires.[•••] Ce livre d'affaire sera d'abord un livre de mer
et de voyages.
Donc le spi qui tire parce que ma typo freine, est une bonne image.
et mauvaise pour la typo, mais ça permettra d'être sûr.
Ben ça marche, je n'ai plus les messages d'ereur. Je n'ai pas encore
vu le résultat imprimé. Mais pour corriger au fond, car si je me
gkgkgkgkg la vie avec Tex, c'est pour que ce soit beau et bon. Que
faire chapitre par chapitre sur ces overfull?
Par défaut dans la classe book, on est en flushbottom, ça veut dire que TeX
va tout faire pour remplir l'empagement (verticalement).

Supposons que l'empagement mesure 17 cm (\textheight=17cm)

et que l'on ait

<un paragraphe de 5,4cm>
\par
<un paragraphe de 4,5cm>
\par
<un paragraphe de 4,5cm>
\par
<un objet encadré de 6cm (\fbox par ex.)

tout ça ne tien pas, donc l'objet va être rejeté à la page et TeX va tenter
d'étaler les trois paragraphes de 14,4cm à 17 cm soit 2,6cm à gagner.

Si l'on a le parskip standard 0pt plus 1pt de glu

1 : en mode raggedbottom il peut suivant les cas ditendre chaque saut de
paragraphe, mais de 1pt et ça s'arrête là. Reste pas mal de blanc en bas
évidemment.

2 : en mode flushbottom, il distend la glu jusqu'à remplir la page ce qui
fait pas mal de blanc entre les paragraphes, et il n'est pas bien content de
lui puisque il a outrepassé les doits qu'il avait. Il prévient donc en
hurlant \underfull vbox !

Sur le fond, ni 1 ni 2 ne sont satisfaisant évidemment, mais on constatera
vite que sans toucher à la répartition il n'y a pas de solution
satisfaisante...


Des underfullvbox à chaque page signifient en général que le textheight
n'est pas égal à un nombre entier de lignes. C'est aggravé par l'absence de
glu dans la parskip évidemment.

Des underfullhbow fréquents signifient que l'on a imposé des contraintes
très fortes genre \widowpenalty=10000 ce qui oblige TeX à rejeter une ligne
au dernir moment.


Exemple

\documentclass[a4paper]{book}
\raggedbottom
\begin{document}
bla bla bla
\par
bla bla bla
\par
bla bla bla
\par
bla bla bla
\par
bla bla bla
\par
\rule{1pt}{19cm}
\end{document}

Puis recommencer e commentant le \raggedbottom
Post by Alain Xicluna
Merci encore Michel.
Quand aux \\; quelle horreur, j'ai tout viré à la main et je confirme
qu'il génrent des centaines d'overfull hbox.
Post by Michel Bovani
Post by Alain Xicluna
J'ai mis "plein de \par pour voir et NADA.
Merci à tous.
Alain
--
Michel Bovani
François Patte
2004-02-13 15:42:56 UTC
Permalink
Post by Michel Bovani
Post by Alain Xicluna
J'ai trouvé des choses sur les horizontales
Underfull \hbox
J'ai copié collé et latté (viré ) ce qui est entre les messages "Underfull \vbox"
Underfull \vbox (badness 10000) has occurred while \output is active [67]
etc...
Comment réparer.
Ça veut dire que TeX est obligé de distendre les ressorts verticaux au delà
de ce qui est permis. Si c'est dans la page, ça va disparaître avec un
\raggedbottom
juste après le \begin{document}
C'est évidemment la plus mauvaise solution possible. Celle qui est bonne
pour l'algorithme (le principe "tout ce qui freine le bateau est bon pour le
spi !) et mauvaise pour la typo, mais ça permettra d'être sûr.
Oui! mais quand on veut faire de la belle ouvrage avec des pages
toutes de la même taille, je n'ai pas trouvé d'autres solutions que le
travail à la main et on y arrive! Je ne suis pas le seul, semble-t-il,
si on regarde la dernière page du LaTeX companion, les statistiques,
on comprend qu'ils ont dû aussi couper certaines pages à la main!

si quelqu'un a une solution plus fine.... je suis aussi preneur!
Post by Michel Bovani
Post by Alain Xicluna
J'ai mis "plein de \par pour voir et NADA.
les \par ça n'arrange rien, au contraire! un double saut de ligne dans
le source vaut mieux

François Patte

Loading...