--- myst: html_meta: keywords: LaTeX, composition, texte, pages, marges, geometry, vmargin, chngpage, truncate, typearea, narrow --- # Comment modifier les marges d'un document ? Changer la mise en page d'un document implique de tenir compte de nombreuses subtilités peu évidentes pour un débutant. Il existe en effet des interactions entre : - les contraintes fondamentales de TeX ; - les contraintes liées à la conception de LaTeX ; - et les bonnes pratiques de composition et de conception. Ceci signifie que tout changement doit être très attentivement considéré, pour s'assurer d'une part qu'il fonctionne et d'autre part que le résultat est visuellement satisfaisant. Si, pour un débutant, les valeurs par défaut de LaTeX semblent parfois excessivement conservatrices, il y a de bonnes raisons derrière ces réglages. Même Leslie Lamport, dans son livre [LaTeX, a Document Preparation System](/1_generalites/documentation/livres/documents_sur_latex), suggère d'éviter de toucher à ces réglages. Et à ceux qui voudraient tout de même faire des modifications, il ajoute : "tout ce que je peux faire ici est de vous mettre en garde contre l'erreur très courante de créer des lignes trop larges pour être lues facilement --- une erreur que vous ne ferez pas si vous suivez cette suggestion : utilisez des lignes qui ne contiennent pas plus de 75 caractères, y compris la ponctuation et les espaces.". Cette FAQ vous recommande d'utiliser une extension pour établir des jeux de paramètres cohérents car chaque extension prend en charge les interrelations sans que vous *ayez* besoin d'y penser. Ces extensions, présentées ci-après, sont aussi évoquées à la question "[](/3_composition/texte/pages/packages_pour_modifier_les_marges_d_un_document)". Rappelez-vous cependant que les extensions fournissent des mécanismes cohérents et fonctionnels : elles n'analysent jamais la qualité typographique de ce que vous faites. Si votre besoin de changement de présentation est propre à une seule partie de votre document, vous pouvez vous tourner vers la question "[](/3_composition/texte/pages/modifier_les_marges_en_cours_de_document)". ## Avec l'extension L'extension permet de redéfinir les marges d'un document ou de définir la mise en page. Plusieurs possibilités existent : ```{noedit} \geometry{margin=5pt} équivalent à \geometry{hmargin=5pt, vmargin=5pt} équivalent à \geometry{margin={5pt,5pt}} ``` Les deux exemples ci-dessous permettent de voir l'effet de l'option `nohead`, qui supprime l'en-tête d'un document. Voici donc l'utilisation de avec l'option `nohead` : ``` \documentclass[french]{article} \usepackage{lmodern} % Caractères plus lisibles \usepackage{babel} % Réglages linguistiques (avec french) \usepackage{lipsum} % Du faux texte \usepackage{geometry} \geometry{scale=1.0, nohead} \begin{document} \lipsum[1-5] \end{document} ``` Et voici, pour comparaison, une page non modifiée : ``` \documentclass[french]{article} \usepackage{lmodern} % Caractères plus lisibles \usepackage{babel} % Réglages linguistiques (avec french) \usepackage{lipsum} % Du faux texte \begin{document} \lipsum[1-5] \end{document} ``` ## Avec l'extension L'extension de Volker Kuhlmann, datant de 2004, permet de redéfinir les marges de la totalité du document grâce la commande : `\setmarginsrb{1}{2}{3}{4}{5}{6}{7}{8}` où - `1` est la marge gauche ; - `2` est la marge en haut ; - `3` est la marge droite ; - `4` est la marge en bas ; - `5` fixe la hauteur de l'en-tête ; - `6` fixe la distance entre l'en-tête et le texte ; - `7` fixe la hauteur du pied de page ; - `8` fixe la distance entre le texte et le pied de page. Vous pouvez également utiliser des valeurs calculées à partir du papier utilisé, comme par exemple : `\setpapersize{A4}` ``` \documentclass[french]{article} \usepackage{lmodern} % Caractères plus lisibles \usepackage{babel} % Réglages linguistiques (avec french) \usepackage{lipsum} % Du faux texte \usepackage{vmargin} \setpapersize{A4} \setmarginsrb{40mm}{30mm}{70mm}{30mm}{0cm}{0mm}{0cm}{0mm} \begin{document} \lipsum[1-5] \end{document} ``` ## Avec l'extension L'extension appartient à l'ensemble . Elle se base sur des principes de construction issus de techniques typographiques utilisant des grilles. Elle présente, en conséquence, une syntaxe assez différente de celle des autres extensions. La page est analysée : - en tenant compte d'une marge de reliure, `BCOR`, retranchée de la page car ne pouvant contenir de texte ; - en scindant la page restante en `DIV` rangées de même taille et `DIV` colonnes de même taille ; Puis les marges (et donc la zone de texte) sont définies ainsi : - la première rangée sert pour la marge de haut de page tandis que les deux dernières rangées servent de marge de bas de page ; - la marge intérieure (proche de la reluire) est constituée d'une colonne et la marge extérieure de deux colonnes (pour les documents recto-verso). En voici un exemple d'utilisation : ``` \documentclass[twoside,BCOR=40mm,DIV=12]{article} \usepackage{lmodern} % Caractères plus lisibles \usepackage{babel} % Réglages linguistiques (avec french) \usepackage{lipsum} % Du faux texte \usepackage{typearea} \begin{document} \lipsum[1-8] \end{document} ``` La [documentation de l'extension](texdoc:koma-script) précise amplement les possibilités de construction de la page et de ses marges, afin de mieux adapter cette technique, par exemple, selon la taille des caractères. ## Avec l'extension :::{todo} Remplacer par ::: :::{warning} L’extension est classée comme [obsolète](/1_generalites/histoire/liste_des_packages_obsoletes). Ce qui suit est informatif. L'extension doit être utilisée pour la remplacer pour tout nouveau document. ::: L'environnement `adjustwidth` de l'extension permet de modifier localement les marges d'un document. Il prend deux arguments : la marge gauche et la marge droite (ces arguments peuvent prendre des valeurs négatives). En voici un exemple : ``` \documentclass[french]{article} \usepackage{lmodern} % Caractères plus lisibles \usepackage{babel} % Réglages linguistiques (avec french) \usepackage{chngpage} \begin{document} \begin{adjustwidth}{2cm}{-1cm} Ceci permet d'augmenter la marge gauche de 2cm et de diminuer celle de droite de 1cm. \end{adjustwidth} À comparer avec un texte qui occupe toute la largeur de la page, comme celui-ci par exemple. \end{document} ``` L'environnement `narrow`, de Keith Reckdahl, se concentre sur une fonctionnalité tout à fait similaire. Une copie de cette extension `narrow` (sans numéro de version) est mise à disposition [ici](/_static/old_extensions/narrow.sty), son code contenant une très courte documentation. La voici réutilisée en reportant son code dans notre exemple : ``` \documentclass[french]{article} \usepackage{lmodern} % Caractères plus lisibles \usepackage{babel} % Réglages linguistiques (avec french) \usepackage{lipsum} % Du faux texte % Le code de l'extension narrow \newenvironment{narrow}[2]{% \begin{list}{}{% \setlength{\topsep}{0pt}% \setlength{\leftmargin}{#1}% \setlength{\rightmargin}{#2}% \setlength{\listparindent}{\parindent}% \setlength{\itemindent}{\parindent}% \setlength{\parsep}{\parskip}% }% \item[]}{\end{list}} \begin{document} \begin{narrow}{1.0cm}{0.5cm} \lipsum[1-5] \end{narrow} \end{document} ``` ## Avec les commandes de base Si vous préférez une intervention plus directe, vous pouvez vous tourner vers la question "[](/3_composition/texte/pages/modifier_les_parametres_de_page)". :::{sources} [Changing the margins in LaTeX](faquk:FAQ-changemargin) :::