Premiers pas
{ EX}
Rédaction avec \title L
AT
Rédaction avec \title L
Premiers pas
AT { EX}
Vincent Goulet
Professeur titulaire
École d'actuariat, Université Laval
Édition 2019.03
Vincent Goulet, 2019
© 2019 par Vincent Goulet. « Rédaction avec LATEX — Premiers pas » est mis à disposition sous licence Attribution-Partage dans les mêmes conditions 4.0
International de Creative Commons. En vertu de cette licence, vous êtes autorisé à :
• partager — copier, distribuer et communiquer le matériel par tous moyens et sous tous formats ;
• adapter — remixer, transformer et créer à partir du matériel pour toute utilisation, y compris commerciale.
L’Offrant ne peut retirer les autorisations concédées par la licence tant que vous appliquez les termes de cette licence.
Selon les conditions suivantes :
Attribution — Vous devez créditer l’œuvre, intégrer un lien vers la licence et indiquer si des modifications ont été effectuées à l’œuvre.
Vous devez indiquer ces informations par tous les moyens raisonnables, sans toutefois suggérer que l’Offrant vous soutient ou soutient la
façon dont vous avez utilisé son œuvre.
Partage dans les mêmes conditions — Dans le cas où vous effectuez un remix, que vous transformez, ou créez à partir du matériel composant
l’œuvre originale, vous devez diffuser l’œuvre modifiée dans les mêmes conditions, c’est-à-dire avec la même licence avec laquelle l’œuvre
originale a été diffusée.
Code source
Voir sur GitLab
Couverture
Suricate (Suricata suricatta), parfois surnommé « sentinelle du désert » (ici un spécimen du zoo de Newquay, en Cornouailles). Ce petit carnivore vit
dans le sud-ouest de l’Afrique. Très prolifique, le suricate vit en grands groupes familiaux au sein d’une colonie.
Crédit photo : © Francis C. Franklin CC BY-SA 3.0 via Wikimedia Commons.
Concept original du titre : Marie-Ève Guérard.
Fichiers d’accompagnement
Ce document devrait être accompagné des fichiers nécessaires pour
compléter les exercices.
Si vous n’avez pas obtenu ces fichiers avec le document, vous pouvez les
récupérer dans le site Comprehensive TeX Archive Network (CTAN).
Accéder aux fichiers dans CTAN
4
Prérequis à cette formation
1. Installer une distribution LATEX sur votre poste de travail ; nous
recommandons la distribution TEX Live
• Vidéo d’installation sur macOS
• Vidéo d’installation sur Windows
2. Composer un premier document très simple de type Hello World !
• Démonstration vidéo avec TeXShop sur macOS
• Démonstration vidéo avec Texmaker sur Windows
5
Présentation de TEX et LATEX
Présentation de TEX et LATEX
Description sommaire
Ce que c’est
• TEX est un système de mise en page
(typesetting) ou de préparation de
documents
• LATEX est un ensemble de
macro-commandes pour faciliter
l’utilisation de TEX
• Langage de balisage (Markup
Language) pour indiquer la mise en
forme du texte
• Accent mis sur la production de
documents de grande qualité à la
typographie soignée (surtout pour les
mathématiques) Donald Knuth, créateur de TEX
6
Ce que ce n’est pas
Un traitement de texte priorité accordée à la qualité de la mise en page
WYSIWYG plutôt What You See Is What You Mean
Incompatible format identique sur tous les systèmes d’exploitation
Instable noyau arrivé à maturité
Imprévisible LATEX fait ce qu’on lui demande, ni plus, ni moins
7
Quelques choses simples à réaliser avec LATEX
• Page de titre
• Table des matières
• Numérotation des pages
• Figures et tableaux : disposition, numérotation, renvois
• Équations mathématiques : disposition, numérotation, renvois
• Citations et composition de la bibliographie
• Coupure de mots
• Document recto verso
8
Présentation de TEX et LATEX
Processus de création
Processus de création d’un document LATEX
rédaction du texte et compilation avec un visualisation avec
balisage avec un éditeur moteur TEX depuis la ligne visionneuse externe
de texte de commande (Aperçu, SumatraPDF, etc.)
9
Processus de création d’un document LATEX
rédaction du texte et compilation avec un visualisation avec
balisage avec un éditeur moteur TEX depuis la ligne visionneuse externe
de texte de commande (Aperçu, SumatraPDF, etc.)
facilité par l’utilisation d’un
logiciel intégré de rédaction
(Texmaker, TeXShop, Emacs, …)
9
Présentation de TEX et LATEX
[ Exercice ]
Exercice
Démarrer le logiciel Texmaker (Windows), TeXShop (macOS) ou tout autre éditeur ou
logiciel intégré de rédaction de votre choix.
1. Ouvrir et compiler le fichier exercice_minimal.tex.
2. Ajouter du texte en français (avec accents) et observer le résultat.
10
Présentation de TEX et LATEX
Outils de production
Moteurs et formats
Moteur Format Fichier de sortie
tex plain TEX DVI
tex (latex) LATEX DVI
pdftex (pdflatex) pdfLATEX PDF
xetex (xelatex) XƎLATEX PDF
11
Faits amusants
• TEX est aujourd’hui considéré exempt de bogue
• Récompense si vous en trouvez un !
• Numéro de version de TEX converge vers π :
$ tex --version
TeX 3.14159265 (TeX Live 2018)
kpathsea version 6.3.0
Copyright 2018 D.E. Knuth.
[...]
12
Présentation de TEX et LATEX
[ Exercice ]
Exercice
Question de voir ce que LATEX peut faire, compiler le document élaboré
exercice_demo.tex de la manière suivante :
i) une fois avec LaTeX ;
ii) une fois avec BibTeX ;
iii) deux à trois fois avec LaTeX.
13
Principes de base
Principes de base
Règles de saisie
Rédaction
L’apparence du document est prise en charge par LATEX et il est généralement préférable
de ne pas la modifier.
• On se concentre sur le contenu et la structure du document
titre de section \section{titre}
emphase \emph{texte}
• Mots séparés par une ou plusieurs espaces
• Paragraphes séparés par une ou plusieurs lignes blanches
• Utilisation de commandes pour indiquer la structure du texte
14
Caractères réservés
• Caractères réservés par TEX :
# $ & ~ _ ^ % { }
• Pour les utiliser, précéder par \
• On écrira donc
L'augmentation de 2~\$
L’augmentation de 2 $ représente une
représente une hausse
de 5~\%. hausse de 5 %.
15
Principes de base
Structure d’un fichier
Structure d’un document LATEX
Un fichier source LATEX est toujours composé de deux parties.
\documentclass[11pt,french]{article}
\usepackage{babel}
\usepackage[autolanguage]{numprint}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Donec quam nulla, bibendum
vitae ipsum vel, fermentum pellentesque orci.
\end{document}
16
Structure d’un document LATEX
Un fichier source LATEX est toujours composé de deux parties.
\documentclass[11pt,french]{article}
\usepackage{babel}
préambule \usepackage[autolanguage]{numprint}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Donec quam nulla, bibendum
vitae ipsum vel, fermentum pellentesque orci.
\end{document}
16
Structure d’un document LATEX
Un fichier source LATEX est toujours composé de deux parties.
\documentclass[11pt,french]{article}
\usepackage{babel}
préambule \usepackage[autolanguage]{numprint}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}
Lorem ipsum dolor sit amet, consectetur
corps adipiscing elit. Donec quam nulla, bibendum
vitae ipsum vel, fermentum pellentesque orci.
\end{document}
16
Principes de base
Commandes et environnements
Commandes
• Débutent toujours par \
• Exemples de syntaxe
\LaTeX % aucun argument
\emph{toujours} % un argument obligatoire
\section*{Introduction} % effet modifié
\rule[6pt]{5mm}{2pt} % un argument optionnel, deux obligatoires
• Commande sans argument : le nom se termine par tout caractère qui n’est pas une
lettre (y compris l’espace !)
• Portée d’une commande limitée à la zone entre { }
17
Environnements
• Délimités par
\begin{〈environnement〉}
...
\end{〈environnement〉}
• Contenu de l’environnement traité différemment du reste du texte
• Changements s’appliquent uniquement à l’intérieur de l’environnement
18
Principes de base
[ Exercice ]
Exercice
Modifier le fichier exercice_commandes.tex afin de produire le texte ci-dessous.
Les commandes LATEX débutent par le symbole \ et se terminent par le
premier caractère autre qu’une lettre, y compris l’espace. Cela a pour consé-
quence qu’une espace immédiatement après une commande sans argument
sera avalée par la commande.
La portée d’une commande est limitée à la zone entre accolades.
1. L’environnement enumerate permet de créer une liste numérotée.
2. Les environnements de listes sont parmi les plus utilisés en LATEX.
19
LATEX en français
Il faut charger un certain nombre de paquetages pour franciser LATEX.
• babel : traduction des mots-clés prédéfinis, typographie française, coupure de
mots, document multilingue
• inputenc et fontenc : lettres accentuées dans le code source (pdfLATEX seulement)
• icomma : virgule comme séparateur décimal
• numprint : espace comme séparateur des milliers
20
Organisation d’un document
Conseil du TEXpert
Utilisez impérativement les commandes LATEX pour identifier les différentes parties (la
structure) d’un document.
20
Organisation d’un document
Parties d’un document
Titre et page de titre
LATEX peut composer une page de titre automatiquement à partir des informations
pertinentes.
%% préambule
\title{〈Titre du document〉}
\author{〈Prénom Nom〉}
\date{〈31 octobre 2014〉} % automatique si omis
%% corps du document
\maketitle
21
Sections
• Découpage du document en sections
\part{〈titre〉}
\chapter{〈titre〉}
\section{〈titre〉}
\subsection{〈titre〉}
• Numérotation automatique
\section{Hypothèses}
• Sans la numérotation
\section*{Hypothèses}
22
Annexes
Les annexes sont des sections ou des chapitres avec une numérotation alphanumérique
(A, A.1, ...)
• \appendix identifie les sections suivantes comme des annexes
• Dans le titre, « Chapitre » changé pour « Annexe » le cas échéant
23
Table des matières
La commande \tableofcontents produit automatiquement la table des matières.
• Requiert plusieurs compilations
• Sections non numérotées pas incluses
• Avec hyperref, produit également la table des matières du fichier PDF
24
Organisation d’un document
Renvois automatiques
Étiquettes et renvois automatiques
Ne jamais renvoyer manuellement à un numéro de section, d’équation, de tableau, etc.
• « Nommer » un élément avec \label
• Faire référence par son nom avec \ref
• Requiert 2 à 3 compilations
25
Exemple (code source)
\section{Définitions}
\label{sec:definitions}
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Duis in auctor dui. Vestibulum
ut, placerat ac, adipiscing vitae, felis.
\section{Historique}
Tel que vu à la section \ref{sec:definitions},
on a...
26
Exemple (résultat)
1 Définitions
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis in auctor dui.
Vestibulum ut, placerat ac, adipiscing vitae, felis.
2 Historique
Tel que vu à la section 1, on a...
27
Organisation d’un document
[ Exercice ]
Exercice
Utiliser le fichier exercice_renvois.tex.
1. Insérer dans le texte un renvoi au numéro d’une section.
2. Activer le paquetage hyperref avec l’option colorlinks et comparer l’effet
d’utiliser \ref ou \autoref pour le renvoi.
28
Apparence et disposition du texte
Apparence et disposition du texte
Police et style
Police de caractères
Par défaut, LATEX compose les documents dans la police Computer Modern.
• Aujourd’hui plus facile d’utiliser d’autres polices, surtout avec XƎLATEX
• Attention : peu de polices adaptées pour les mathématiques
• Commandes pour modifier les attributs de la police (famille, forme, graisse)
• Commandes pour modifier la taille du texte (de \tiny à \Huge)
29
Italique
• Une des propriétés les plus utilisées dans le texte
• Commande sémantique :
\emph{〈texte〉}
30
Italique
• Une des propriétés les plus utilisées dans le texte
• Commande sémantique :
\emph{〈texte〉}
• Par défaut : texte en italique dans texte droit et vice versa
C'était un peu \emph{rough}
C’était un peu rough par moments
par moments
Il m'a dit: «\emph{Enough
Il m’a dit : « Enough poutine for the
\emph{poutine} for the
week ! »
week!}»
30
Italique
• Une des propriétés les plus utilisées dans le texte
• Commande sémantique :
\emph{〈texte〉}
• Par défaut : texte en italique dans texte droit et vice versa
C'était un peu \emph{rough}
C’était un peu rough par moments
par moments
Il m'a dit: «\emph{Enough
Il m’a dit : « Enough poutine for the
\emph{poutine} for the
week ! »
week!}»
• Pas de commande pour souligner en LATEX… et ce n’est pas une omission !
30
Apparence et disposition du texte
Disposition du texte
Listes
• Deux principales sortes de listes :
1. à puce avec environnement itemize
2. numérotée avec environnement enumerate
• Possible de les imbriquer les unes dans les autres
• Marqueurs adaptés automatiquement jusqu’à 4 niveaux
31
Listes
• Deux principales sortes de listes :
1. à puce avec environnement itemize
2. numérotée avec environnement enumerate
• Possible de les imbriquer les unes dans les autres
• Marqueurs adaptés automatiquement jusqu’à 4 niveaux
\begin{itemize}
\item Deux principales sortes de listes:
\begin{enumerate}
\item à puce avec environnement \texttt{itemize}
\item numérotée avec environnement \texttt{enumerate}
\end{enumerate}
\item Possible de les imbriquer les unes dans les autres
\item Marqueurs adaptés automatiquement jusqu'à 4 niveaux
\end{itemize}
31
Notes de bas de page
• Note de bas de page insérée avec la commande
\footnote{〈texte de la note〉}
• Commande doit suivre immédiatement le texte à annoter
• Numérotation et disposition automatiques
32
Code source
• Environnement verbatim
\begin{verbatim}
Texte disposé exactement tel qu'il est tapé
dans une police à largeur fixe
\end{verbatim}
• Pour usage plus intensif, utiliser le paquetage listings
33
Apparence et disposition du texte
[ Exercice ]
Exercice
Utiliser le fichier exercice_complet.tex.
1. Étudier le code source du fichier, puis le compiler.
2. Supprimer l’option article au chargement de la classe et compiler de nouveau le
document. Observer l’effet de cette option.
3. Effectuer les modifications suivantes au document.
a) Dernier paragraphe de la première section, placer toute la phrase débutant par «De
simple dérivé» à l’intérieur d’une commande \emph.
b) Changer la puce des listes en spécifiant le symbole $>$ pour ItemLabeli dans la
commande \frenchbsetup du préambule.
34
Tableaux
De la conception de beaux tableaux
Lequel de ces deux tableaux est le plus facile à consulter ?
i v bi i v bi
0 91 492 60 0 91 492 60
1 1 524 60 1 1 524 60
2 25 24 2 25 24
3 1 365 3 1 365
35
De la conception de beaux tableaux
Lequel de ces deux tableaux est le plus facile à consulter ?
i v bi i v bi
0 91 492 60 0 91 492 60
1 1 524 60 1 1 524 60
2 25 24 2 25 24
3 1 365 3 1 365
Deux règles d’or :
1. jamais de filets verticaux
2. pas de filets doubles
35
Paquetage essentiel
• Vous voulez utiliser le paquetage booktabs
\usepackage{booktabs}
• Fonctionnalités intégrées dans la classe memoir
36
Exemple de tableau
Produit Quantité Prix unitaire ($) Prix ($)
Vis à bois 2 9,90 19,80
Clous vrillés 5 4,35 21,75
TOTAL 7 41,55
\begin{tabular}{lcrr}
\toprule
Produit & Quantité & Prix unitaire (\$) & Prix (\$) \\
\midrule
Vis à bois & 2 & 9,90 & 19,80 \\
Clous vrillés & 5 & 4,35 & 21,75 \\
\midrule
TOTAL & 7 & & 41,55 \\
\bottomrule
\end{tabular} 37
B.a.-ba des mathématiques
Principes de base
• Décrire des équations mathématiques requiert un « langage » spécial
• il faut informer LATEX que l’on passe à ce langage
• par le biais de modes mathématiques
• Important d’utiliser un mode mathématique
• règles de typographie spéciales
• espaces gérées automatiquement
• Vous voulez utiliser le paquetage amsmath
\usepackage{amsmath}
38
Modes mathématiques
1. « En ligne » directement dans le texte comme (a + b)2 = a2 + 2ab + b2 en plaçant
l’équation entre $ $
«En ligne» directement dans le texte
comme $(a + b)^2 = a^2 + 2ab + b^2$
39
Modes mathématiques
1. « En ligne » directement dans le texte comme (a + b)2 = a2 + 2ab + b2 en plaçant
l’équation entre $ $
«En ligne» directement dans le texte
comme $(a + b)^2 = a^2 + 2ab + b^2$
2. « Hors paragraphe » séparé du texte principal comme
∫∞ ∑n
f(x) dx = αi exi f(xi )
0 i=1
en utilisant divers types d’environnements
«Hors paragraphe» séparé du texte principal comme
\begin{equation*}
\int_0^\infty f(x)\, dx =
\sum_{i = 1}^n \alpha_i e^{x_i} f(x_i)
\end{equation*}
39
Conseil du TEXpert
En ligne ou hors paragraphe, les équations font partie intégrante de la phrase.
Les règles de ponctuation usuelles s’appliquent donc aux équations.
Soit 𝑥 un nombre dans la base de numération 𝑏 composé de 𝑚 chiffres ou sym-
boles, c’est-à-dire
𝑥 = 𝑥𝑚−1 𝑥𝑚−2 ⋯ 𝑥1 𝑥0 ,
où 0 ≤ 𝑥𝑖 ≤ 𝑏 − 1.
39
Quelques règles de base
• En mode mathématique, TEX écrit automatiquement les constantes en romain et les
variables en italique
$z = 2a + 3y$ z = 2a + 3y
• Espacement entre les éléments géré automatiquement, peu importe le code source
$z=2 a+3 y$ z = 2a + 3y
40
Quelques règles de base (suite)
• Ne pas utiliser le mode mathématique pour obtenir du texte en italique !
\emph{xyz}
$xyz$ xyz
• Commande \text de amsmath pour texte à l’intérieur du mode mathématique
$x = 0 \text{ si } y < 2$ x = 0 si y < 2
41
Avant-gout
Pouvez-vous interpréter ce code ?
\begin{equation*}
\Gamma(\alpha) =
\sum_{j = 0}^\infty \int_j^{j + 1}
x^{\alpha - 1} e^{-x}\, dx
\end{equation*}
42
Avant-gout
Pouvez-vous interpréter ce code ?
\begin{equation*}
\Gamma(\alpha) =
\sum_{j = 0}^\infty \int_j^{j + 1}
x^{\alpha - 1} e^{-x}\, dx
\end{equation*}
Fort probablement !
∞ ∫ j+1
∑
Γ(α) = xα−1 e−x dx
j=0 j
42
B.a.-ba des mathématiques
[ Exercice ]
Exercice
Utiliser le fichier exercice_mathematiques.tex.
1. Étudier le code source du fichier, puis le compiler.
2. Charger le paquetage amsfonts dans le préambule, puis remplacer $R^+$ par
$\mathbb{R}^+$ à la ligne débutant par « Le domaine ».
3. À l’aide de la fonction Rechercher et remplacer de l’éditeur de texte, remplacer
toutes les occurrences du symbole θ par λ.
43
Programmation lettrée
Document source combinant LATEX et code R
fichier.Rnw
...
L'utilisateur de R interagit avec l'interprète en entrant
des commandes à l'invite de commande:
<<echo=TRUE>>=
2 + 3
@
La commande \verb=exp(1)= donne \Sexpr{exp(1)},
la valeur du nombre $e$.
...
44
Après traitement par Sweave dans R
Sweave("fichier.Rnw") → fichier.tex
...
L'utilisateur de R interagit avec l'interprète en entrant
des commandes à l'invite de commande:
\begin{Schunk}
\begin{Sinput}
> 2 + 3
\end{Sinput}
\begin{Soutput}
[1] 5
\end{Soutput}
\end{Schunk}
La commande \verb=exp(1)= donne 2.71828182845905,
la valeur du nombre $e$.
45
...
Classe ulthese
Un document conforme en un tournemain
• ulthese livrée dans TEX Live donc déjà installée sur votre ordinateur
• Mise en page conforme aux règles de présentation de la FESP
• Basée sur la classe memoir
• Quelques nouvelles commandes pour la création de la page de titre
• Partir d’un gabarit (classés avec la documentation dans TEX Live)
• Utiliser des fichiers séparés pour chaque chapitre de la thèse ou du mémoire
46
Classe ulthese
[ Exercice ]
Exercice
Utiliser le fichier exercice_ulthese.tex — qui est basé sur le gabarit
gabarit-doctorat.tex livré avec ulthese.
Ce fichier insère b-a-ba-math.tex dans le document avec la commande \include.
1. Étudier le code source des deux fichiers et identifier à quel endroit
b-a-ba-math.tex est chargé dans le document.
2. Activer les paquetages amsmath et icomma, puis compiler
exercice_ulthese.tex.
3. Modifier un environnement align* pour align dans b-a-ba-math.tex et
observer le résultat dans la compilation de exercice_ulthese.tex.
4. Compiler de nouveau le fichier en utilisant une police différente.
47
Et la suite ?
Pour en savoir plus
Le document de référence fournit des détails
additionnels et couvre des concepts plus avancés :
• boites, tableaux et figures
• équations mathématiques élaborées
• bibliographie et citations
• commandes et environnement sur mesure
• changement de police
• diapositives
• etc.
48
Ce document a été produit par le système de mise en page XƎLATEX avec la classe beamer et
le thème Metropolis. Les titres et le texte sont composés en Fira Sans, les mathématiques
en Arev Math et le code informatique en Fira Mono. Les icônes proviennent de la police
Font Awesome.