Cette page explique comment définir le format de papier, les marges et la zone où le texte est composé. En bref, il vaut bien mieux utiliser le paquet geometry que calculer les longueurs soi-même : c’est plus simple et plus sûr. Nous partons de geometry, puis examinons les longueurs LaTeX qu’il règle en arrière-plan et l’effet du recto seul ou recto-verso sur les marges.
La méthode recommandée : le paquet geometry
geometry est le paquet standard pour définir ensemble format de papier et marges (Hideo Umeki ; maintenant maintenu par le LaTeX Project et David Carlisle). Il connaît tous les formats standards, donc il est rare d’écrire les dimensions soi-même : une ligne suffit souvent. Deux formes équivalentes existent : options de \usepackage ou commande \geometry{...}.
% どちらか一方でよい(両方同じ意味)
\usepackage[a4paper, margin=1in]{geometry}
% または
\usepackage{geometry}
\geometry{a4paper, margin=1in}Cela donne déjà du papier A4 avec une marge de 1 pouce sur les quatre côtés. \geometry peut être appelé plusieurs fois dans le préambule ; un réglage ultérieur de la même clé remplace le précédent. L’ordre des options n’a pas d’importance ([left=2cm, right=3cm] équivaut à [right=3cm, left=2cm]).
Le format de papier se choisit par nom : a4paper, letterpaper, b5paper, a5paper, ainsi que A0–A6, B0–B6, legalpaper, executivepaper, etc. Pour un format personnalisé, utilisez paperwidth= et paperheight= (ou papersize={largeur,hauteur}). Pour l’orientation paysage, ajoutez landscape, ce qui échange largeur et hauteur.
Principales clés de geometry
geometry possède deux familles de clés : celles qui définissent les marges et celles qui définissent la taille de la zone de texte. Fixer l’une permet de calculer l’autre à partir du papier. Voici les plus courantes.
| Option | Sens |
|---|---|
margin= | Toutes les marges à la fois ; margin={A,B} signifie gauche/droite = A, haut/bas = B |
left= / right= / top= / bottom= | Chaque marge séparément (lmargin/rmargin/tmargin/bmargin sont des alias) |
inner= / outer= | Marges intérieure/extérieure en recto-verso ; alias de left/right |
hmargin= / vmargin= | hmargin={gauche,droite} (marges latérales), vmargin={haut,bas} |
textwidth= / textheight= | Définir directement largeur/hauteur de la zone de texte (width/height sont proches) |
total={幅,高さ} | Taille de tout le bloc de corps (en-tête/pied inclus selon les clés include) |
bindingoffset= | Décalage de reliure ; ajoute cette longueur à la marge intérieure (ou gauche en recto seul) |
includehead / includefoot | Inclure en-tête (\headheight+\headsep) / pied (\footskip) dans la hauteur du corps |
landscape | Orientation paysage ; échange largeur et hauteur |
Attention : dans geometry, top= / bottom= désignent la marge entre le bord du papier et le haut/bas du bloc de corps, et non la longueur native LaTeX \topmargin décrite plus bas. geometry convertit correctement vers les longueurs natives ; vous pouvez donc raisonner simplement en « distance depuis le bord ».
Un exemple complet
Un réglage courant pour un article — A4, marges latérales 25 mm, haut/bas 30 mm, reliure 5 mm, en-tête inclus dans la hauteur — s’écrit ainsi. Si vous ne donnez pas largeur et hauteur de zone de texte, elles sont déduites automatiquement du papier et des marges.
\documentclass{article}
\usepackage{geometry}
\geometry{
a4paper,
hmargin=25mm, % 左右の余白
vmargin=30mm, % 上下の余白
bindingoffset=5mm, % 綴じ代(内側に追加)
includehead, % ヘッダを版面の高さに含める
}
\begin{document}
本文がこの版面に組まれます。
\end{document}Pour fixer plutôt la taille de la zone de texte, donnez textwidth= ou total= au lieu des marges. Par exemple, \geometry{a4paper, textwidth=15cm, textheight=24cm} place une zone de cette taille au centre de la page, avec marges latérales et haut/bas équilibrées automatiquement (centrage horizontal par défaut en recto seul).
Les longueurs LaTeX sous-jacentes
geometry est pratique précisément parce qu’il règle de façon cohérente, à votre place, les paramètres de longueur de mise en page que LaTeX porte réellement en interne. Les principaux sont :
| Paramètre | Sens |
|---|---|
\textwidth | Largeur du corps (zone de texte) |
\textheight | Hauteur du corps (zone de texte) |
\oddsidemargin | Décalage de marge gauche sur pages impaires (toutes en recto seul), mesuré depuis l’origine |
\evensidemargin | Décalage de marge gauche sur pages paires en recto-verso |
\topmargin | Distance de l’origine (1 pouce du haut) au haut de l’en-tête |
\headheight | Hauteur de la boîte contenant l’en-tête |
\headsep | Espace entre l’en-tête et le haut du corps |
\footskip | Distance de ligne de base entre dernière ligne du texte et pied |
\marginparwidth | Largeur des notes marginales |
\paperwidth / \paperheight | Dimensions physiques du papier |
Le point subtil est que \oddsidemargin et \topmargin sont mesurés comme un décalage depuis un point situé à un pouce du coin supérieur gauche du papier (l’origine). La marge gauche réelle vaut donc « 1 pouce + \oddsidemargin ». Ce décalage d’un pouce est une convention historique de TeX ; régler ces longueurs à la main avec \setlength impose de recalculer les relations entre zone de texte et marges, ce qui crée facilement des incohérences.
% 手で合わせる古典的なやり方(誤りやすい)
\setlength{\oddsidemargin}{0pt} % 実際の左余白 = 1in + 0pt
\setlength{\textwidth}{16cm}
\setlength{\topmargin}{0pt}
\setlength{\textheight}{24cm}
% → 右余白・下余白は自分で辻褄を合わせる必要があるPour ces raisons, il est fortement recommandé de laisser geometry gérer les marges. Pour voir les valeurs courantes, la commande \layout du paquet layout produit une page de schéma visualisant ces paramètres.
\usepackage{layout}
% ...本文中で
\layout % 現在のページレイアウトを図で出力Recto seul et recto-verso (oneside / twoside)
Le comportement des marges latérales dépend du mode recto seul (oneside) ou recto-verso (twoside). article est recto seul par défaut, book recto-verso. En recto seul, toutes les pages ont les mêmes marges (seul \oddsidemargin est utilisé). En recto-verso, pour aligner les marges intérieures côté reliure, les marges gauche et droite sont échangées entre pages impaires et paires : impaires avec \oddsidemargin, paires avec \evensidemargin.
En recto-verso, on donne souvent une marge intérieure (côté reliure) plus large que l’extérieure. Avec geometry, activez twoside, définissez inner= / outer=, et ajoutez éventuellement bindingoffset= côté intérieur. twoside peut être passé comme option de classe ou directement à geometry.
\documentclass[twoside]{book}
\usepackage{geometry}
\geometry{
a4paper,
inner=30mm, % 綴じ側(内側)は広めに
outer=20mm, % 小口(外側)は狭めに
bindingoffset=5mm, % 綴じ代をさらに内側へ追加
}
\begin{document}
% 奇数ページと偶数ページで内外の余白が入れ替わる
\end{document}Si vous voulez un recto-verso dont les marges ne sont *pas* échangées (notes marginales toujours du même côté), utilisez l’option asymmetric de geometry.
Changer la mise en page en cours de document
Pour changer les marges de quelques pages seulement — page large pour un tableau en paysage, mise en page différente pour une annexe — appelez \newgeometry{...} dans le corps, puis \restoregeometry pour revenir au réglage du préambule. \newgeometry réinitialise les options geometry précédentes sauf celles liées au papier, puis applique seulement celles fournies. Les deux commandes insèrent automatiquement \clearpage, donc le changement ne se produit jamais en milieu de page.
% プリアンブルの余白で組まれている途中で…
\newgeometry{margin=1cm} % ここから余白を狭く(改ページが入る)
% 広い版面が必要なページ(大きな図表など)
\restoregeometry % 元のレイアウトに戻す(再び改ページ)Pour insérer une seule page en paysage, combinez \newgeometry{landscape, ...} ou utilisez l’environnement landscape des paquets spécialisés lscape / pdflscape. Si vous voulez styliser les titres ou l’en-tête/pied plutôt que changer la géométrie de page, utilisez les paquets titlesec et fancyhdr.