3  La mise en page

3.1 Title page

Nous l’avons vu, il existe plusieurs classes de documents (article, report…).

Les métadonnées qui apparaissent sur le haut de la première page (pour la classe article) et sur la première page (pour les classes report et book) sont déclarées dans l’en-tête YAML.

Affichage des métadonnées YAML :
métadonnées article report book
title: oui oui oui
subtitle: oui oui oui
author: oui oui oui
date: oui oui oui
abstract: oui oui1 non
thanks2: oui oui oui

Les autres métadonnées (essentiellement Keywords, DOI et Right) sont enregistrées dans le document mais n’apparaissent pas sur la première page3.

3.2 Options de mise en page

Dans l’en-tête YAML, l’instruction geometry: permet de préciser le format de la page (A4paper par exemple) mais aussi les quatre marges (left, right, top et bottom : avec left=2.5cm par exemple) et la taille des notes dans la marge (marginpar=1.8cm par exemple).

Les autres options sont :

  • landscape (portrait par défaut) ;
  • onecolumn (par défaut) ;
  • twocolumn (réglage de la gouttière avec la macro \setlength{columnsep}{5cm} et de la ligne de séparation avec la macro \setlength{columnseprule}{1pt})4 ;
  • oneside (pas de page gauche et droite, par défaut pour les classes article et report)
  • twoside (par défaut pour la classe book) ;
  • openany (uniquement pour la classe book, empêche l’ajout d’une page blanche pour commencer un chapitre sur une page de droite).

3.3 En-têtes et pieds de page

L’extension qui gère les en-têtes et pieds de page se charge en incluant, dans l’en-tête YAML, les commandes :

\usepackage{fancyhdr}

et

\pagestyle{fancy}

Le paramétrage des en-têtes se fait avec la commande (voir un exemple plus bas) :

\fancyhead[zone]{contenu}

et le paramétrage des pieds de page avec la commande

\fancyfoot[zone]{contenu}

Pour définir la zone, on utilise le codage suivant :

  • L : champ gauche pour toutes les pages
  • LE : champ gauche pour les pages paires
  • LO : champ gauche pour les pages impaires
  • C : champ central pour toutes les pages
  • CE : champ central pour les pages paires
  • CO : champ central pour les pages impaires
  • R : champ droit pour toutes les pages
  • RE : champ droit pour les pages paires
  • RO : champ droit pour les pages impaires

Pour le contenu, on peut ajouter du texte mais on dispose également de commandes de formatage de LaTeX, par exemple des instructions suivantes :

\thepage

imprime le numéro de la page courante

\thesection

imprime le numéro de la section courante

\thechapter

avec un document du type books ou report : imprime le numéro du chapitre courant

\leftmark

  • avec un document du type article, imprime le nom de la section courante
  • avec un document du type books ou report, imprime le nom du chapitre courant

\rightmark

  • avec un document du type article, imprime le nom de la sous-section courante
  • avec un document du type books ou report, imprime le nom de la section courante

Remarques :

  • pour forcer une zone à rester vide, il suffit de laisser vide la zone entre { et } ;
  • pour forcer l’affichage d’une ligne horizontale, il suffit d’utiliser la commande : \renewcommand{\headrulewidth}{1pt} pour les en-têtes et \renewcommand{\footrulewidth}{1pt} pour les pieds de page ;
  • pour ne pas afficher de ligne horizontale, il suffit d’utiliser la commande \renewcommand{\headrulewidth}{0pt} pour les en-têtes et \renewcommand{\footrulewidth}{0pt} pour les pieds de page ;
  • pour empêcher l’affichage de l’en-tête et du pied de page sur la première page, il faut ajouter \thispagestyle{empty} juste en dessous de l’en-tête YAML.

En résumé, dans l’en-tête YAML, on pourrait avoir :

    - \usepackage{lastpage}
    - \usepackage{fancyhdr}
    - \pagestyle{fancy}
    - \fancyhead[L]{Projet de rapport}
    - \fancyhead[C]{}
    - \fancyhead[R]{Groupe XYZ}
    - \fancyfoot[L]{\today}
    - \fancyfoot[C]{}
    - \fancyfoot[R]{\thepage/\pageref{LastPage}}
    - \renewcommand{\headrulewidth}{0.1pt}

qui donnera en en-tête :

et en pied de page :

3.4 Numérotation des pages

Il est possible à tout moment de modifier la numérotation des pages.

\pagenumbering{style}

Va modifier le style de numérotation. Les possibilités pour style sont :

  • arabic pour une numérotation en chiffres arabes (par défaut)
  • roman pour une numérotation en chiffres romains
  • Roman pour une numérotation en chiffres romains en capitales
  • alpha pour une numérotation en lettres
  • Alpha pour une numérotation en lettres capitales

Le numéro de la page en cours peut aussi être modifié :

\setcounter{page}{10}

va forcer la numérotation à 10 pour la page courante. Les deux commandes peuvent être combinées. Par exemple :

\pagenumbering{roman}

pour que la numérotation du début du document (préface par exemple) se fasse en chiffres romains, puis :

\pagenumbering{arabic}
\setcounter{page}{1}

pour recommencer la numérotation à 1, en chiffres arabes, pour la suite du document.

S’il y a beaucoup de notes en bas de page, une commande similaire permet de remettre à zéro la numérotation des notes en bas de page :

\setcounter{footnote}{0}

3.5 Positionnement du texte sur la page

3.5.1 Horizontalement

Avec la commande \begin{center} on va centrer le texte (ou tout autre contenu) qui suit. Il faut entrer \end{center} pour annuler le centrage. On peut aussi utiliser la commande \centering mais alors tout ce qui suit, jusqu’à la fin du document, sera centré.

La commande \begin{flushright} (et \end{flushright}) va pousser le texte à droite. On peut aussi utiliser \raggedright mais, comme pour le centrage avec \centering, tout ce qui suit sera aligné à droite.

Par défaut, une page va être justifiée (alignement à gauche et à droite). Pour améliorer la lecture, il est possible de forcer l’alignement à gauche (en “drapeau”) avec \raggedleft, jusqu’à la fin du document.

3.5.2 Verticalement

La commande \vspace{x} va ajouter des lignes vides. \vspace{5cm} va par exemple “pousser” la suite 5 cm plus bas.

Il est aussi possible de sauter une ligne en insérant un paragraphe vide (ne contenant qu’une espace avec  ).

La commande \newline (avec une espace avant la suite du texte ou \ suivi d’un retour ligne, sans espace) va provoquer un saut de ligne à l’intérieur d’un paragraphe.

La commande \newpage va provoquer un saut de page.

Pour rappel, afin d’augmenter la lisibilité d’un texte, on peut augmenter l’interligne (espace entre deux lignes) en mettant linestretch: 1.5 (1 par défaut) dans l’en-tête YAML.

On peut aussi jouer localement sur l’interligne avec le paquet setspace et la commande spacing.

On ajoute :

\usepackage{setspace}

dans l’en-tête YAML et \begin{spacing}{2} (ici pour doubler l’interligne) et \end\{spacing} (pour revenir à la taille normale de cet interligne) dans le texte.

Par exemple, pour coller (interligne = 0) un filet (avec rule, voir Section 4.8.2) à la ligne précédente, on aura :

\begin{spacing}{0}\rule{16cm}{0.02cm}\end{spacing}

3.6 Texte (notes) dans les marges

Texte texte \marginpar{ceci est une note courte} texte texte5 va insérer, sur la ligne en cours, dans la marge extérieure (à droite pour la classe “article”), le bout de texte (note ou commentaire) qui se trouve entre { et }.

Pour avoir un texte dans un caractère plus petit, on peut ajouter \scriptsize (voir Section 4.2) au début de la note :

texte texte \marginpar{\scriptsize ceci est une note courte} texte texte.

On peut par ailleurs préciser la largeur du texte dans la marge dans les instructions geometry: de l’en-tête : marginpar=1.8cm.

3.7 Préparation à l’impression

Pour aller jusqu’au bout d’un projet numérique pour un livre (classe “book”) on peut en faire une version imprimée (en général à la demande).

Pour simplifier le travail de l’imprimeur, on peut lui fournir un document pdf avec des traits de coupe qui indiquent avec précision l’endroit où il faut rogner le livre après impression et avant la reliure

Pour un ouvrage au format classique 170 x 240 mm on va, sur une page A4 (210 x 297 mm), déclarer le format fini (y compris les marges) dans geometry:

geometry:
- paperwidth=17.0cm
- paperheight=24.0cm
- left=2.5cm
- right=2.5cm
- top=2cm
- bottom=2cm

et la taille de la feuille dans la commande crop.

\usepackage[cam, a4, center]{crop}

cam va ajouter le nom du fichier, la date et l’heure d’impression et le numéro de la page et center va centrer le tout sur la page A4.


  1. Apparaît sur la deuxième page.↩︎

  2. Note sur le titre.↩︎

  3. Pour un document html, l’option -s dans la commande Pandoc va les inclure dansle header de la page.↩︎

  4. Pour rappel, il existe une autre méthode pour utiliser les colonnes, voir dans le manuel.↩︎

  5. Ne fonctionne pas si le texte est en colonne via \usepackage{multicol} mais bien via classoption: twocolumn.↩︎