La mise en page

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 oui[1] non[2]
thanks[3]: 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 page[4].

Options de mise en page

Pour rappe, 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}) ;
  • 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).

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
  • 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 :

image

et en pied de page :

image

Remplissage des pages

Pour améliorer la mise en page finale, pour que la dernière ligne du texte se trouve sur la dernière ligne de la page, on va utiliser \vfill (à placer au début du document).

Cette instruction va provoquer l’insertion d’espaces blancs pour ajuster automatiquement le remplissage de la page.

Numérotation des pages

À la différence d’un fichier html (des pages web) ou d’un fichier ePub (le format standard des livres numériques), un fichier pdf est paginé, c’est-à-dire découpé en pages. Il est possible, à tout moment, de modifier la présentation de 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[5].

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}

Indentation

Par défaut, il n’y a pas de retrait au début de paragraphes. Pour ajouter une indentation des paragraphes, il faut placer, au début du document, après l’entête YAML :

\setlength{\parindent}{20pt}

Cette commande va provoquer un retrait systématique de 20 points au début de chaque paragraphe.

Positionnement du texte sur la page

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.

Verticalement

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

La commande \vspace{x} va ajouter des lignes vides. \vspace{1.5cm} va par exemple “pousser” la suite 1,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.

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) à la ligne précédente, on aura :

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

Texte (notes) dans les marges

Texte texte \marginpar{ceci est une note courte} texte texte

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 }[6].

Pour avoir un texte dans un caractère plus petit, on peut ajouter \scriptsize 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.

Néanmoins, contrairement à la fonction “notes”, il n’y a pas de numérotation automatique des notes ajoutées dans les marges.

On peut également créer des notes dans les marges avec marginnote[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.

image


  1. Apparaît sur la deuxième page.
  2. La présence d’un résumé dans l’entête YAML va provoquer une erreur
  3. Note sur le titre.
  4. Pour un document html, l’option -s dans la commande Pandoc va les inclure dans le header de la page.
  5. C’est le comportement par défaut pour la classe Book.
  6. Ne fonctionne pas si le texte est en colonnes via \usepackage{multicol} mais bien via classoption: twocolumn.
  7. Il faut l'activer dans l'entête avec "\usepackage{marginnote}" et rempacer "\marginpar" par "\marginnote".

Licence

Symbole de Licence Creative Commons Attribution 4.0 International

L’écriture académique au format texte avec Markdown et Pandoc Droit d'auteur © par Bernard Pochet est sous licence Licence Creative Commons Attribution 4.0 International, sauf indication contraire.

Partagez ce livre