Initiation à LATEX pour étudiants
Initiation à LATEX pour étudiants
Résumé
Ce document est une courte initiation à LATEX rédigée dans le but de remplir,
de manière synthétique, deux objectifs :
– fournir un minimum vital pour se lancer dans LATEX ;
– présenter des fonctionnalités facilitant la rédaction d’un rapport de projet.
Les vingt premières pages suffisent pour découvrir LATEX et avoir les bases permet-
tant de s’en servir ; les vingt suivantes couvrent une bonne partie des situations
classiques rencontrées lors de l’écriture d’un rapport.
Mode d’emploi
Le fonctionnement de LATEX est très différent de celui des logiciels de traitement
de texte ; de plus, il existe sur Internet une foultitude d’informations : cela peut frei-
ner son apprentissage. LATEX nécessite donc une initiation, que le présent document
se propose de fournir sous la forme d’un TP-cours.
Qu’apporte ou non ce polycopié d’initiation ? Il propose des bases pour dé-
buter en LATEX et un survol de beaucoup de possibilités : c’est un point de
départ avant de consulter des références plus complètes. En conséquence, ce
document n’est volontairement pas exhaustif (sinon, il serait bien plus long !).
À qui s’adresse-t-il ? Il est prévu pour une formation de 4 à 6 heures sur ordi-
nateur, destinée à des étudiants en mathématiques ou en mécatronique, de
niveau L3 ou M1, n’ayant jamais (ou peu) utilisé LATEX et devant réaliser un
document de moyenne taille (10 à 50 pages).
Comment est-il organisé ? Le début sert de support aux séances de TP-cours :
les sections 1 et 2 permettent de savoir ce qu’est LATEX, avant d’aborder la
section 3 qui constitue le cœur de cette initiation. La section 4 présente un
aperçu de fonctionnalités utiles (mise en page, inclusion d’images, flottants,
graphiques, présentations vidéoprojetées). Enfin, des règles typographiques
puis des explications volontairement éclipsées au cours des séances (instal-
lation, packages, encodage, commandes personnelles, . . .) figurent en annexe.
∗
Polycopié initialement rédigé lorsque les trois auteurs ont effectué cet enseignement au départe-
ment mathématique de l’ENS Cachan Bretagne. Contacts : goudenege@[email protected], mathieu.
leroy-leretre@[email protected], gregory.vial@[email protected]
1
Plan du polycopié de TP-cours
1 Présentation de LATEX 3
1.1 Intérêt et utilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Prise en main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Découverte de LATEX 5
3.1 Démarrage avec TEXstudio (ex-TexMakerX) . . . . . . . . . . . . . . . . . . 5
3.2 Composition simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.3 Mathématiques 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.4 Environnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.5 Sectionnement et références croisées . . . . . . . . . . . . . . . . . . . . . 13
3.6 Mathématiques 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.6.1 Agencement de formules, tableaux et matrices . . . . . . . . . . . . 14
3.6.2 Théorèmes et énoncés similaires . . . . . . . . . . . . . . . . . . . . 17
3.6.3 Pour aller plus loin : vers l’infini et au-delà ! . . . . . . . . . . . . . 20
A Typographie française 32
A.1 Avec LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
A.2 Quelques règles et usages . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Références 46
2
1 Présentation de LATEX
Voyons dans cette section quelques mots introductifs pour décrire LATEX et voir ce que
signifie « faire du LATEX ».
3
2 Structure d’un fichier .tex
Le fichier .tex est créé dans un éditeur de texte. Il possède en général le squelette
suivant :
1. La commande \documentclass{} qui indique quelle classe (ou quel type) de do-
cument l’on souhaite rédiger.
2. Le préambule, où l’on indique des options, des préférences et des choix pour la
compilation ; il contient habituellement deux catégories d’informations :
les packages, qui regroupent des commandes destinées à faciliter l’utilisation de
certaines fonctionnalités ou à en créer de nouvelles. Il en existe un très grand
nombre et quelques-uns sont cités en annexe (cf. § B.3.3) ;
les macros ou commandes personnelles (de l’utilisateur), une richesse de
LATEX que nous ne ferons qu’effleurer en séance (cf. § B.4).
3. Le corps de document, délimité par \begin{document} et \end{document}, où
réside le texte lui-même.
L’objectif de ce TP-cours étant une prise en main de LATEX, nous allons nous concen-
trer sur le corps de document. Nous utiliserons donc la classe article et nous chargerons
les packages de base 1 devenus incontournables pour un document rédigé en français :
l’exemple de la figure 1 constitue un « kit de démarrage » de tout fichier .tex.
\documentclass[12pt,french]{article}
\usepackage[<option à choisir> ]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[a4paper]{geometry} Préambule
\usepackage{amsmath, amssymb}
\usepackage{babel} %à charger en dernier
\begin{document}
Bienvenue en séance de TP ! Corps de document
\end{document}
L’option de inputenc doit coïncider avec l’encodage de l’éditeur (cf. table 1 page 40).
1. Certains de ces packages concernent des problèmes techniques, très éloignés de nos préoccupations
d’utilisateur : le bon comportement est de les adopter comme postulat de départ pour bien rédiger en
LATEX (l’inverse, consistant à ne pas les utiliser sous prétexte que l’on n’en comprend pas toute l’utilité,
serait une mauvaise idée). Ils sont brièvement expliqués en annexe (cf. § B.3.1).
4
3 Découverte de LATEX
L’objet de ce paragraphe est d’utiliser les outils de base de LATEX à travers des exemples,
des remarques, des conseils et des exercices. L’accent est mis sur les outils mathématiques.
5
3.2 Composition simple
Présentons ici quelques outils de mise en forme dont on a l’habitude dans les logiciels de
traitement de texte.
Commençons par deux exemples :
Voici un exemple simple pour voir Voici un exemple simple pour voir comment
comment s’utilisent, avec \LaTeX{}, s’utilisent, avec LATEX, la mise en gras, les
la mise en \textbf{gras}, les formes italique ou petites capitales et
formes \textit{italique} ou les familles type machine ou sans empat-
\textsc{petites capitales} et les
tement.
familles \texttt{type machine} ou
\textsf{sans empattement}.
On peut aussi changer la taille des On peut aussi changer la taille des fontes
fontes en {\small petit}, {\tiny
minuscule}, {\large grand},
en petit, , grand,
minuscule énorme, etc.
{\huge énorme},~etc.
6
Conseil. Pour mettre en valeur, proscrire l’usage du souligné (\underline{}) et éviter
celui du gras : utiliser plutôt la commande \emph{}.
Ce mot est \tiny minuscule mais Ce mot est minuscule mais tout ce qui suit aussi car il
n’est pas dans un groupe.
tout ce qui suit aussi car il
n’est pas dans un groupe.
3.3 Mathématiques 1
LATEX est prévu pour rédiger des formules mathématiques ; il existe deux modes
mathématiques :
le mode en ligne, utilisé pour insérer des symboles ou des formules (souvent courtes)
dans une ligne de texte, au cours d’une phrase. Il s’obtient via la syntaxe $· · · $ ;
le mode hors-texte, permettant d’écrire une formule sur une ligne à part, centrée, au
moyen de la syntaxe \[ · · · \] 8 ; raccourci Alt+Maj+M sous TEXstudio.
Considérons tout de suite des exemples :
Soit la fonction $f$, définie Soit la fonction f , définie par f (x) = 2x.
par $f(x)=2x$.
Une différence fondamentale entre ces deux modes est que le mode hors-texte prend
la place — si nécessaire — d’afficher les grands symboles, ce que ne fait pas le mode en
P R
ligne ; voici un exemple : « Soit f définie par f (x) = ni=1 0i fi sin
ln x+α
x+1 , avec α ∈ R. »
à comparer avec « Soit f définie par
n Z
X i ln x + α
f (x) = fi ,
i=1 0
sin x + 1
avec α ∈ R. ».
8. La commande $$· · · $$ est à proscrire en LATEX, même si beaucoup de gens l’utilisent.
7
Certaines habitudes ou conventions sont à prendre lorsque l’on rédige des mathématiques ;
les exercices suivants ont pour but de vous y entrainer. Ils vous permettront aussi de découvrir
quelques spécificités du mode mathématique par rapport au mode texte.
À l’aide des exemples ci-dessus, des commandes proposées par TEXstudio et éventuel-
lement d’une liste de symboles 9 , trouvez comment obtenir les résultats suivants ; vous
ferez en priorité les exercices nos 1, 2, 3, 5, 8, 10, 13, 14, 15 et 19. (On ne demande pas
de reproduire l’encadrement ni les éventuels indices donnés entre parenthèses.)
8
Conseil. Pour écrire un opérateur, toujours utiliser la commande prédéfinie ; si elle
n’existe pas, la créer de manière adéquate 10 .
Une autre particularité importante est que le mode mathématique est un monde à
part du mode texte. Ainsi,
– les mises en forme habituelles (gras, italique, etc.) se font au moyen d’autres com-
mandes : \mathrm{} pour passer en romain, \mathbf{} pour mettre en gras 11 , etc.
De plus, les lettres calligraphiques, gothiques et ajourées sont disponibles :
– les blancs sont entièrement gérés par LATEX ; néanmoins, il a parfois du mal et il
faut alors forcer les espaces : on a vu \, (espace fine) mais il y a aussi \␣ (espace
inter-mot classique), \quad (1 cadratin), \! (espace fine négative), etc.
– les accents sont obtenus autrement ; par exemple
$\hat{x}$, $\ddot{x}$, $\vec{n}$, x̂, ẍ, ~n, ḿ, Å, f¯, f˜, etc.
$\acute{m}$, $\mathring{A}$,
$\bar{f}$, $\tilde f$,~etc.
Par contre, ces accents n’adaptent par leur taille à la largeur des caractères accen-
tués ; on dispose néanmoins de \widehat{}, \widetilde{} et de diverses flèches :
9
Cependant, il arrive que l’on ait besoin d’écrire du texte à l’intérieur du mode ma-
thématique ; il faut alors utiliser la commande \text{}, qui permet de faire comme si
on était en mode texte 12 .
vérifie
π
J(α) = Γ(α)eiα 2 .
10
3.4 Environnements
Voyons maintenant un outil utile pour réaliser des objets plus évolués, comme des ta-
bleaux, des équations alignées, des énumérations, etc. : ce sont les environnements. Nous
aborderons plus loin (cf. § 3.6) ceux spécifiques au mode mathématique.
Leur utilisation est simple :
\begin{<nom de l’environnement> }
.
.
.
\end{<nom de l’environnement> }
Citons les plus courants :
– bfseries, sffamily, etc. qui permettent de modifier la mise en forme des fontes,
i.e. mise en gras, en sans sérif, etc. (cf. § 3.2) ;
– small, Large, etc. qui permettent de modifier la taille des fontes (cf. § 3.2) ;
– center, qui permet de centrer une partie de texte horizontalement ;
– itemize, enumerate et description, qui servent à mettre en forme des listes ;
– tabular, qui s’utilise pour créer des tableaux au sein du mode texte (en mode
mathématique, c’est son homologue array qui doit être utilisé).
Expliquons à l’aide d’exemples le fonctionnement de quelques environnements :
\begin{itemize} – premièrement ;
\item premièrement ; – deuxièmement.
\item deuxièmement.
\end{itemize}
\begin{enumerate} 1. Primo.
\item Primo. 2. Secundo.
\item Secundo.
\end{enumerate}
Explications sur la syntaxe de tabular : le \\ indique une fin de ligne, le & sépare les
colonnes, le \hline trace un trait horizontal entre deux lignes. Quant à l’argument
de l’environnement (ici |rl|c|), il indique deux choses : l’alignement horizontal dans
chaque colonne (via la lettre r, l ou c) et l’éventuel ajout d’un filet vertical entre deux
colonnes (en insérant le caractère |).
11
Exercice 10 (on ne demande pas de reproduire l’espacement plus aéré des itemize
de cet exercice). Pour avoir la valeur d’une intégrale, deux moyens existent :
1. Calculer sa valeur exacte. Différents outils peuvent être utilisés, en parti-
culier :
– la règle des invariants de Bioche :
– si −x ← x est un invariant, on utilise u = cos x,
– si c’est π − x ← x, on utilise u = sin x,
– si c’est π + x ← x, on utilise u = tan x ;
– le théorème des résidus ;
– l’égalité de Plancherel-Parseval.
2. Calculer une valeur approchée. On distingue deux types de méthodes :
(a) des méthodes déterministes, contenant :
i. les méthodes de Newton-Cotes,
ii. les méthodes de Gauss ;
(b) une méthode probabiliste : la méthode de Monte-Carlo.
Méthode Ordre
Rectangles à gauche 0
Rectangles à droite 0
Point milieu 1
Trapèzes 1
Simpson 3
Il existe beaucoup d’autres possibilités d’agencer les tableaux : avoir une ligne ho-
rizontale ne s’étendant que sur quelques colonnes, modifier la hauteur des cellules, fu-
sionner des cellules, modifier le symbole affiché entre chaque colonne, etc. Enfin, des
packages étendent encore ces possibilités. . . on renvoie à [mpg, § 7] et à [B&C, § 5].
12
3.5 Sectionnement et références croisées
LATEX est capable de gérer tout seul la mise en forme des titres de paragraphe et leur
numérotation ; on utilise pour cela les commandes de sectionnement. Il est alors possible de
faire des renvois à ces paragraphes : on parle de références croisées.
Pour le sectionnement, les commandes \chapter{}, \section{}, \paragraph{}, etc.
(cf. [mpg, § 3.4]) sont à disposition ; quant à leur version étoilée (\section*{}, etc.),
elle supprime la numérotation. L’exemple suivant illustre leur fonctionnement (sous la
classe article, \chapter{} n’est pas disponible).
\section*{Conclusion} Conclusion
Exercice 13. Recopier l’exemple de code source ci-dessus puis compiler. Ajou-
ter ensuite une section avant la première section et compiler de nouveau.
Qu’observez-vous au niveau de la numérotation ?
\section{Découverte de \LaTeX}
\label{sec-Decouv}
Conseil. Prendre l’habitude de « classifier » ses références à l’aide d’un mot-clé (suivi
d’un tiret 13 ) : \label{<mot-clé> -truc} en remplaçant, par exemple, <mot-clé> par
sec pour une section, subsec pour une sous-section, eq pour une équation numéro-
tée 14 , etc.
13. Éviter l’usage du deux-points (en particulier si babel/frenchb est chargé), même si certains ouvrages
le proposent.
14. Comme nous le verrons par la suite, plein d’objets (numérotés) peuvent être référencés : notes de
bas de page, environnements table et figure, théorèmes, . . .
13
Conseil. L’espace insécable (codé avec le caractère ~) permet d’empêcher un retour à
la ligne à l’endroit utilisé ; prendre l’habitude d’en faire précéder chaque \ref{}.
L’intérêt de la gestion automatique des références croisées par LATEX est majeur : en
effet, si au cours de la rédaction un numéro de sectionnement ou un numéro de page
doit changer (suite à une modification de texte avant), alors les commandes \ref{} et
\pageref{} se mettent à jour toutes seules 15 .
3.6 Mathématiques 2
Voyons maintenant comment enrichir le mode mathématique en utilisant la structure
d’environnement et les références croisées. Ce paragraphe répondra aux besoins suivants :
faire des tableaux en mode mathématique, créer des matrices, numéroter des formules, af-
ficher des successions d’équations ; écrire proprement des énoncés de théorèmes numérotés ;
savoir où trouver des informations supplémentaires.
14
3. Pour produire une matrice, on remplacera avantageusement array par un environ-
nement mieux adapté : matrix, pmatrix, bmatrix, vmatrix, etc.
Soit $L=\begin{pmatrix} 2 −1
Soit L = −1 2 −1 une matrice.
2 & -1 & \\
-1 & 2 & -1 \\ −1 2
& -1 & 2 \\
\end{pmatrix}$ une matrice.
4. Pour écrire des équations sur plusieurs lignes, là encore on remplacera avantageu-
sement array par un environnement mieux adapté ; citons en particulier
– gather, pour empiler des équations (elles seront numérotées) :
On a \begin{gather} On a
\Delta V=-\vec\nabla
\cdot(\nabla\vec E),\\ ~ · (∇E),
∆V = −∇ ~ (2)
\Delta V+ \frac{\rho} ρ
∆V + = 0. (3)
{\varepsilon_0}=0. ε0
\end{gather}
– align pour empiler des équations en les alignant verticalement 16 (elles seront
numérotées) :
On peut faire plusieurs colonnes d’équations (en rajoutant des &, généralement
placées avant le symbole de relation ; cf. § B.5) ;
– multline pour des formules très longues qui tiennent sur plusieurs lignes ; la
première est alignée à gauche, la dernière à droite et celles du milieu sont
centrées :
On a \begin{multline} On a
55= 1+2+3\\
+4+5+6+7\\ 55 = 1 + 2 + 3
+8+9+10. +4+5+6+7
\end{multline} + 8 + 9 + 10. (6)
Ces trois environnements (ainsi que equation) admettent une forme étoilée qui
supprime la numérotation :
16. Proscrire l’usage de eqnarray.
15
On a enfin \begin{align*} On a enfin
(a+b)^2 &= (a+b)(a+b)\\
&= a^2+ab+ba+b^2\\ (a + b)2 = (a + b)(a + b)
&= a^2+2ab+b^2 && \text{ = a2 + ab + ba + b2
car\dots}
= a2 + 2ab + b2 car. . .
\end{align*}
5. L’environnement split, un peu à part : il permet, alors que l’on est déjà en mode
mathématique hors-texte, de scinder une équation (qui est trop longue pour tenir
sur une seule ligne) ; il nécessite donc d’être placé dans un environnement mathé-
matique et il n’apporte pas de numérotation. Donnons deux exemples d’utilisation.
(a) On souhaite un alignement vertical (ce que ne procure pas multline) :
(b) On est déjà dans un environnement mathématique hors-texte (ce qui empêche
l’usage de multline) :
16
Exercice 15 (avec \eqref{}). On a l’identité remarquable, numérotée (11) :
Exercice 17 (avec \underbrace{}{}). Soit (un )n∈N définie par u0 ∈ 0, π2 et
∀n ∈ N, un+1 = sin(un ). Alors on peut montrer successivement que :
lim un = 0,
n→+∞
r
3
un ∼ ,
+∞ n
r √
3 3 3 ln n ln n
un = − √ +o √ .
+∞ n 10 n n n n
| {z }
ln
√n
=O n n
17
Ainsi, en ajoutant ces deux lignes dans le préambule,
\newtheorem{prop}{Proposition}
\newtheorem{cor}[prop]{Corollaire}
(Dans ce dernier exemple un titre a été donné à l’énoncé, via des crochets ; un \label{},
lui aussi facultatif, a été donné pour pouvoir faire référence au corollaire plus tard.)
Pour varier l’affichage des énoncés (i.e. avoir par exemple une mise en forme pour
les définitions qui soit différente de celle des théorèmes, propositions, lemmes, . . .), on
dispose de trois styles de composition : plain, definition et remark ; il est aussi possible
de ne pas numéroter un type d’énoncé. Voir l’exercice 20 ci-après pour la syntaxe.
18
Exercice 20. Charger amsthm (au moyen de \usepackage{amsthm} placée avant
\usepackage{babel}) et écrire les quelques lignes suivantes dans le préambule.
\theoremstyle{plain}
\newtheorem{thm}{Théorème}
\theoremstyle{definition}
\newtheorem{defi}[thm]{Définition}
\theoremstyle{remark}
\newtheorem{exe}{Exemple}
\newtheorem*{rmq}{Remarque}
Définition 1 (Base hilbertienne). Soit (H, h·, ·i) un espace de Hilbert. On dit qu’une
famille (ei )i∈I est une base hilbertienne de H si elle est orthogonale, normée et totale.
Définition 2. Un espace métrique (E, d) est dit séparable si tout ouvert non vide de
E contient au moins un point d’une partie dénombrable de E.
3. On a
(en , n ∈ N)⊥ = {0}.
19
3.6.3 Pour aller plus loin : vers l’infini et au-delà !
Donnons ici quelques références commentées apportant des informations pour aller plus
loin en mathématiques avec LATEX.
Documents généraux :
– Consulter [mpg, § 4] pour trouver plus ou moins les mêmes outils que dans
ce polycopié, mais rédigés sous forme de cours ; on y trouvera à coup sûr les
informations nécessaires pour traiter les exercices de ce TP-cours.
– Consulter [B&C, § 4] pour trouver une présentation riche et pédagogique des
possibilités de base en mathématiques ; ce livre, d’une grande qualité, amène
progressivement le débutant vers un très bon niveau d’utilisateur.
– Consulter [2], qui est une tentative de rassembler toutes les possibilités (com-
mandes, options, packages, etc.) pertinentes pour faire des mathématiques.
Il s’agit d’un document très riche mais de haut niveau ; en particulier, savoir
que les parties I (traitant de LATEX sans amsmath) et III (traitant de TEX)
dépassent largement le cadre de ce TP-cours d’initiation.
Packages généraux :
– Consulter [3] (documentation de amsmath) pour exploiter à fond ses possibi-
lités. En particulier : § 3 (dont la table 3.1) pour d’autres environnements sur
l’agencement des formules, § 4 et 5 pour diverses notations mathématiques
(coefficients binomiaux, fractions continuées, parenthésages, modulo, . . .), § 8
pour des diagrammes commutatifs simples (i.e. sans diagonale 19 ).
– Se servir de mathtools. Ce package peut avantageusement remplacer amsmath ;
en fait, il le charge 20 , corrige certains de ses bugs et le complète (en −−−* 0).
n→∞
Packages ciblés :
– Se servir de thmtools. Il s’utilise conjointement avec amsthm 21 , en proposant
une interface plus facile à utiliser et en étendant certaines de ses possibilités
(passage à la ligne après l’affichage du titre numéroté, affichage d’une liste
des théorèmes, . . .). Des exemples figurent dans [B&C, § 4.8].
Symboles
– Avoir la liste distribuée en cours (issue de [4]) ; elle regroupe les plus courants.
– Avoir [5], qui est une liste exhaustive (§ 3 pour les mathématiques).
– Utiliser le site Internet Detexify [6] qui permet, en dessinant un symbole à la
souris, de trouver la commande qui lui correspond !
19. Pour des diagrammes plus compliqués, mais au détriment d’une manipulation moins facile, voir
les outils graphiques de LATEX (cf. § 4.4).
20. Toutes les fonctionnalités d’amsmath sont donc disponibles.
21. Ou avec ntheorem, package qui peut s’utiliser à la place de amsthm : il propose plus de fonction-
nalités (ntheorem est à charger après babel).
20
4 Fonctionnalités plus avancées
4.1 Mise en page et structure du document
Présentons ici des commandes et fonctionnalités permettant d’améliorer la présentation
d’un document (se reporter à [mpg] et à [B&C] pour davantage d’informations).
Titre d’un document et page de garde : il est possible de formaliser l’affichage du
titre d’un document ; cela se fait en deux temps :
1. Donner les informations à LATEX (intitulé, auteur(s), date), de préférence dans
le préambule.
2. Demander à LATEX d’afficher le titre : il suffit pour cela d’insérer la commande
\maketitle à l’endroit voulu (généralement au début du document !).
Par exemple, en ayant écrit dans le préambule
%Intitule
\title{Initiation \LaTeX{}\thanks{ENS Cachan Bretagne}}
%Auteurs
\author{\bsc{Nom1}\\ Univ.~1 \and
\bsc{Nom2}\thanks{\texttt{[email protected]}}\\ Univ.~2}
%Date
\date{9 janvier 2012}
la commande \maketitle produit un titre proche de celui de ce polycopié. Obser-
vez deux autres moyens de gérer la date en supprimant la dernière ligne ci-dessus
puis en la remplaçant par \date{}.
Il existe l’environnement titlepage pour personnaliser entièrement la page de titre.
Table des matières : la commande \tableofcontents permet d’afficher la table des
matières à l’endroit où elle est appelée.
Exercice 21. En reprenant l’exercice 13, insérer une table des matières au
tout début. Compiler, observer ; compiler et observer de nouveau. Ensuite,
faire chacune des étapes suivantes, en observant à chaque fois le résultat de
la (des) compilation(s) :
1. Modifier un titre de section et ajouter une section.
2. Ajouter \section[Titre court]{Titre long, vraiment long}.
3. Placer \addcontentsline{toc}{section}{\protect Conclusion}
juste après \section*{Conclusion}. 22
Notes de bas de page : elles s’utilisent avec \footnote{} comme ceci 23 . Observez
que dans un tableau cette commande ne fonctionne pas et trouvez comment faire 24 .
22. Explication : cette nouvelle commande permet d’insérer une ligne dans la toc (table of contents),
contenant un titre de niveau section qui s’appelle Conclusion. \protect permet de . . . protéger ,.
23. Je suis une note de bas de page ; je commence par une majuscule et me termine par un point.
24. Solution : grâce à \footnotemark et \footnotetext{}. . .
21
Bibliographie : nous décrivons ici une manière « manuelle » de faire une bibliographie
qui convient pour quelques références (par contre, dans l’optique d’une utilisation
intensive de LATEX, il convient de faire appel à des outils plus puissants 25 ) ; il s’agit
de l’environnement thebibliography qui s’utilise comme suit :
1. À l’endroit où doit apparaitre la bibliographie, on place cet environnement ;
il contient la liste des données bibliographiques, chacune étant introduite par
\bibitem{<étiquette> }.
2. Lorsque l’on veut renvoyer à un ouvrage de la bibliographie au cours du
document, on utilise \cite[<endroit> ]{<étiquette> }.
Par exemple, en écrivant à la fin d’un rapport de stage
\clearpage
\begin{thebibliography}{99}
\bibitem{degond} Pierre \textsc{Degond}. \og Macroscopic
limits of the Boltzmann equation\string: a review\fg.
Chapitre issu de \emph{...}, Springer, \oldstylenums{2004}.
\end{thebibliography}
cela affiche la bibliographie sur une nouvelle page et permet d’écrire à tout endroit
du fichier source : voir~\cite[§~truc]{degond} ou voir~\cite{degond}.
Entêtes et pieds de page : là encore, plusieurs possibilités. On peut utiliser les outils
déjà existants de LATEX (mais assez limités), faire appel à un package (fancyhdr en
particulier) ou créer ses propres entêtes et pieds de page. Pour la première solution,
il suffit d’utiliser les commandes \pagestyle{<style> } (dans le préambule) ou
\thispagestyle{<style> } (à l’endroit désiré dans le document), en remplaçant
<style> par plain (valeur par défaut sous article et report), empty ou headings.
Annexes : il suffit d’écrire \appendix à l’endroit où débute les annexes puis d’utiliser
les commandes de sectionnement déjà vues.
Gestion des espaces : les blancs tapés dans le fichier .tex ne sont pas toujours inter-
prétés par LATEX, qu’ils soient horizontaux ou verticaux (cela peut permettre de
rendre plus lisible le fichier source) ; par exemple :
22
le point (1 pt ∼ 10−2 cm), qui sont des unités fixes, ainsi que le « em », qui
est une unité relative (1 em ' largeur de la lettre M majuscule dans la police
courante). On comprend très vite l’immense intérêt de cette unité relative : si
l’on est amené à changer la taille des fontes d’un document, ces espaces relatifs
s’adapteront automatiquement !
Pour faire des espaces horizontales, on dispose en particulier de : \, (espace fine),
\␣ (espace inter-mot classique), \quad (cadratin, qui vaut 1 em) et \qquad (double
cadratin), qui sont des espaces de longueurs prédéfinies ; citons enfin \hspace{},
pour avoir une espace de taille quelconque, qui prend en argument une valeur po-
sitive ou négative, avec une unité de longueur. En mode mathématique, on dispose
aussi de la commande 26 \! qui permet de réaliser une espace fine négative.
Pour faire des espacements verticaux, on peut utiliser \vspace{} ; mais si l’on sou-
haite espacer ses paragraphes, on privilégiera \smallskip, \medskip et \bigskip,
qui sont des blancs relatifs. Cependant, pour utiliser correctement ces trois der-
nières possibilités, il faut les appeler en dehors d’un paragraphe, c’est-à-dire avoir
une ligne vide avant et après dans le fichier source :
\includegraphics[<options> ]{fichier}
qui permet d’insérer une image existante et d’ajuster l’échelle, l’orientation, etc. Les
exemples suivant présentent quelques-unes des options ; on renvoie à [mpg, § 6.1.3] pour
une description plus détaillée. Remarquons que dans ces exemples, l’extension du fi-
chier img n’est pas précisée : c’est tout à fait licite, et même préférable (cf. conseil
ci-dessous).
26. En fait, grâce au package amsmath, cette commande fonctionne en mode texte.
27. Voir le paragraphe 4.3.
28. Si les graphiques ou autres courbes proviennent naturellement de logiciels scientifiques (scilab,
matlab, maple, etc.), la création de dessins figuratifs est plus délicate et fera l’objet du paragraphe 4.4.
29. Ne pas charger graphics, sur lequel il repose mais à la syntaxe moins agréable.
23
\begin{center}
\includegraphics[scale=.4]{img}
\includegraphics[width=2cm,
angle=45]{img}
\end{center}
4.3 Flottants
Les flottants sont un outil efficace pour placer (dans le document final) des objets déjà
créés 32 ; cependant, l’utilisateur se retrouve souvent confronté à des problèmes. Présentons
ici brièvement ce que sont les flottants et à quel moment des difficultés peuvent intervenir ;
ensuite, donnons la syntaxe pour créer de tels objets et pour aborder la résolution des
problèmes qui s’y rapportent.
4.3.1 Présentation
LATEX permet de créer des tableaux et d’insérer des images : ce sont parfois des objets
occupant beaucoup de place verticalement et qui peuvent donc poser des problèmes de
mise en page. Imaginons par exemple qu’il reste moins de 5 cm en bas d’une page au
moment d’insérer une figure : que va-t-il se passer si cette dernière fait plus de 5 cm ?
Eh bien nous devons la mettre sur la page suivante, où elle aura de la place ; mais alors
surgit un problème : cela va laisser 5 cm de vide sur la page précédente 33 .
30. Des outils gratuits (disponibles sous Linux, Mac OS et Windows) font ces conversions : Inkscape,
en ouvrant une image puis en la sauvegardant dans un autre format (TheGimp procède de même mais
sans la gestion des formats vectoriels, i.e. eps et pdf) ; ImageMagick, en ligne de commande.
31. Cela prend bien sûr plus de place sur le disque dur mais évite bien des déboires. . .
32. Tels que des images (cf. § 4.2) ou des tableaux.
33. Et ce sera moche !
24
LATEX peut remédier à ce problème car il offre la possibilité de faire de cette figure
un flottant, c’est-à-dire que sa position dans le document pourra être différente de celle
dans le fichier source ; en quelque sorte, on laisse une certaine liberté de placement : on
laisse sa figure « flotter ». Dans notre exemple ci-dessus, LATEX va débuter une nouvelle
page pour insérer la figure mais continuera d’écrire du texte sur la page d’avant, tant
qu’il y aura de la place.
Arrive alors le problème fréquent suivant : l’utilisateur n’est pas content des choix
de placement faits par LATEX ; en effet, un flottant est souvent affiché en début (ou fin)
de page, ce qui ne semble pas toujours cohérent. Deux réponses au moins à cela :
– on peut préciser à LATEX ses préférences, afin d’influencer ces choix ;
– il faut garder à l’esprit 34 que LATEX sait très bien gérer la mise en page, afin que
le document soit agréable à lire : cette gestion ne satisfait pas toujours l’auteur du
premier coup, mais les décisions de LATEX sont généralement très performantes 35 .
4.3.2 Réalisation
Deux environnements existent pour créer des flottants : table et figure ; ils font tous
les deux sensiblement la même chose, mais le premier est habituellement utilisé pour des
tableaux et le second pour des figures, schémas, images, etc. On peut alors
1. Émettre des préférences de placement, parmi les quatre suivantes : ici, en haut de
page, en bas de page, sur une page flottante réservée à des flottants ; ces choix se
font respectivement via les quatre lettres : h, t, b et p. Plusieurs choix peuvent être
donnés, par exemple \begin{table}[htbp] : LATEX essayera de placer le flottant
« ici » puis, s’il ne le peut pas, passera aux autres options.
2. Légender un flottant, à l’aide de \caption{}.
3. Référencer (cf. § 3.5) un flottant, à l’aide de \label{} (prendre garde à bien mettre
cette étiquette après la légende).
Voici un exemple (avec fichiers sphero.eps et sphero.pdf dans dossier image) :
\begin{figure}[ht]
\centering %pour centrer
\includegraphics{image/sphero}
Bla bla (commentaires et explications sur la figure)
\caption{Les trois zones d’un sphéroïde}
\label{fig-troisZones}
\end{figure}
Attention : il faut bien comprendre que figure ne sert pas du tout à insérer une image,
mais à la faire flotter (c’est \includegraphics[]{} qui l’insère).
34. Ou se convaincre. . .
35. Les règles de placement ainsi que les paramètres pris en compte pour la gestion des flottants sont
nombreux et techniques ; cela est donc à double tranchant : le résultat est satisfaisant dans de nombreux
cas mais en contrepartie, lorsqu’il ne l’est pas, il devient compliqué de savoir d’où vient le désaccord avec
les choix de LATEX.
25
Plein de contraintes rentrent en compte pour le placement des flottants (nombre
maximal de flottants par page, etc.) ; cela fait que les problèmes apparaissent essentielle-
ment dans deux cas : si les flottants sont très gros ou s’il y en a beaucoup 36 . Le premier
réflexe peut être de se demander s’il est pertinent de mettre plein de flottants dans son
document ; ensuite, on peut agir sur les options de placement 37 . Enfin, il est aussi pos-
sible (mais déconseillé) de relâcher certaines de ces contraintes, via un « ! » : on écrira
[!h] si l’on souhaite vraiment que le flottant soit ici, au détriment des règles esthétiques
de LATEX. Voir [B&C, § 7.1.1] pour mieux comprendre le fonctionnement des flottants.
Enfin, comme pour la note page 19, ne jamais écrire « la figure ci-dessous » mais
« la figure~\ref{fig-truc} » (en ayant préalablement référencé cette figure).
\begin{pspicture}(6,6)
\pstTriangle[PointSymbol=none](4,1){A}(1,3){B}(5,5){C}
O
\pstCircleABC[CodeFig=true,CodeFigColor=blue, B
linecolor=red,PointSymbol=none]{A}{B}{C}{O}
\end{pspicture}
A
36. En effet, tant qu’un flottant n’est pas placé, tous les suivants (même s’ils ne gênent pas LATEX)
sont mis en attente (pour respecter l’ordre d’apparition).
37. LATEX est assez chatouilleux sur ces options. S’il y a beaucoup de flottants, leur attribuer une page
entière (option p) peut être utile. Pour un contrôle fin du placement des flottants, voir [B&C, § 7.4].
38. Peut-être trop. . . ? Certains de ses packages sont incompatibles entre eux.
39. Tout débutant y trouvera néanmoins largement son bonheur ; et il s’enrichit d’année en année.
26
L’extension pst-circ fournit des macros pour dessiner des circuits électriques :
L i(t) R
\begin{pspicture}(7,4.5)
\pnode(0,0){A}\pnode(5,0){B}\pnode(0,4){C}
\pnode(5,4){D}\Ucc[labeloffset=-1.1](A)(C){$e(t)$}
\wire(A)(B)\multidipole(C)(D)\coil{$L$} e(t) R C
\resistor[intensitylabel=$i(t)$]{$R$}.
\resistor(D)(B){$R$}\capacitor[parallel](D)(B){$C$}
\end{pspicture}
27
4.5 Transparents et présentations
LATEX fournit la classe slides pour mettre en page des transparents. Toutefois, il
existe un meilleur moyen de créer des présentations ou diaporamas au format pdf grâce
à LATEX : il s’agit d’une nouvelle classe LATEX, nommée beamer. Elle génère des « trans-
parents » (frames) qui peuvent être affichés en plusieurs étapes par une succession de
couches (slides). Pour obtenir une sortie beamer, le début du document est un peu dif-
férent de celui habituellement utilisé (cf. page 4) : la figure 3 en présente un exemple.
\documentclass[french]{beamer}
\usetheme{Warsaw}
\begin{document}
\begin{frame}
Bienvenue devant ma présentation !
\end{frame}
\end{document}
28
bandes de couleurs, des symboles de navigation, le nom de l’auteur, le titre de la section,
un logo, etc. Une image étant toujours plus parlante que des mots, un exemple de frame
est donné sur la figure 4.
Dans le corps du transparent, on peut intégrer des tableaux, des listes, des formules,
des définitions, des théorèmes, des remarques et à peu près tout ce qu’on peut faire
classiquement en LATEX. Attention, il existe des exceptions à cette règle, par exemple
l’insertion d’un environnement verbatim nécessite une option fragile. Sans cette option,
la compilation échoue.
Une utilisation classique de beamer est l’emploi des blocks. Par défaut, les théorèmes,
exemples, définitions et preuves sont dans des blocks.
\begin{frame}
\frametitle{Les environnements
cadrés}
\begin{definition}
environnement definition
\end{definition}
\begin{example}
environnement example
\end{example}
\begin{proof}
environnement proof
\end{proof}
\begin{theorem}
environnement theorem
\end{theorem}
\end{frame}
29
Par ailleurs, il existe d’autres types de blocks, dont les détails peuvent être redéfinis
manuellement.
\begin{frame}
\begin{block}{Un bloc normal}
Texte du block \texttt{block}
\end{block}
\begin{alertblock}{Un bloc alerte}
Texte du block \texttt{alertblock}
\end{alertblock}
\begin{exampleblock}{Un bloc exemple}
Texte du block \texttt{exampleblock}
\end{exampleblock}
\end{frame}
Enfin, il existe une commande très pratique : la commande \pause. Elle permet
d’empêcher une partie du transparent d’apparaitre : elle gèle en quelque sorte l’affichage
complet du transparent.
\begin{frame}
Ceci s’affiche en premier.\\
\pause
Cette partie ne s’affiche que
lorsque je suis pr\^et.\\
\pause
Cette derni\‘ere partie
appara\^it encore apr\‘es.
\end{frame}
On peut se demander à quoi cela sert, car il suffirait de faire 3 transparents différents
30
pour obtenir le même résultat. Passant le fait que cela est beaucoup plus contraignant,
on note en particulier que le compteur de transparents ne s’incrémente pas. De plus, de
nombreuses options permettent de changer l’ordre d’affichage, revenir en arrière, modifier
la forme du texte de manière temporaire, etc. C’est ici qu’apparait la notion de couches,
notion quelque peu complexe qu’on n’abordera pas ici.
Pour plus de détails, on consultera l’excellente page [8] ou le livre [B&C, § 10] ;
l’exemple de beamer proposé en dernière séance pourra aussi servir !
31
A Typographie française
L’objet de cette annexe est de présenter quelques-unes des règles les plus élémentaires
de la typographie française et leur mise en forme (simplifiée) grâce à LATEX.
A.2.2 Abréviations
– Une abréviation qui ne se compose que des premières lettres du mot se termine
par un point (référence = réf.).
– Une abréviation qui se termine par la dernière lettre du mot ne comporte pas de
point final (boulevard = bd).
– L’abréviation de groupe de mots n’a pas de point final (s’il vous plait = svp).
43. C’est ainsi que nous désignons ce package muni de cette option dans ce polycopié.
32
Voici quelques exceptions souvent utilisées :
c’est-à-dire c.-à-d. ou c-à-d
confer cf.
environ env.
et cætera etc. (pas de point de suspension ni de répétition)
exemple ex.
figure fig.
idem id.
id est i.e.
page p. (ne se répète pas : p. 127 et 128)
paragraphe § (ne se répète pas : § 4 et 5)
numéro, numéros no , nos (et No , Nos )
premier, premiers 1er, 1ers
première, premières 1re, 1res
deuxième, deuxièmes 2e, 2es
primo, secundo, tertio 1o , 2o , 3o
degré (Celcius) 39 ˚C (espace insécable)
degré (alcoolique) 40˚ (pas d’espace en français)
monsieur, messieurs M., MM. (pas de « Mr », abréviation de l’anglais mister)
madame, mademoiselle Mme, Mlle
L’abréviation « § » est fournie par LATEX : \S ; les autres se codent facilement grâce à
babel/frenchb : \no, 1\iers{}, 2\ieme{}, \primo{}, 39~\degres{} C, M\up{me}, . . .
A.2.3 Ponctuation
Un mauvais emploi de la ponctuation peut rendre difficile la lecture, ou même changer
le sens d’une phrase. Quelques rappels :
– les phrases se terminent par un point final, un point d’exclamation, un point d’in-
terrogation ou un point de suspension ;
– la virgule sépare les parties d’une proposition ou d’une phrase à condition qu’elles
ne soient pas déjà réunies par les conjonctions et, ou, ni. Elle sépare les énuméra-
tions. Elle isole les mots mis en apostrophe. On ne met pas de virgule avant une
parenthèse, un tiret ou un crochet ;
– le point virgule sépare différentes propositions de même nature ;
– le deux-points introduit une explication, une citation, une énumération ;
– le point de suspension est toujours composé de trois points (utiliser \dots{}) ;
– les parenthèses intercalent une précision dans la phrase ;
– les crochets indiquent une précision à l’intérieur d’une parenthèse ou une coupure
dans une citation ;
– employé seul, le tiret signale chaque terme d’une énumération ou le changement
d’interlocuteur dans un dialogue. Employés par paires, ils s’utilisent comme les
parenthèses ; en fin de phrase, le tiret fermant est supprimé avant le point final.
33
A.2.4 Énumérations
On peut distinguer deux types d’énumérations :
– celles qui arrivent en cours de phrase :
– elles sont introduites par un deux-points et chaque terme commence par une
minuscule,
– celles de premier rang sont introduites par un tiret et se terminent par un
point-virgule (même s’il y a plusieurs phrases dans l’énumération), sauf la
dernière par un point final,
– celles de second rang sont introduites par un tiret décalé et se terminent par
une virgule, sauf la dernière par un point virgule ;
– celles qui débutent une phrase : chaque terme commence alors par une majuscule
et se termine par un point (voir un exemple au paragraphe A.2.5).
En général, lorsque chaque élément de l’énumération est introduit par un numéro (ou
autre symbole) suivi d’un point, on applique toujours le 2e type ci-dessus.
A.2.5 Divers
– On rappelle que l’accent a pleine valeur orthographique ; en conséquence on met
les accents sur les majuscules.
– On écrit « on résout », « quel que soit », « quelles que soient », « intéresser » et
« on rappelle qu’il est rappelé ».
– Une erreur très fréquente est l’abus de majuscules.
Enfin, on n’oubliera pas d’être informé de la « nouvelle orthographe », réforme ortho-
graphique de l’Académie Française datant de 1990 ; l’emploi de ces rectifications n’est
pas imposé, mais il est recommandé (en particulier, aucune des deux graphies ne peut
être tenue pour fautive). Citons deux des dix nouvelles règles :
– « On emploie l’accent grave (plutôt que l’accent aigu) dans un certain nombre de
mots (pour régulariser leur orthographe), au futur et au conditionnel des verbes
qui se conjuguent sur le modèle de céder, et dans les formes du type puissè-je ».
Ex : évènement, je cèderai ;
– « L’accent circonflexe disparait sur i et u. On le maintient néanmoins dans les
terminaisons verbales du passé simple, du subjonctif et dans cinq cas d’ambigüité »
(motivation : « sur i et u, l’accent circonflexe ne joue aucun rôle phonétique ; il est
l’une des principales causes d’erreurs et son emploi, aléatoire, ne peut être justifié
par l’étymologie. »). Ex. : cout, il parait ; dû, sûr, mûr, jeûne.
Ces quelques lignes sont issues de [9], court document qui résume cette réforme, l’ex-
plique, en décrit les avantages et donne des remarques ainsi que des exemples.
34
B Explications complémentaires au TP-cours
Dans cette annexe, expliquons certains points non détaillés pendant les séances, afin
de mieux les comprendre et de savoir les utiliser efficacement. Pour des explications plus
exhaustives, se reporter aux ouvrages sur LATEX ([mpg] et [B&C] sont des valeurs sures).
Paramétrage de TEXstudio Pour régler l’encodage sur UTF-8 : aller dans le menu
Options > Configurer TeXstudio > Éditeur, sélectionner UTF-8 en face du champ
Codage d’entrée des caractères ; s’assurer que la case Auto-détection est cochée.
Après cela, UTF-8 doit s’afficher en bas à droite de l’écran. Pour un changement occasion-
nel d’encodage, aller dans le menu Éditer > Sélectionner le codage d’entrée...
44. Précédemment dénommé TexMakerX.
45. Ce dossier, ainsi que le .exe téléchargé, pourront être supprimés après l’installation.
46. Pour trouver TEXstudio, aller sur http://texstudio.sourceforge.net/ ; sous Mac OS, s’il affiche
Erreur: impossible de lancer la commande à la première compilation, voir la note d’installation en-
voyée par email ou [B&C, p. 12].
47. En particulier, pour éviter d’avoir des paramétrages à faire après l’installation, mettre le champ
Créer les liens symboliques dans les répertoires systèmes à Oui.
35
B.1.2 Fonctionnement : les quatre étapes décrites à la section 1
L’étape 1 pourrait se faire via un éditeur « quelconque », comme Nedit (sous Li-
nux), TextEdit (sous Mac OS) ou WordPad (sous Windows) ; mentionnons aussi Emacs,
éditeur de texte non graphique mais polyvalent et disponible sur tous les systèmes d’ex-
ploitation : ses adeptes sont nombreux (la saisie d’un fichier .tex est facilitée grâce à
l’extension AucTEX). Les autres étapes se feraient alors alors via une fenêtre de com-
mande (où l’on taperait « à la main » latex TP_init.tex pour compiler). Néanmoins,
il existe des éditeurs de texte orientés LATEX qui permettent de faire ces étapes beaucoup
plus agréablement, en quelques clics : c’est ce que nous avons utilisé en séance et nous
conservons ce point de vue dans la suite, où nous donnons quelques remarques propres
à chaque étape.
Pour saisir son document (étape 1), plusieurs éditeurs de texte existent, dont
– sous Linux : Kile, Texmaker, TEXstudio (ex-TexMakerX) ;
– sous Mac OS : TEXShop, Texmaker, TEXstudio (ex-TexMakerX) ;
– sous Windows : TEXnicCenter, Texmaker, TEXstudio (ex-TexMakerX), WinEdt 48 .
Ces éditeurs de texte (ou interfaces graphiques) sont l’endroit où l’on tape son fi-
chier source ; ils sont à distinguer de « ce qui fait fonctionner LATEX » à proprement
parler, c’est-à-dire de ce qui fait fonctionner la compilation (étape 2). On parle alors
de distributions LATEX ; ces dernières ne sont pas non plus les mêmes selon les systèmes
d’exploitation. Citons sous Linux et Mac OS : TEXLive ; sous Windows : MiKTEX ou
TEXLive.
Après la compilation, LATEX a produit le fichier TP_init.dvi ; il en a aussi créé
d’autres (qui lui ont été utiles), mais les éditeurs de texte savent choisir le bon lorsque
l’on demande de visualiser (étape 3). Le logiciel de visualisation est en général fourni avec
la distribution LATEX (Yap pour Windows, xdvi ou kdvi pour Linux, xdvi pour Mac) ; ce
format dvi nécessite cependant que LATEX soit installé pour s’ouvrir correctement : c’est
en quelque sorte un outil de travail pour le rédacteur, un peu comme un brouillon 49 .
Une fois que le document est sous sa version finale, on souhaite en général l’imprimer
ou le diffuser (étape 4) : on utilise alors le format pdf (le format ps existe aussi). Les
éditeurs de texte cités ci-dessus permettent de faire ces conversions en quelques clics :
on obtient alors un fichier lisible et imprimable par tous !
36
L’autre mode de compilation dit « pdf direct » (ou PDFLATEX) compile, comme son
nom l’indique, directement TP_init.tex en TP_init.pdf :
pdflatex
tex −−−−−→ pdf.
Attention : ce deuxième mode de compilation n’est pas un simple raccourci du pre-
mier. Certains fichiers sources ne se compileront pas correctement avec PDFLATEX (no-
tamment si l’on utilise PSTricks 50 , qui a besoin — en général — d’un passage par le
format ps) 51 , alors que pour d’autres ce sera l’inverse.
Il est surtout très important de faire attention au mode de compilation lors de l’in-
clusion d’images (cf. § 4.2) : PDFLATEX ne permet d’incorporer que des fichiers .jpg,
.png et .pdf, alors que l’autre mode ne permet d’incorporer que des fichiers .ps et .eps.
Nous suggérons d’utiliser les formats eps et pdf (qui sont des formats vectoriels) : beau-
coup de logiciels mathématiques (maple, matlab, scilab, etc.) proposent d’enregistrer leur
graphique en .eps ; de plus, des logiciels gratuits (cf. note no 30 page 24) permettent de
faire des conversions vers une telle extension ou en .pdf.
Que retenir de ces deux modes de compilation ? Le plus simple nous parait de
faire un choix et de s’y tenir dans un maximum de cas ; ne faire alors appel à l’autre
mode que lorsqu’il semble incontournable.
B.2 Le \documentclass
Le \documentclass permet de donner la classe (ou le type) du document que l’on
souhaite rédiger ; LATEX en propose au moins cinq (article, report, book, letter, slides) mais
il en existe d’autres (comme beamer). Nous ne présentons ici que les trois premières (voir
paragraphe 4.5 pour slides et beamer) :
– article convient pour un document court (moins de 30 pages) tel qu’un article de
recherche, un petit rapport (TP, projet, etc.), une documentation, etc. ;
– report utile pour un document de taille moyenne, tel qu’un rapport de stage, etc. ;
– book est à réserver pour un long document tel qu’un livre, un mémoire de thèse,
un polycopié de cours, etc.
En fait, le choix de la classe n’est pas aussi rigide : chaque classe offre quelques fonction-
nalités différentes (voir ci-dessous) et c’est selon ses préférences que l’on choisit la classe
pour les cas limites (comme un rapport de stage d’une trentaine de pages. . .).
Des options peuvent être ajoutées à la déclaration de classe, en particulier :
– la taille du corps de base : 10pt (par défaut), 11pt ou 12pt ;
– l’option titlepage qui indique qu’une nouvelle page doit être commencée après
l’ajout du titre par \maketitle 52 ;
50. Voir paragraphe 4.4.
51. Signalons que des packages existent pour contourner certains de ces obstacles : voir hyperref,
urlbreak, pdftricks, . . . ce dernier n’étant pas efficace dans 100% des cas.
52. Voir paragraphe 4.1.
37
– le choix d’une composition en recto-verso (twoside) ou en recto (oneside) : un docu-
ment recto-verso a des marges de droite et de gauche différentes selon que la page
est paire ou impaire (pour permettre une reliure centrale après impression) 53 ; cette
option n’influe en rien sur le fait d’imprimer en recto-verso ou non !
Elles s’utilisent suivant la syntaxe
\documentclass[12pt,titlepage]{article}
Citons maintenant deux différences entre ces trois classes : tout d’abord, report et
book admettent le sectionnement \chapter, contrairement à article 54 . Ensuite, LATEX
choisit les options par défaut et ces choix peuvent dépendre de la classe (ainsi article
et report sont par défaut sous oneside, alors que book ne l’est pas). Il est déconseillé de
modifier un grand nombre d’options car, pour une classe de document donnée, les choix
de LATEX sont bien souvent judicieux du point de vue de la mise en page.
38
– geometry permet de spécifier la dimension des pages du document (l’option par
défaut étant le format en vigueur aux États-Unis, il est important de préciser
l’option a4paper pour une impression qui se fera sur du papier A4). Ce package
est bien plus puissant : il facilite aussi un contrôle fin et complet des marges du
document (essayez [a4paper, body={16cm,24cm}]).
– amsmath et amssymb apportent des fonctionnalités supplémentaires en mode ma-
thématique. Remarquez la syntaxe (nous aurions pu aussi les charger au moyen
d’un \usepackage chacun) : en regroupant de la sorte, on peut rendre plus lisible
le fichier source 57 .
Qu’est-ce que l’encodage ? Grosso modo, chaque caractère saisi au clavier est codé
par un nombre lorsque le fichier .tex est enregistré sur l’ordinateur ; ce nombre est défini
par l’encodage de l’éditeur au moment de la saisie. Exemple : supposons que le nombre 130
représente un « é » dans l’encodage A et un « ç » dans l’encodage B ; supposons qu’un utilisateur
règle son éditeur sur le A et qu’il saisisse plusieurs é ; alors, s’il ouvre son fichier sur un éditeur
réglé sur l’encodage B, tous ces é seront devenus des ç. . . D’où l’intérêt de faire attention !
L’ordinateur (et LATEX) ayant été développés aux États-Unis (où les caractères accentués
n’existent pas), l’encodage « de base » ne possède pas ces caractères.
À l’heure actuelle (janvier 2012) le choix de l’encodage UTF-8 est à privilégier dès
que possible 58 , même si dans de (très) rares occasions il pose problème ; en effet, ses
avantages sont bien supérieurs à ses inconvénients. Donnons nos motivations.
– Pourquoi choisir l’UTF-8 ? C’est un encodage commun aux trois plateformes ha-
bituelles (Linux, Mac OS, Windows) et universel 59 , qui a vocation à s’imposer.
– Pourquoi peut-il poser problème ? LATEX a été créé avant l’UTF-8 : de rares packa-
ges ou fonctionnalités ne sont donc pas encore compatibles (il suffit alors, en géné-
ral, de revenir à la saisie « à l’ancienne » des accents). Par exemple, on ne peut pas
saisir de caractères accentués dans un code mis en forme par le package listings 64 .
57. Ce qui ne change rien pour LATEX lors de la compilation, mais facilite la lecture du fichier .tex.
58. Il n’est pas possible de l’utiliser avec les versions ≤ 1 de l’éditeur de texte TEXnicCenter (Windows)
qui ne supporte que l’encodage windows-1252. Nous recommandons de fuir cet éditeur, bien qu’il eut sa
période de popularité.
59. Il est commun à tous les systèmes d’exploitation et vise à regrouper l’ensemble des caractères
utilisés dans toutes les langues officielles de la Terre. (Whaou !)
39
D’autres encodages existent : ISO-8859-1 (ou latin1) sur Linux, Apple Roman propre à
Mac OS, windows-1252 propre à Windows (mais très proche du latin1).
Quel lien avec inputenc ? Grosso modo, ce package autorise l’utilisation dans LATEX
d’un encodage autre que celui de base. Il permet, via son option, d’indiquer à LATEX
quel est l’encodage utilisé par l’éditeur (car LATEX ne peut pas le deviner tout seul). Il
faut bien comprendre que ce choix d’option ne modifie en rien l’encodage sur lequel est
réglé l’éditeur : l’utilisateur se doit de donner à inputenc l’option qui coïncide avec le
paramétrage de l’éditeur ; pour faire ce choix, voir la table 1.
encodage 60 option
UTF-8 utf8
ISO-8859-1 latin1
windows-1252 cp1252
Apple Roman applemac
40
enumitem pour personnaliser les trois types de listes ; l’option shortlabel est souvent
celle recherchée. (Attention à la compatibilité avec babel/frenchb.)
fancyhdr pour personnaliser les entêtes et pieds de page.
fancyvrb pour personnaliser les saisies en mode verbatim.
floatrow pour personnaliser les flottants.
hyperref pour faciliter la navigation hypertexte dans les versions pdf (i.e. transformer
les \ref{}, \cite{}, etc. en liens cliquables) et pour gérer quelques outils offerts
par le format pdf (cf. [mpg, § 3.5.3]). À charger après babel.
listings pour mettre en forme des lignes de code ; il connait énormément de langages
informatiques 63 . Attention, utiliser des caractères propres à l’UTF-8 à l’intérieur
d’un environnement lstlisting peut être source d’incompatibilités 64 .
siunitx pour gérer l’écriture des unités ; on évitera l’usage de SIunits. . .
subfig pour gérer les sous-flottants.
thmtools pour accroitre et simplifier les possibilités de amsthm ; à charger avec amsthm.
titlesec pour personnaliser l’apparence des titres de sectionnement.
tocbibind pour ajouter automatiquement à la table des matières des entrées qui ne s’y
mettent pas toutes seules (commandes de sectionnement étoilées, etc.).
varioref pour améliorer et personnaliser l’utilisation des références (\ref et \pageref).
À charger après babel.
xspace pour ne pas avoir à taper des accolades à la fin de certaines commandes si l’on
veut une espace derrière (i.e. 1\ier exercice au lieu de 1\ier{} exercice, etc.).
41
d’environnement, de logiciel, etc. on a écrit, par exemple, \nom{beamer} au lieu
de \textsf{beamer}. C’est à priori se compliquer la vie, mais il n’en est rien : en
distinguant ainsi le fond et la forme dans le fichier source, on le rend plus lisible
et plus facile à corriger ; autre avantage : si au dernier moment on doit afficher ces
noms en type machine à écrire (par exemple pour se coordonner avec un col-
lègue qui aurait rédigé une autre partie du document), il suffit de changer un seul
endroit du fichier source et tout le reste en découlera automatiquement. D’autres
exemples convaincants sont présents dans le gros exemple (cf. § B.5).
3. Créer de nouveaux opérateurs mathématiques (certains opérateurs courants ou
francisés ne figurent pas dans LATEX) : \DeclareMathOperator{\divg}{\div}
pour l’opérateur divergence ; il permet d’écrire (dans le corps de document) :
Ces deux commandes ne permettent pas de renommer une macro déjà existante (par
exemple, \div existe sous LATEX). On remarque aussi que pour utiliser \eps définie ci-
dessus, on doit être en mode mathématique : en rajoutant la bonne commande dans la
définition de cette macro, on peut faire en sorte que LATEX passe automatiquement en
mode mathématique quand c’est nécessaire. . .
Mentionnons pour finir qu’il est possible de créer plein d’autres choses, dont des envi-
ronnements et des compteurs (cf. [B&C, § C.1 et C.2] librement accessible sur Internet).
65. Pour toute explication, consulter [mpg], [3], [B&C], etc. ou votre moteur de recherche favori.
42
\ D e c l a r e M a t h O p e r a t o r {\ rot }{\ o v e r r i g h t a r r o w {\ o p e r a t o r n a m e { curl }}} % operateur
gradient
Code à compiler :
16 Ne pas confondre \ verb_ | _ , \ verb |\ lvert | , \ verb |\ rvert | et \ verb |\ mid | ; ni \ verb_
\| _ , \ verb |\ lVert | et \ verb |\ rVert | ; ni \ verb |\ backslash | et \ verb |\ setminus |
:
18 \[
\ begin { array }{ r@ {\ quad \ l o n g r i g h t a r r o w \ quad } l }
20 \ text { pas bien } & \ text { bien }\\
a | b & a \ mid b \\
22 \ mathbb { P }( A | B ) & \ mathbb { P }( A \ sachant B ) \\
\{ x \ in A | x \ neq 0\} & \ ensemble { x \ in A \ tq x \ neq 0} \\
24 ||\ lambda x ||=|\ lambda |\| x \| & \ norm {\ lambda x }=\ abs {\ lambda }\ norm { x } \\
\ N ^*=\ N \ backslash \{0\} & \ N ^*=\ N \ setminus \{0\}
26 \ end { array }
\]
28
Regardez les deux codes sources distincts pour obtenir ces deux morceaux
identiques :
30 \[ \ left \{ x \ in A \ enskip \ middle |\ enskip \ frac { x }{10}\ ll 1\ right \} \ qquad \ ensemble {
x \ in A \ tq \ frac { x }{10}\ ll 1} \]
et adoptez l ’ utilisati o n des commandes p e r s o n n e l l e s !
32
\ ’ Equations de transport sous formes non c o n s e r v a t i v e et c o n s e r v a t i v e ( $a \ colon \
mathds { R }^ n \ to \ mathds { R }^ n$ ) :
34 \ begin { s u b e q u a t i o n s }
\ begin { align }
36 \ dpart { u }{ t }+ a \ cdot \ grad u &=0 ,\\
\ dpart { u }{ t }+ \ divg ( au ) &=0.
38 \ end { align }
\ end { s u b e q u a t i o n s }
40
Nous effectuon s les calculs suivants \ begin { align }
42 A &= \ dpart { f }{ t }( x , v , t ) + v \ cdot \ nabla_xf (x ,v , t ) + \ nabla_v \ cdot \ bigl ( F (x , v ) f (x ,v ,
t ) \ bigr ) \\
&= \ cdots \ notag \\
44 A &= \ dpart { f }{ t }( x , v , t ) + v \ cdot \ nabla_xf (x ,v , t ) + \ nabla_v \ cdot \ bigl ( F_ {\ text { I
}}( x , v ) f (x ,v , t ) \ bigr ) + \ nabla_v \ cdot \ bigl ( F_ {\ text { F }}( x , v ) f (x ,v , t ) \ bigr ) \
notag \\
\ intertext { qui donnent , plus lisiblem en t }
46 A &= \ dpart { f }{ t }+ v \ cdot \ nabla_xf +\ nabla_v \ cdot ( F_ {\ text { F }} f ) + \ nabla_v \ cdot ( F_
{\ text { I }} f ) . \ tag { $ \ clubsuit$ }
\ end { align }
48
\ begin { equation *}
50 x \ in \ emptyset \ iff x \ in \ varnothing \ iff \ left \{
\ begin { aligned }
52 x &\ nleq 0 \ quad \ text { et }\ quad x \ ngeqslant 0\\
x &\ neq 0
54 \ end { aligned }\ right .
\ end { equation *}
56
\ begin { align }
58 \ divg { E } &= \ frac {\ rho }{\ eps_0 } & \ divg { B } &= 0 \\
\ rot { E } &= -\ partial_tB & \ rot B &= \ mu_0 \ biggl [\ vec \ jmath +\ eps_0 \
partial_t E \ biggr ]
60 \ end { align }
43
Résultat de la compilation (après ajout de traits horizontaux pour séparer les exemples) :
Ne pas confondre |, \lvert, \rvert et \mid ; ni \|, \lVert et \rVert ; ni \backslash et \setminus :
Regardez les deux codes sources distincts pour obtenir ces deux morceaux identiques :
n o n o
x x
x∈A 1 x∈A 1
10 10
et adoptez l’utilisation des commandes personnelles !
∂f
A= + v · ∇x f + ∇v · (FF f ) + ∇v · (FI f ). (♣)
∂t
x0 et x0
x ∈ ∅ ⇐⇒ x ∈ ∅ ⇐⇒
x 6= 0
ρ
div E = div B = 0 (14)
ε0
−−→ −−→
curl E = −∂t B curl B = µ0 ~ + ε0 ∂t E (15)
44
B.6 Où trouver de l’aide ?
Si vous avez besoin d’aide, sachez qu’il y a de fortes chances que quelqu’un ait déjà
été confronté à votre problème avant vous : une réponse figure donc sans doute dans une
quelconque documentation. . .
– Parmi les polycopiés librement téléchargeables : polycopié de cours [mpg] et plus
généralement tous les documents accessibles depuis la page web de l’auteur (dont
les beamer auquel est rattaché ce polycopié), [pg] et plus particulièrement les
“comptes-rendus des séances” qui fournissent des introductions à plein d’outils
(dont tableaux, TikZ, BibTEX, index, glossaires, personnalisation, listings infor-
matiques, rudiments de programmation, raffinements mathématiques) et les “Do-
cuments de référence” ; ces deux pages web destinées à des débutants suffi-
ront amplement pour trouver plein d’informations utiles et efficaces. Il
y a aussi [4] (dont la version pdf est régulièrement actualisée sur Internet) et [12].
– Parmi les livres (niveaux débutant et intermédiaire) : le très pédagogique [B&C]
(dont des annexes sont accessibles librement en ligne) ou [10].
– Parmi les FAQ : le pdf en cours de rédaction [11], qui est sans doute la plus
complète en français.
– Pour ceux disposant d’un accès permanent à Internet, des FAQ et des forums (pour
débutants) en ligne existent : la partie LATEX des sites forum.mathematex.net et
les-mathematiques.net/phorum/ par exemple.
– Pour les mathématiques, quelques pistes figurent au paragraphe 3.6.3.
Le dernier recours reste d’utiliser son moteur de recherche favori et de s’accrocher
pour trouver la réponse la plus pertinente, en prenant garde au fait que la très populaire
FAQ de l’équipe Grappa de Lille ne semble plus mise à jour depuis longtemps.
45
Références
[B&C] Denis Bitouzé, Jean-Côme Charpentier. LATEX, l’essentiel. Pearson Educa-
tion France, 2010. (http://latex-pearson.org/ressources-2010.php pour
les compléments librement accessibles en ligne : approfondissements, solutions
des exercices du livre, etc.)
[mpg] Manuel Pégourié-Gonnard. Apprentissage et pratique de LATEX, aout 2009
(polycopié de cours pdf sur http://www.math.jussieu.fr/~mpg/lm204/).
[pg] Philippe Goutet. http://www.math.jussieu.fr/~goutet/latex/ (supports
pédagogiques au module LM204 – Initiation à LATEX ).
[1] Vincent Beck, Jérome Malick, Gabriel Peyré. Objectif Agrégation, 2e édition.
H&K, 2005.
[2] Herbert Voß. Math mode, décembre 2010 (document Mathmode.pdf sur Internet).
[3] American Mathematical Society. User’s Guide for the amsmath Package, février
2002 (document amsldoc.pdf sur Internet).
[4] Tobias Oetiker (pour la version anglaise), traduit en français. Une courte ( ?)
introduction à LATEX 2ε , avril 2011 (document lshort-fr.pdf sur Internet).
[5] Scott Pakin. The Comprehensive LATEX Symbol List, novembre 2009 (document
symbols-a4.pdf sur Internet).
[6] Site web Detexify (http://detexify.kirelabs.org/).
[7] Gérard Tisseau, Jacques Duma. TikZ pour l’impatient, aout 2011 (document pdf
sur http://math.et.info.free.fr/TikZ/).
[8] Mc Collilieux. Découverte de Beamer 3, novembre 2007 (document pdf sur http:
//mcclinews.free.fr/latex/introbeamer.php).
[9] La nouvelle orthographe, parlons-en !, septembre 2007 (document pdf sur http:
//www.orthographe-recommandee.info/).
[10] Céline Chevalier et co-auteurs. LATEX pour l’impatient. H&K, 2005.
[11] La FAQ de fr.comp.text.tex, novembre 2004 (document pdf sur http://
faqfctt.fr.eu.org/).
[12] Vincent Lozano. Tout ce que vous avez toujours voulu savoir sur LATEX sans ja-
mais oser le demander, octobre 2008 (document pdf sur http://cours.enise.
fr/info/latex/).
[13] Jacques André. Petites leçons de typographie, novembre 2008 (document pdf
sur http://jacques-andre.fr/).
46