12.07.2015 Views

TEX pour l'Impatient - Apprendre en ligne.net

TEX pour l'Impatient - Apprendre en ligne.net

TEX pour l'Impatient - Apprendre en ligne.net

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

24 Sep 2004 2:48 p.m.<strong>TEX</strong> <strong>pour</strong> l’Impati<strong>en</strong>t N o 296274 Trucs et astuces \ §10Néanmoins ; si toutes les coupures de page que <strong>TEX</strong> peut trouversont infinim<strong>en</strong>t indésirables, il coupera la page dans le paragraphequand même.Une commande \nobreak (p. 142) après la fin d’un paragraphe empèche<strong>TEX</strong> de couper la page sur l’item suivant (a moins que cet itemprovoque un p<strong>en</strong>alty inférieur à 10000). C’ est aussi la meilleure façond’empêcher une coupure de page après une <strong>en</strong>tête, puisque une <strong>en</strong>têteréagit normalem<strong>en</strong>t comme un paragraphe. Le \nobreak doit suivre la<strong>ligne</strong> blanche ou le \par qui termine la paragraphe <strong>pour</strong> que <strong>TEX</strong> <strong>net</strong>raite pas le \nobreak comme faisant partie du paragraphe. Pour quele \nobreak soit effectif, il doit aussi être placé avant tout point decoupure légal à la fin du paragraphe. Le ressort que <strong>TEX</strong> insère avantle paragraphe suivant est comme un point de coupure, et ainsi <strong>pour</strong>tout ressort vertical que vous insérez explicitem<strong>en</strong>t après un paragraphe.Ainsi, le \nobreak doit normalem<strong>en</strong>t être la toute première chose aprèsla fin du paragraphe ou de l’<strong>en</strong>tête.Vous pouvez utiliser la commande \eject (p. 143) <strong>pour</strong> forcer <strong>TEX</strong>à couper une page à un <strong>en</strong>droit particulier. Dans un paragraphe, vouspouvez utiliser la combinaison ‘\vadjust{\vfill\eject}’ (p. 126) <strong>pour</strong>forcer une coupure après la prochaine <strong>ligne</strong> de sortie complète. La raisonde faire précéder \eject par \vfill (p. 163) est d’obliger <strong>TEX</strong> à remplirla page avec un espace blanc. De toute façon, utiliser \eject <strong>pour</strong>résoudre des problèmes de coupure de page a un désavantage majeur : siles frontières de page de votre docum<strong>en</strong>t chang<strong>en</strong>t, les coupures de pageque vous avez insérées peuv<strong>en</strong>t ne plus être là où vous les voulez.Si vous ne procurez pas à <strong>TEX</strong> une commande \vfill <strong>pour</strong> remplirla page après un \eject, <strong>TEX</strong> redistribue l’espace blanc excéd<strong>en</strong>taire lemieux qu’il peut et alors se plaint généralem<strong>en</strong>t d’un “underfull \vbox(badness 10000) has occurred while \output is active.” Vous pouvezr<strong>en</strong>contrer un problème similaire avec toutes les méthodes m<strong>en</strong>tionnéesci-dessus <strong>pour</strong> <strong>en</strong>glober du matériel que vous voulez garder lié.La commande \filbreak (p. 143) procure un moy<strong>en</strong> de garder les<strong>ligne</strong>s d’un ou plusieurs paragraphes (ou autre matériel de mode vertical)lié sur une page. Si vous <strong>en</strong>globez un paragraphe <strong>en</strong>tre \filbreak, <strong>TEX</strong>ignorera effectivem<strong>en</strong>t les \filbreak si le paragraphe débute sur la pagecourante et coupe la page avant le premier \filbreak si le paragraphe nedébute pas. Si vous mettez des \filbreak autour de chaque paragraphedans une séqu<strong>en</strong>ce de paragraphes, comme ceci :\filbreak〈paragraph〉\filbreak〈paragraph〉\filbreak.〈paragraph〉\filbreak

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!