====== Comment modifier des marges en cours de document? ======

L'une des surprises caractéristiques de l'utilisation de <latex>\TeX</latex> est que
vous ne pouvez pas changer la largeur ou la longueur de la zone du texte dans le document,
même en modifiant directement les paramètres de taille du texte.
<latex>\TeX</latex> ne peut pas changer la largeur du texte à la volée,
et <latex>\LaTeX</latex> ne regarde la hauteur du texte qu'au début
de la construction d'une nouvelle page.
La règle est donc que les paramètres ne doivent être modifiés
que dans le préambule du document, c'est-à-dire avant l'instruction ''\begin{document}'',
avant toute composition.
Voici comment contourner cette règle.

===== Modification de la largeur de la page =====

==== Avec des commandes de base ====

Pour ajuster la largeur du texte en cours de document, la méthode suivante passe par un environnement : 

<code latex>
\newenvironment{changemargin}[2]{%
  \begin{list}{}{%
    \setlength{\topsep}{0pt}%
    \setlength{\leftmargin}{#1}%
    \setlength{\rightmargin}{#2}%
    \setlength{\listparindent}{\parindent}%
    \setlength{\itemindent}{\parindent}%
    \setlength{\parsep}{\parskip}%
  }%
  \item[]}{\end{list}}
</code>

L'environnement prend deux arguments et indente les marges gauche et droite des valeurs de ces paramètres. Les valeurs négatives réduiront les marges et l'exemple suivant rétrécit les marges gauche et droite de 1 centimètre :

<code latex>
\begin{changemargin}{-1cm}{-1cm}
...
\end{changemargin}
</code>

Cette solution marche car l'environnement (qui est proche de l'environnement <latex>\LaTeX</latex> ''quote'') //ne change pas la largeur du texte//, ce qui évite tout problème avec  <latex>\TeX</latex>. L'environnement déplace simplement le texte à l'intérieur de la largeur que <latex>\TeX</latex> connait. 

==== Avec l'extension “changepage” ====

L'extension [[ctanpkg>changepage]] fournit des commandes prêtes à l'emploi pour faire ce qui précède. Elle inclut des réglages changeant les décalages appliqués à votre texte en fonction de sa disposition sur une page au recto ou au verso. La structure de [[ctanpkg>changepage|changepage]] correspond à celle de la classe [[ctanpkg>memoir|memoir]].

==== Avec l'extension “chngpage” ====

:!: L’extension [[ctanpkg>chngpage]] est classée comme [[https://www.latex-fr.net/1_generalites/histoire/liste_des_packages_obsoletes|obsolète]]. Ce qui suit est informatif.

L'extension plus ancienne [[ctanpkg>chngpage]] fournit les mêmes fonctionnalités, mais elle utilise une syntaxe assez différente. L'extension [[ctanpkg>changepage]] doit être utilisée pour la remplacer pour tout nouveau document.

===== Modification de la longueur de la page =====

==== Avec des commandes de base ====

Changer les dimensions verticales d'une page est assez simple : la commande <latex>\LaTeX</latex> ''\enlargethispage'' ajuste la taille de la page courante en fonction de son argument. Voici un exemple courant augmentant la longueur de la page de la hauteur d'un ligne de texte :

<code latex>
\enlargethispage{\baselineskip}
</code>

Et voici l'opération opposée, réduisant la longueur de la page de la hauteur d'un ligne de texte :

<code latex>
\enlargethispage{-\baselineskip}
</code>

==== Avec l'extension “addlines” ====

Le processus est (dans une certaine mesure) simplifié par l'extension [[ctanpkg>addlines]] : sa commande ''\addlines'' prend comme argument le //nombre// de lignes à ajouter à la page (plutôt qu'une longueur) : la [[texdoc>addlines|documentation de l'extension]] présente une analyse du moment où la commande peut fonctionner ou pas. 

-----
//Source:// [[faquk>FAQ-chngmargonfly|Changing margins "on the fly"]]

{{htmlmetatags>metatag-keywords=(LaTeX,mise en page,changer la taille de marges,une page plus grande)
metatag-og:title=(Comment modifier des marges en cours de document)
metatag-og:site_name=(FAQ LaTeX francophone)
}}
