Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
3_composition:texte:pages:forcer_ou_empecher_un_saut_de_page [2016/10/16 09:48] jejust |
3_composition:texte:pages:forcer_ou_empecher_un_saut_de_page [2021/02/16 22:51] jejust Correction mineure. |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | \question{Comment modifier un changement de page ?} | + | ====== Comment modifier un changement de page? ====== |
- | \label{qu=forcersautpage} | + | |
- | \reponse \cmd{newpage} impose un changement brutal de page. | ||
- | \reponse \cmd{pagebreak}\oarg{n} où \targ{n} représente l'autorité avec | + | $\Reponse$ ''\newpage'' impose un changement brutal de page. Ce n'est |
- | laquelle on veut changer de page (\targ{n} compris entre 1 et 4). Cette | + | généralement pas ce que vous voulez. Regardez les commandes suivantes. |
- | commande garde la justification, 1 impose une contrainte faible, 4 impose une | + | |
- | contrainte sévère. La valeur par défaut est 4. | + | |
- | \reponse \cmd{nopagebreak}\oarg{n} idem pour empêcher une coupure de page. | ||
- | \reponse \cmd{clearpage} termine la page en cours, tout comme \cmd{newpage}, | + | $\Reponse$ ''\pagebreak[<//n//>]'' où ''//n//'' représente l'autorité avec |
+ | laquelle on veut changer de page. Ce paramètre est compris entre 1 et 4: | ||
+ | * ''1'' impose une contrainte faible (« <latex>\textit{\LaTeX}</latex>//, si tu le souhaites, tu peux insérer un saut de page ici.// ») ; | ||
+ | * ''4'' impose une contrainte sévère (« <latex>\textit{\LaTeX}</latex>//, je t'ordonne d'insérer un saut de page ici!// »). | ||
+ | Cette commande respecte la justification. | ||
+ | |||
+ | |||
+ | $\Reponse$ ''\nopagebreak[n]'' idem pour empêcher une coupure de page. | ||
+ | |||
+ | |||
+ | $\Reponse$ ''\clearpage'' termine la page en cours, tout comme ''\newpage'', | ||
mais fait en sorte de placer tous les flottants qui seraient encore en | mais fait en sorte de placer tous les flottants qui seraient encore en | ||
attente, avant de commencer une nouvelle page. Cette commande est utilisée, | attente, avant de commencer une nouvelle page. Cette commande est utilisée, | ||
par exemple, en fin de chapitre. | par exemple, en fin de chapitre. | ||
- | \reponse \cmd{cleardoublepage} fait la même chose et force un redémarrage | ||
- | sur une page impaire. | ||
- | \reponse \cmd{enlargethispage}\marg{lgr} impose à \LaTeXe de comprimer (lgr | + | $\Reponse$ ''\cleardoublepage'' fait la même chose mais force en plus un redémarrage |
- | négatif) ou d'étirer (lgr positif) le contenu d'une page. | + | sur une page impaire, en laissant éventuellement une page blanche. Cela permet |
- | Ceci pour éviter que la page suivante contienne trop peu de | + | de reprendre le texte sur une page de droite, ce qui est encore plus utilisé |
- | texte. | + | en fin de chapitre dans les belles éditions. |
+ | |||
+ | |||
+ | $\Reponse$ ''\enlargethispage{<//longueur//>}'' impose à <latex>\LaTeXe</latex> de comprimer | ||
+ | (//longueur// négative) ou d'étirer (//longueur// positive) la hauteur du contenu de la page. | ||
+ | Ceci peut être utile pour éviter que la page suivante ne contienne trop peu de texte. | ||
Par exemple: | Par exemple: | ||
- | \begin{noexemple} | + | |
+ | <code latex> | ||
% ajoute un cm | % ajoute un cm | ||
\enlargethispage{1cm} | \enlargethispage{1cm} | ||
% supprime deux lignes dans la page | % supprime deux lignes dans la page | ||
\enlargethispage{-2\baselineskip} | \enlargethispage{-2\baselineskip} | ||
- | \end{noexemple} | + | </code> |
- | \begin{Rq} | ||
- | \cmd{enlargethispage*}\marg{lgr} donne une autorité plus grande | ||
- | à la commande \cmd{enlargethispage} en l'obligeant à agir | ||
- | sur les espacements élastiques verticaux contenus | ||
- | dans la page courante. | ||
- | \end{Rq} | ||
- | \reponse Le fichier \fichier{block.sty} (source~\vref{block-sty}), | + | |
- | de \nom{J.P.}{Drucbert}, bricolé à partir de macros de diverses | + | <note> |
- | origines (dont \nom{D.}{Arseneau}), permet certains contrôles. | + | ''\enlargethispage*{<//lgr//>}'' donne une autorité plus grande à la commande ''\enlargethispage'' |
+ | en l'obligeant à agir sur les espacements élastiques verticaux contenus dans la page courante. | ||
+ | </note> | ||
+ | |||
+ | |||
+ | |||
+ | $\Reponse$ Le fichier ''block.sty'', de Jean-Pierre F. Drucbert, | ||
+ | bricolé à partir de macros de diverses origines (dont Donald Arseneau), | ||
+ | permet certains contrôles. | ||
Ce n'est pas parfait, mais cela a rendu service par le passé. | Ce n'est pas parfait, mais cela a rendu service par le passé. | ||
- | \begin{file}{block.sty}{block-sty} | + | <file latex block.sty> |
\ifx\endBlock\undefined | \ifx\endBlock\undefined | ||
\def\block{\begingroup% | \def\block{\begingroup% | ||
Ligne 78: | Ligne 89: | ||
\typeout{block.sty already loaded} | \typeout{block.sty already loaded} | ||
\fi | \fi | ||
- | \end{file} | + | </file> |
Vous pouvez protéger une zone contre la rupture de page. Il | Vous pouvez protéger une zone contre la rupture de page. Il | ||
suffit pour cela de la placer dans un environnement | suffit pour cela de la placer dans un environnement | ||
- | \env{Block} ou dans un environnement \env{IBlock}. Dans le | + | ''Block'' ou dans un environnement ''IBlock''. Dans le |
- | premier cas (\env{Block}), le premier paragraphe se trouvant | + | premier cas (''Block''), le premier paragraphe se trouvant |
dans la zone n'aura pas de retrait d'alinéa en première ligne, | dans la zone n'aura pas de retrait d'alinéa en première ligne, | ||
- | mais dans le second cas (\env{IBlock}), tous les paragraphes | + | mais dans le second cas (''IBlock''), tous les paragraphes |
(même le premier) auront un retrait d'alinéa. | (même le premier) auront un retrait d'alinéa. | ||
Ceci est utile en particulier pour | Ceci est utile en particulier pour | ||
éviter de séparer un texte et un exemple qui l'accompagne. Les blocs ainsi | éviter de séparer un texte et un exemple qui l'accompagne. Les blocs ainsi | ||
protégés doivent, bien entendu, rester assez petits. La syntaxe | protégés doivent, bien entendu, rester assez petits. La syntaxe | ||
- | est (vous pouvez remplacer \env{Block} par \env{IBlock}): | + | est (vous pouvez remplacer ''Block'' par ''IBlock''): |
- | \begin{noexemple} | + | |
+ | <code latex> | ||
\begin{Block} | \begin{Block} | ||
... | ... | ||
Ligne 97: | Ligne 110: | ||
... | ... | ||
\end{Block} | \end{Block} | ||
- | \end{noexemple} | + | </code> |
Cette méthode, très simple, a l'inconvénient de ne pas pouvoir | Cette méthode, très simple, a l'inconvénient de ne pas pouvoir | ||
s'appliquer lorsque la zone à protéger doit contenir une | s'appliquer lorsque la zone à protéger doit contenir une | ||
commande de sectionnement (c'est-à-dire du même type que | commande de sectionnement (c'est-à-dire du même type que | ||
- | \cmd{section}), une note en bas de page, une note marginale ou | + | ''section''), une note en bas de page, une note marginale ou |
un corps mobile (figure ou table). Dans ce cas, il faudra | un corps mobile (figure ou table). Dans ce cas, il faudra | ||
utiliser une des commandes du paragraphe suivant. | utiliser une des commandes du paragraphe suivant. | ||
Ligne 109: | Ligne 123: | ||
document est sur deux colonnes) s'il ne reste pas verticalement assez | document est sur deux colonnes) s'il ne reste pas verticalement assez | ||
de place sur la page. Deux commandes de réservation verticale sont | de place sur la page. Deux commandes de réservation verticale sont | ||
- | disponibles: \cmd{need}\marg{dimension}, dont le paramètre est une | + | disponibles: ''\need{<//dimension//>}'', dont le paramètre est une |
- | longueur, et \cmd{lneed}\marg{nombre}, dont le paramètre est | + | longueur, et ''\lneed{<//nombre//>}'', dont le paramètre est |
- | le nombre de lignes équivalent à l'espace vertical demandé (avec cette forme | + | le nombre de lignes équivalent à l'espace vertical demandé (avec cette |
- | le paramètre est plus facile à estimer). | + | forme le paramètre est plus facile à estimer). |
- | \reponse Le package \pack{needspace} permet de réserver de l'espace en bas de | + | |
- | page. S'il n'y a pas assez de place dans le restant de la page, une nouvelle | + | $\Reponse$ Le package [[ctanpkg>needspace]] permet de réserver de l'espace en bas de |
- | est commencée. Par exemple : | + | page. S'il n'y a pas assez de place dans le restant de la page, une nouvelle est commencée. |
- | \begin{noexemple} | + | Par exemple : |
- | ... paragraphe d'avant.\par | + | |
+ | <code latex> | ||
+ | ... paragraphe précédent.\par | ||
\needspace{5\baselineskip} | \needspace{5\baselineskip} | ||
% les 5 lignes suivantes seront sur une | % les 5 lignes suivantes seront sur une | ||
% même page / colonne | % même page / colonne | ||
Les cinq lignes suivantes vont parler de... | Les cinq lignes suivantes vont parler de... | ||
- | \end{noexemple} | + | </code> |
- | \reponse Pour éviter les coupures de page (ou les coupures de colonnes | + | |
- | avec le package \pack{multicol}) à l'intérieur des \cmd{item} dans une | + | |
+ | $\Reponse$ Pour éviter les coupures de page (ou les coupures de colonnes | ||
+ | avec le package [[ctanpkg>multicol]]) à l'intérieur des ''\item'' dans une | ||
description (et d'ailleurs dans toute liste), solution simple sortie du | description (et d'ailleurs dans toute liste), solution simple sortie du | ||
- | \TeX{}book: | + | <latex>\TeX</latex> book : |
- | \begin{noexemple} | + | |
+ | <code latex> | ||
\begin{description}\interlinepenalty 10000 | \begin{description}\interlinepenalty 10000 | ||
- | \end{noexemple} | + | </code> |
+ | |||
+ | |||
+ | |||
+ | $\Reponse$ Lorsque l'on veut éviter qu'une liste à puces ou un paragraphe ne | ||
+ | soit coupé par un changement de page, il suffit d'utiliser la commande ''\samepage''. | ||
+ | |||
+ | ------ | ||
+ | //Source:// | ||
+ | * [[https://tex.stackexchange.com/questions/45609/is-it-wrong-to-use-clearpage-instead-of-newpage|Is it wrong to use \clearpage instead of \newpage?]] | ||
- | \reponse Lorsque l'on veut éviter qu'une liste à puces ou un paragraphe ne | + | {{htmlmetatags>metatag-keywords=(LaTeX,saut de page,nouvelle page,fin de chapitre,laisser une page blanche,sauter une page) |
- | soit coupé par un changement de page, il suffit d'utiliser la commande | + | metatag-og:title=(Comment modifier un changement de page?) |
- | \cmd{samepage}. | + | metatag-og:site_name=(FAQ LaTeX francophone) |
+ | }} | ||
- | \endinput |