0% ont trouvé ce document utile (0 vote)
199 vues46 pages

Initiation à LATEX pour étudiants

Ce document présente une initiation à Latex sous forme d'un cours en TP. Il fournit les bases pour débuter avec Latex et présente des fonctionnalités utiles pour la rédaction de rapports. Le document est destiné à des étudiants devant produire des documents de 10 à 50 pages.

Transféré par

Gojo Satoru
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
199 vues46 pages

Initiation à LATEX pour étudiants

Ce document présente une initiation à Latex sous forme d'un cours en TP. Il fournit les bases pour débuter avec Latex et présente des fonctionnalités utiles pour la rédaction de rapports. Le document est destiné à des étudiants devant produire des documents de 10 à 50 pages.

Transféré par

Gojo Satoru
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP d’initiation à LATEX ∗

Ludovic Goudenège Mathieu Leroy-Lerêtre Grégory Vial


Univ. Paris-Est Univ. Toulouse Univ. Lyon
12 mars 2012

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

2 Structure d’un fichier .tex 4

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

4 Fonctionnalités plus avancées 21


4.1 Mise en page et structure du document . . . . . . . . . . . . . . . . . . . 21
4.2 Inclusion d’images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3 Flottants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3.2 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.4 Schémas et graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.4.1 Créés directement dans LATEX . . . . . . . . . . . . . . . . . . . . . 26
4.4.2 Créés à l’extérieur de LATEX . . . . . . . . . . . . . . . . . . . . . . 27
4.5 Transparents et présentations . . . . . . . . . . . . . . . . . . . . . . . . . 28

A Typographie française 32
A.1 Avec LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
A.2 Quelques règles et usages . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

B Explications complémentaires au TP-cours 35


B.1 Compréhension et utilisation de LATEX . . . . . . . . . . . . . . . . . . . . 35
B.2 Le \documentclass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
B.3 Le préambule et les packages . . . . . . . . . . . . . . . . . . . . . . . . . 38
B.4 Le préambule et les macros . . . . . . . . . . . . . . . . . . . . . . . . . . 41
B.5 Gros exemple mathématique . . . . . . . . . . . . . . . . . . . . . . . . . . 42
B.6 Où trouver de l’aide ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

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 ».

1.1 Intérêt et utilité


LATEX, logiciel libre et gratuit, disponible sous Linux, Mac OS et Windows, est un
outil de composition performant conçu pour la rédaction de documents scientifiques de
qualité : il conviendra en particulier à toute personne ayant besoin de dactylographier
un texte contenant des équations, des symboles, etc. Toute publication de recherche en
mathématiques est faite avec LATEX et son utilisation s’étend à d’autres disciplines :
physique, informatique ou chimie par exemple. Il s’agit aussi d’un outil efficace dans
l’enseignement pour rédiger des supports de cours. Son usage est donc loin d’être réservé
à des spécialistes !
Remarquons dès maintenant que LATEX ne se limite pas à l’écriture d’équations : en
pouvant gérer tout seul la mise en page, la création d’une table des matières et plein
d’autres choses, il permet à l’utilisateur de se concentrer sur le fond (i.e. le contenu du
texte qu’il écrit) sans se préoccuper de la forme.

1.2 Prise en main


À la différence des traitements de texte usuels (tel MS Word), il ne s’agit pas d’un
logiciel où le résultat de la mise en forme (i.e. italique, indentation, etc.) s’observe au
fur et à mesure que l’on tape : avec LATEX, la phase d’édition (i.e. saisie du texte) et la
phase de relecture (i.e. visualisation du texte mis en forme) sont séparées. Autrement
dit, LATEX ressemble plus à un langage qu’il faut compiler afin de pouvoir voir le résultat
attendu ; c’est pour cela que sa prise en main est un peu plus longue.
Rédiger un document en LATEX se fait donc en plusieurs étapes, que nous décrivons
brièvement :
1. Saisie du code source : on crée un fichier avec l’extension .tex (que nous appelons
ici TP_init.tex) et l’on tape son code dans un éditeur de texte.
2. Compilation du fichier source : c’est ici que l’on fait appel à LATEX, qui est un
programme autonome ; cela crée plusieurs fichiers, dont TP_init.dvi.
3. Prévisualisation du fichier dvi : on observe à l’écran TP_init.dvi pour voir s’il
affiche bien ce qu’on voulait ; sinon, on corrige le fichier source.
4. Impression ou diffusion : on convertit son fichier au format pdf, pour l’imprimer
ou le transmettre à quelqu’un.
Ces quatre étapes sont très simples, mais les outils pour les mettre en place peuvent
porter des noms différents selon que l’on est sous un environnement Linux, Mac OS
ou Windows. Des informations à ce sujet, inutiles pour le TP-cours, sont résumées à
l’annexe B.1.2.

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).

Figure 1 – Exemple de fichier source « minimal »

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.

3.1 Démarrage avec TEXstudio (ex-TexMakerX)


L’éditeur de texte que nous utiliserons est TEXstudio, disponible gratuitement et
librement sous Linux, Mac OS et Windows ; c’est un éditeur « orienté LATEX ».
0. Réglez la compilation rapide sur tex − → dvi − → ps − → pdf : dans le menu
Options > Configurer TeXstudio > Compilation rapide, sélectionner le bou-
ton radio LaTeX + DviPs + Ps2Pdf + Afficheur PDF.
1. Recopiez l’exemple de fichier source proposé à la figure 1, en remplaçant 2 <option
à choisir> par utf8 ; TEXstudio peut vous simplifier la tâche : allez dans le menu
Fichier > Nouveau à partir d’un modèle... et choisissez Article(French).
Ces packages sont à utiliser systématiquement, sauf contre-ordre explicite.
Remarquons tout de suite qu’en général, une commande s’applique à un argument
parfois accompagné d’une option :
– la commande commence par le caractère \ (antislash) ;
– l’argument(s) obligatoire(s) est mis entre {} ;
– l’option(s) est mise entre [].
Ainsi, \usepackage[utf8]{inputenc} signifie que l’on charge un package : il s’agit de
inputenc, utilisé avec l’option utf8.
2. Compilez (en tapant sur F2 ; ou en cliquant sur l’icône latex ; ou via LaTeX dans
le menu Outils). Lors de la première compilation, il vous demande d’enregistrer
le fichier : donnez lui le nom TP_init.tex.
3. Prévisualisez (en tapant sur F3 ; ou en cliquant sur l’icône du lion jaune ; ou via
Afficher DVI dans le menu Outils) : cette étape ouvre une fenêtre affichant le
fichier dvi. Vous devriez alors observer à l’écran ce qui est écrit dans le corps
de document. Laissez cette fenêtre ouverte : elle se mettra à jour dès que vous
compilerez de nouveau (i.e. il sera inutile de recliquer sur F3).
Si le caractère accentué n’apparait pas correctement, c’est qu’il y a un problème
d’encodage : reportez-vous à la note de bas de page no 2.
4. Obtenez un pdf ; il y a deux manières de faire 3 : soit « par PostScript » (en cliquant
sur F1 4 ), soit « pdf direct » (en cliquant sur F6, puis sur F7 pour afficher) 5 .
2. Cela occulte un détail technique : la notion d’encodage (cf. § B.3.2). Retenir que si plusieurs
personnes travaillent sur un même fichier .tex, il faut qu’elles règlent leur éditeur sur le même encodage
lorsqu’elles modifient ce fichier (cf. § B.1.1 pour TEXstudio). Retenir aussi que l’option du package inputenc
et l’encodage sur lequel est réglé l’éditeur doivent coïncider (cf. table 1 page 40) !
3. Ce choix importe peu pour l’instant ; néanmoins, ce ne sera pas toujours le cas (cf. § B.1.3).
4. À condition d’avoir paramétré la compilation rapide comme suggéré ci-dessus ; sinon, cliquez suc-
cessivement sur F2, F4 et F8, puis sur F7 pour afficher.
5. L’avantage de cette 2nd manière est d’avoir, avec le pdf, le forward search (i.e. le pdf s’ouvre à

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.

Quelques remarques s’imposent :


– on n’a pas utilisé de la même manière les commandes dans les deux exemples
ci-dessus : dans le premier, les commandes s’appliquent à un argument ; dans le
second, elles appliquent le changement à tout ce qui suit : il faut alors les isoler
pour cibler leur action ;
– les accolades {} permettent d’isoler un groupe afin que certaines commandes ne
s’appliquent pas à tout le reste du document (\tiny par exemple) ;
– les caractères \ et {} ne s’affichent pas à l’écran mais sont interprétés par LATEX 6 ;
– les accents, s’ils ne sont pas sur le clavier, sont codés à l’aide de \’ ou \‘ ou \ˆ, etc.
(\’e donnera un « é ») ; la cédille s’obtient avec \c{} (\c{C} donnera un « Ç ») ;
– pour passer à la ligne (c’est-à-dire débuter un nouveau paragraphe), on utilisera
systématiquement la touche « entrée » du clavier deux fois 7 ;
– on utilisera \emph{} pour mettre en valeur du texte, et non pas \textit{}.
Deux autres exemples :

Pourquoi recommander la commande Pourquoi recommander la commande dite


dite d’\emph{emphase} à celle d’emphase à celle d’italique ? Parce que
d’\textit{italique}? \textit{Parce dans une phrase en italique, l’emphase res-
que dans une phrase en italique, sort mais pas l’italique !
l’\emph{emphase} ressort mais
pas l’\textit{italique} !}
l’endroit où est le curseur dans le .tex) et l’inverse search (i.e. un clic droit Aller à la source dans
le pdf ouvre le .tex à cet endroit) ; cela, à condition d’utiliser l’afficheur intégré de TEXstudio.
6. Il existe dix de ces caractères, dits spéciaux ou réservés ; cf. [mpg, § 2.1.1] pour en voir la liste et
savoir les afficher à l’écran quand même.
7. L’utilisation de la commande \\ pour cet usage est à proscrire, sauf dans l’énoncé d’un titre.

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$.

Soit la fonction $f$, définie Soit la fonction f , définie par


par \[ f(x)=2x^2. \]
f (x) = 2x2 .

Soit la fonction \[ f_n : Soit la fonction


x\mapsto\alpha^2\sqrt{\pi}+ n
√ 1 X
\frac{1}{2}\, fn : x 7→ α2 π + ln x.
2 i=1
\sum_{i=1}^{n}{\ln x}. \]

La fonction $\zeta$ de Riemann La fonction ζ de Riemann satisfait


satisfait \[\zeta(s)=
+∞
X 1
\sum_{n=1}^{+\infty}\frac{1}{n^s} Y 1
ζ(s) = = .
=\prod_{p\in\mathcal{P}} n=1
n s
p∈P
1 − p−s
\frac{1}{1-p^{-s}}.\]

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.)

Exercice 1. Pour n entier naturel non nul, on pose u0 = 0 et un = un−1 + n.


Alors
n(n + 1)
∀n ≥ 0, un = .
2

Exercice 2. La formule de Stirling exprime, pour n grand, que



n! ∼ Cnn n exp(−n),

où C = 2π. Cette constante peut se calculer en utilisant la formule de Wallis,
que l’on trouve grâce aux intégrales éponymes :
Z π
2
∀n ∈ N, In = (sin x)n dx.
0

Exercice 3. La fontion Γ : R∗+ → R, définie par


Z +∞
Γ(x) = tx−1 e−t dt
0

et appelée “fonction Gamma (d’Euler)”, généralise la factorielle.


En effet, ∀n ∈ N∗ , Γ(n + 1) = n!. On peut aussi montrer que
 
1 √
Γ = π,
2
R
en se ramenant à l’intégrale de √Gauss I = 0+∞ e−t dt (par changement de
2

variables), cette dernière valant 2π (par exemple en considérant le carré de I


et un passage en coordonnées polaires).

Nous venons d’illustrer quelques principes de base du mode mathématique : LATEX


adapte la taille de certains caractères selon le mode mathématique choisi ; il est aussi
capable de modifier leur apparence selon notre demande : italique mathématique pour
les variables, romain pour les opérateurs, etc. Il connait déjà certains opérateurs (\cos,
\ker, \sup, \exp, etc.) mais pas tous ; pour le « e » de la fonction exponentielle, on code
\mathrm{e}.
9. LATEX possède un très grand nombre de symboles (cf. § 3.6.3) ; pour le TP-cours, la liste distribuée
en séance (issue de [4]) suffira largement.

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 .

Il y a $a$ tel que $a=\max x$ pour bien → Il y a a tel que a = max x


$x$ entier relatif et $x+2<0$. pour x entier relatif et x + 2 < 0.
mal → Il y a a tel que a = maxx
Il y a a tel que $a=max x$ pour pour x entier relatif et x+2<0.
x entier relatif et $x$+2<0.

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 :

Soit $f\in\mathcal{C}$ et Soit f ∈ C et σ ∈ Sn pour n ∈ N.


$\sigma\in\mathfrak{S}_n$ pour
$n\in\mathbb{N}$.

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

L’angle $\hat{ABC}$ est moins ˆ est moins joli que \


L’angle ABC ABC.
joli que $\widehat{ABC}$.

Exercice 4 (avec \mathcal{}). Pour M ∈ Mn (Z),

M ∈ GLn (Z) ⇐⇒ det M = ±1.

Il ne faut pas confondre le mode texte et le mode mathématique :

Exercice 5. Considérons φ, Σ, ~, ε et ` des réels et (O,~ı, ~) un repère orthonormé.

10. Voir l’annexe B.4.


11. Cette commande ne peut pas mettre en gras tout type de symbole (cf. [5, § 8.5] pour y remédier).

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 .

Pour tout $x>0$, \[ \Gamma(x) Pour tout x > 0,


\text{ est bien définie.}
\] Γ(x) est bien définie.

Exercice 6 (avec \overrightarrow{}). Écrivons le moment magnétique


ZZZ

→ 1 −−→
M= OP ∧ ~(P ) dτ (V étant un volume).
2 V

Exercice 7 (avec \overset{}{}). L’exercice 3 peut aider au calcul de l’intégrale


de Fresnel Z +∞ √  
déf 2 π iπ
ϕ = exp(ix ) dx = exp
0 2 4
en montrant, pour α dans ]0, 1[, que
Z
J : α 7−→ tα−1 eit dt
]0,+∞[

vérifie
π
J(α) = Γ(α)eiα 2 .

Exercice 8 (avec \xrightarrow[]{}). Si f ∈ L1 (R) alors sa transformée de


Fourier, notée fˆ, est continue et vérifie (pour une définition bien choisie)


fˆ(x) −−−−→ 0 et

≤ kf k1 .
x→±∞ 2π

Exercice 9 (avec \ldots, {\displaystyle}). Soit a1 , . . . , ak ∈ N∗ . Supposons


les ai premiers entre eux dans leur ensemble (pour i ∈ {1, . . . , k}) et notons,
k
X
pour n > 1, un le nombre de k-uplets (x1 , . . . , xk ) ∈ Nk tels que ai xi = n.
i=1
Alors
1 nk−1
un ∼ ·
+∞ a1 a2 · · · ak (k − 1)!

Conseil. Ne pas abuser du \displaystyle (car il modifie la dimension de l’interligne :


cela peut donc vite devenir moche !). Prendre garde à la syntaxe : {\displaystyle
blabla} est correct (alors que \displaystyle{blabla} n’a aucun sens).
12. Certains ouvrages proposent l’utilisation de \mbox{} ou de \mathrm{} pour cet usage : cela ne
produit pas toujours l’effet désiré, donc c’est à proscrire.

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}

\begin{tabular}{|rl|c|} right left center


\hline Xavier Martine François
right & left & center \\ Résistance Inductance Capacité
Xavier & Martine & François\\
\hline
Résistance & Inductance & Capacité\\
\hline
\end{tabular}

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.

Exercice 11. À savoir sur les méthodes de quadrature :

Méthode Ordre
Rectangles à gauche 0
Rectangles à droite 0
Point milieu 1
Trapèzes 1
Simpson 3

Exercice 12 (sans package additionnel mais en utilisant \multicolumn{}{}{}).


Voici un parallèle entre des méthodes de calcul approché d’intégrales et des
schémas de résolution approchée d’équations différentielles ordinaires :

Méthode de quadrature Schéma EDO


Nom Ordre Nom
Rectangles à gauche 0 Euler explicite
Rectangles à droite 0 Euler implicite
Point milieu 1 Euler modifié
Trapèzes 1 Crank-Nicolson
Simpson 3 Runge-Kutta d’ordre 4 (RK4)

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{Première section} 1 Première section


\subsection{Sous-section} 1.1 Sous-section

\section{Deuxième section} 2 Deuxième section

\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 ?

Les références croisées permettent de référencer automatiquement les commandes de


sectionnement : on place une étiquette juste après le titre (au moyen de \label{}) et
on s’y réfère n’importe où dans le document (au moyen de \ref{} pour avoir le numéro
du sectionnement et de \pageref{} pour avoir la page où il débute). Pour écrire ce
polycopié, nous avons tapé

\section{Découverte de \LaTeX}
\label{sec-Decouv}

pour coder le titre de section en page 5, d’où l’exemple suivant :

La section~\ref{sec-Decouv} débute La section 3 débute page 5.


page~\pageref{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{}.

Exercice 14. Reprendre l’exercice 13 et ajouter une étiquette à la première


section, en y faisant référence dans la deuxième ; ensuite, compiler une (seule)
fois : qu’observez-vous ? Compiler une seconde fois et trouver une explication.

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.

3.6.1 Agencement de formules, tableaux et matrices


1. L’environnement equation permet d’écrire une ligne en mode hors-texte (comme la
syntaxe \[ · · · \]) mais, en plus, il la numérote :

Soit la fonction $f$, définie Soit la fonction f , définie par


par \begin{equation}
f(x)=2x. f (x) = 2x. (1)
\end{equation}

2. L’environnement array permet de réaliser des tableaux au sein du mode mathéma-


tique, mais il faut au préalable être entré dans ce mode. Son utilisation est très
similaire à l’environnement tabular ; comme ce dernier, il ne fait pas débuter une
nouvelle ligne : par défaut il est centré verticalement sur la ligne en cours, mais on
peut changer ce placement au moyen des options t ou b.

Soit $\begin{array}{|c|c|} f (x, t) g(x, y)


Soit √ un beau ta-
\hline t 3 x <e(x + iy)
f(x,t)& g(x,y)\\ \hline bleau.
t\sqrt[3]{x} & f (x, t) g(x, y)

Soit t x <e(x + iy) un autre ta-
3
\Re\textrm{e}(x+iy)\\
\hline bleau.
\end{array}$ un beau tableau.
Soit $\begin{array}[b]{|c|c|}
...$ un autre tableau.
15. Après deux compilations tout de même.

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 a aussi \begin{align} On a aussi


(a+b)^2 &= (a+b)(a+b)\\
(a + b)2 = (a + b)(a + b) (4)
&= a^2+2ab+b^2.
\end{align} = a2 + 2ab + b2 . (5)

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

On a encore \begin{equation} On a encore


\begin{split}
55 = 1 + 2 + 3 + 4 + 5
55 &= 1+2+3+4+5\\ (7)
&\quad +6+7+8+9+10. + 6 + 7 + 8 + 9 + 10.
\end{split}
\end{equation}

(b) On est déjà dans un environnement mathématique hors-texte (ce qui empêche
l’usage de multline) :

Les équations d’Euler sont Les équations d’Euler sont


\begin{gather}
\frac{\partial n}{\partial t} ∂n
+ ∇x · (nu) = 0, (8)
+\nabla_x\cdot(nu)=0,\\ ∂t
\begin{split} ∂(nu)
\frac{\partial(nu)}{\partial + ∇x · (nu ⊗ u)
∂t (9)
t}+\nabla_x\cdot(nu
+ ∇p = 0,
& \otimes u)\\
& +\nabla p=0, ∂E 
+ ∇x · (E + p)u = 0. (10)
\end{split}\\ ∂t
\frac{\partial E}{\partial t}
+\nabla_x\cdot\bigl((E+p)
u\bigr)=0.
\end{gather}

Pleins d’autres outils existent, par exemple :


– l’environnement cases permet des « constructions par cas » (cf. exercice 18) ;
– la commande \intertext{} permet d’insérer une ligne de texte entre deux lignes
de align sans briser l’alignement vertical (cf. § B.5) ;
– la commande \notag permet de supprimer la numérotation sur une ligne particu-
lière (cf. § B.5).

16
Exercice 15 (avec \eqref{}). On a l’identité remarquable, numérotée (11) :

∀a, b ∈ N, (a + b)2 = a2 + 2ab + b2 . (11)

Exercice 16 (avec \vdots). Pour tout (a1 , . . . , an ) ∈ Kn , le déterminant de


Vandermonde est

1
a1 ··· a1 n−1

1 a2 ··· a2 n−1 Y
V (a1 , . . . , an ) = . .. .. .. = (aj − ai ).
.. . . . 1≤i<j≤n

1 an · · · an n−1

 
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

Exercice 18 (avec cases). Soit f : R \ {0} −→ R . On peut prolonger f par


sin x
x 7−→ x
(
f (x) si x ∈ ]−∞, 0[ ∪ ]0, +∞[
continuité en sinc définie par sinc (x) = .
1 sinon

3.6.2 Théorèmes et énoncés similaires


LATEX permet de mettre en forme des théorèmes, propositions, remarques, etc., de les
numéroter automatiquement et d’y faire référence très simplement, tout cela grâce aux
environnements de type theorem.
Avant toute chose, chargeons le package amsthm 17 ; ensuite, cela se fait en deux
temps :
1. Définition et configuration d’un type d’énoncé dans le préambule (c’est ici que l’on
choisit divers paramètres : quel nom portera-t-il ? sera-t-il numéroté à la suite ou
en parallèle d’un autre type d’énoncé ? sera-t-il numéroté par section ?).
2. Utilisation au cours du document.
17. Les capacités de LATEX sont très limitées sans ce package ; à l’inverse, pour davantage de possibilités,
utiliser en plus le package thmtools (cf. § 3.6.3).

17
Ainsi, en ajoutant ces deux lignes dans le préambule,

\newtheorem{prop}{Proposition}
\newtheorem{cor}[prop]{Corollaire}

on obtient les deux exemples suivants :

\begin{prop} Proposition 1. Pour tout α ∈ R, la série


Pour tout $\alpha\in\mathbb{R}$, X 1
la série \[\sum_{n\ge 1}
{\frac1{n^\alpha}}\] converge n≥1

si et seulement si $\alpha >1$.
\end{prop} converge si et seulement si α > 1.

\begin{cor}[Séries de Bertrand] Corollaire 2 (Séries de Bertrand). Pour


\label{cor-Bertrand} tout (α, β) ∈ R2 ,
Pour tout $(\alpha,\beta)\in
\mathbb{R}^2$, \[ \sum_{n\ge 2}{ X 1
\frac1{n^\alpha (\ln n)^\beta}} \] n α (ln n)β
n≥2
converge si et seulement si
$(\alpha >1)$ ou $(\alpha =1
converge si et seulement si (α > 1) ou
\text{ et } \beta>1)$.
\end{cor} (α = 1 et β > 1).

(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.)

Exercice 19. Retirer le [prop] dans la définition de cor et observer que la


numérotation (des corollaires) a changé : ils sont dorénavant numérotés indé-
pendamment des propositions.

Pour rédiger une preuve, l’environnement proof peut être utilisé :

\begin{proof} Démonstration. Étude de cas et comparai-


Étude de cas et comparaison son série/intégrale pour α > 1.
série/intégrale pour $\alpha>1$.
\end{proof}

\begin{proof}[Preuve du Preuve du corollaire 2.


corollaire~\ref{cor-Bertrand}]
\end{proof}

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}

Ensuite, obtenir le résultat présenté dans la figure 2 (ci-dessous), largement


emprunté de [1]. Que se passe-t-il si la 2e ligne de code ci-dessus est remplacée
par \newtheorem{thm}{Théorème}[section] ?

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.

Exemple 1. Rn est séparable.

Théorème 3 (Caractérisation). Soit (H, h·, ·i) un espace de Hilbert séparable et


(en )n∈N une famille orthonormée de H. Les propriétés suivantes sont équivalentes :
1. La famille orthonormée (en )n est une base hilbertienne.
2. Pour tout x ∈ H,
+∞
X
x= hx, en i en (égalité de Parseval).
n=0

3. On a
(en , n ∈ N)⊥ = {0}.

Remarque. Le théorème 3 s’étend au cas des espaces de Hilbert non séparables.

Figure 2 – Texte à reproduire (sans l’encadrement) dans l’exercice 20

Conseil. Pour faire référence à un énoncé numéroté, toujours utiliser \label{} et


\ref{} ; ne jamais faire une numérotation « en dure » 18 .
18. Autrement dit (cf. figure 2), ne jamais écrire « Le théorème~3 » dans son fichier source mais « Le
théorème~\ref{thm-caractBaseHilb} » (avec un \label{thm-caractBaseHilb} bien placé).

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 :

| Un espace dans le code source. | Un espace dans le code source.


| Deux espaces. | Deux espaces.
| Plein d’espaces.
| Plein d’espaces.

LATEX possède une précision de l’ordre du nanomètre et est capable de comprendre


un certain nombre d’unités de longueur ; citons-en trois : le centimètre (cm) et
25. Tels que le programme bibtex conjointement au package biblatex. Plein d’autres packages ont
fleuri autour de l’outil BibTEX ; biblatex a pour vocation d’en simplifier, unifier et dépasser les capacités.
Quant au programme bibtex, il pourra poser des problèmes si le fichier .bib contient des caractères
accentués (en particulier s’il n’est pas en UTF-8) : les écrire alors sous la forme {\’e} au lieu de é. À
l’heure actuelle (janvier 2012), autant se lancer dans l’apprentissage de biber, le « successeur désigné »
de bibtex qui ne souffre pas de ses limitations ; cf. [B&C, § 12].

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 :

\dots fin de paragraphe. . . . fin de paragraphe.


\medskip Début de paragraphe. . .
Début de paragraphe\dots

Enfin, pour changer de page, on utilisera \clearpage (qui a l’avantage de placer


tous les flottants 27 en attente, s’il y en a).

4.2 Inclusion d’images


Dans de nombreux documents, on est amené à insérer des images au fil du texte : gra-
phiques, schémas, résultats numériques, etc. Insistons sur le fait qu’on traite ici de l’insertion
d’images existantes, et non de leur production 28 .
Le package utilisé pour insérer des images est graphicx 29 : il fournit la commande

\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}

Attention : les formats d’image autorisés sont totalement dépendants du mode de


compilation utilisé (cf. § B.1.3) :
– compilation tex −→ dvi −→ ps −→ pdf : seules les images au format PostScript sont
autorisées (extensions .ps, .eps ou .epsf) ;
– compilation tex −
→ pdf : seuls les fichiers .jpg, .png ou .pdf sont autorisés.
Insistons lourdement : une fois qu’une image est insérée, il y a incompatibilité entre
ces deux modes de compilation, i.e. si une image est insérée au format eps, alors une
compilation PDFLATEX ne fonctionnera plus.
Conseil. Pour contourner cette limitation, nous vous suggérons d’avoir systématique-
ment chacune de vos images en deux formats (p. ex. eps et pdf) 30 et de ne pas indiquer
d’extension dans le \includegraphics[]{} : ainsi, selon le mode de compilation effec-
tué, LATEX choisira tout seul l’extension qu’il lui faut pour ne pas produire d’erreurs ! 31
Les images insérées dans LATEX peuvent être numérotées et légendées, voir le para-
graphe suivant sur les flottants.

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).

4.4 Schémas et graphiques


Présentons un aperçu partiel de ce qui existe pour créer un dessin destiné à être intégré
dans un fichier .tex. Il peut être obtenu de multiples façons : soit dans un logiciel de
dessin classique : on le sauvegarde alors dans un fichier image, que l’on insère avec un
\includegraphics (cf. § 4.2) ; soit à l’aide d’outils externes de dessin proposant un export
vers LATEX ; soit directement dans le .tex, à l’aide de commandes.

4.4.1 Créés directement dans LATEX


Il existe deux groupes de packages pour créer des dessins (à vocation plutôt scienti-
fique) directement dans le fichier source : PSTricks et PGF/TikZ. Le premier est puissant
et très complet 38 mais il ne fonctionne pas avec une compilation PDFLATEX (cf. § B.1.3) ;
le second ne souffre pas de cette incompatibilité mais il est moins riche 39 .
Pour une introduction à PGF/TikZ, voir par exemple [pg] ou [7, § 1 et 2].
Pour utiliser PSTricks, il faut charger le package pstricks (cf. [B&C, § 9]), parfois
pdflatex
avec des packages auxiliaires, et s’interdire une compilation tex −−−−−→ pdf. Voici un
aperçu de quelques possibilités de PSTricks (il en existe bien d’autres : arbres, formules
et représentations moléculaires, morceaux de musiques, figures de diffraction, . . .).
Des figures de la géométrie euclidienne sont prédéfinies dans l’extension pst-eucl :
C

\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}

Avec l’extension pst-node, on peut créer des graphes ou diagrammes :


$\begin{psmatrix}[colsep=2cm,rowsep=2cm] Γ
& & \Gamma \\ p̃k
\tilde X & {\tilde \Gamma_k} & \\
X & {\displaystyle \Gamma_k} & ϕ
\psset{arrows=->,labelsep=3pt,nodesep=3pt}
\ncarc[arcangle=-20]{1,3}{2,1}^{\tilde p_k} p̃k
\ncline{1,3}{2,2}\ncput*{\varphi} X̃ Γ̃k pΓk
\ncarc[arcangle=20]{1,3}{3,2}>{p_{\Gamma_k}}
\ncline{2,2}{2,1}^{\tilde p_k}
\ncline{2,1}{3,1}<{p_X} pX Γ̃k
\ncline{2,2}{3,2}<{\tilde \Gamma_k}
\ncline{3,2}{3,1}^{p_k} pk
\end{psmatrix}$ X Γk

Citons enfin pst-labo pour la chimie :


\psset{pince=true,glassType=ballon}
\pstChauffageTube[becBunsen,barbotage,
substance={\pstFilaments[10]{green}}]

4.4.2 Créés à l’extérieur de LATEX


Citons Inkscape, éditeur d’image vectorielle. Avec l’export 40 pdf+LATEX (respective-
ment eps+LATEX), le dessin (créé dans Inkscape ou même ailleurs) est sauvegardé sous
forme d’image pdf (resp. eps) et les zones de texte sous forme de fichier .tex : elles
peuvent donc contenir du code LATEX, qui sera compilé ultérieurement 41 . Avec l’export
LATEX, le dessin est converti en fichier .tex sous forme de commandes PSTricks.
Citons Ipe, éditeur d’image vectorielle créant des graphiques (scientifiques) aux for-
mats eps et pdf. Les zones de texte sont compilées dans 42 Ipe (File > Run LaTeX).
40. Faire « Enregistrer sous » en .pdf (respectivement .eps) puis cocher la case PDF+LaTeX. Cela crée
deux fichiers ; le .pdf_tex (ouvrable dans TEXstudio) contient des instructions d’utilisation.
41. Au même moment que le reste du fichier source où sera incluse l’image : cela permet ainsi d’y
écrire toute commande interne au .tex, donc même des \ref !
42. Cela laisse entendre que l’on ne peut utiliser de commandes personnelles ou issues de packages :

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}

\usepackage[<option à choisir> ]{inputenc}


\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amsmath, amssymb}
\usepackage{babel} %à charger en dernier

\usetheme{Warsaw}

\begin{document}
\begin{frame}
Bienvenue devant ma présentation !
\end{frame}
\end{document}

Figure 3 – Exemple de fichier source beamer

On retrouve les packages liés aux mathématiques ou à la langue française et il existe


une ligne supplémentaire qui définit le thème beamer. Ici c’est le thème Warsaw qui a
été choisi (il existe de nombreux autres thèmes dont le détail ici serait fastidieux). Un
petit tour sur Internet permet de trouver rapidement le thème voulu. On citera les plus
classiques (certains peuvent utiliser des options) :
Quelques thèmes
\usetheme{Warsaw}
\usetheme{AnnArbor}
\usetheme[secheader]{Boadilla}
\usetheme[secheader]{Madrid}
\usetheme[compress]{Ilmenau}

Après le préambule, on peut définir le titre, le sous-titre, l’auteur, la date, etc. ;


viendront ensuite les transparents (frames) : un frame se compose d’un titre, d’un sous-
titre et de texte. Autour de cet ensemble, on trouvera (suivant le thème choisi) des
que nenni ! En effet, il est possible de définir à la main un « préambule de travail » dans Ipe, voire même
de se servir directement du préambule du fichier .tex où sera incluse l’image (cf. manuel d’Ipe).

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.

Figure 4 – Exemple de frame beamer

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.

\begin{frame}[fragile] Ce texte est normal.


Ce texte est normal. Ici on est en mode verbatim.
\verb_Ici on est en mode verbatim._
\end{frame}

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.1 Avec LATEX


Il suffit d’utiliser le package babel avec l’option french. Nous listons quelques-unes des
abréviations proposées par babel/frenchb 43 en page 33 du TP-cours et nous renvoyons à
l’annexe B.3.1 pour plus d’informations.

A.2 Quelques règles et usages


Un point capital est de respecter une cohérence au cours de son document.

A.2.1 Espacement et ponctuation


Grâce à babel/frenchb, il suffit d’utiliser la « barre d’espacement » du clavier chaque
fois qu’une espace est nécessaire ; en effet, LATEX saura alors la transformer automati-
quement en le type d’espace adéquat :
– virgule et point sont suivis d’un blanc ;
– point d’interrogation, point d’exclamation, point-virgule et deux-points sont suivis
d’un blanc et précédés d’une « espace fine insécable » (sauf le deux-points, en
général précédé d’une « espace insécable ») ;
– les guillemets ouvrants ou fermants sont respectivement, précédés ou suivis d’un
blanc, suivis ou précédés d’une espace insécable ;
– les parenthèses ou crochets ouvrants sont précédés d’un blanc ;
– les parenthèses ou crochets fermants sont suivis d’un blanc ;
– les apostrophes et traits d’union ne sont ni précédés ni suivis de blanc ;
– le tiret long (codé ---) utilisé pour ouvrir ou fermer une incise est respectivement,
précédé ou suivi d’un blanc, suivi ou précédé d’une espace fine insécable ;
– le point de suspension (codé \dots) est suivi d’un blanc (pour que ce blanc appa-
raisse, on rajoute des accolades après le nom de la commande : \dots{}).

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).

B.1 Compréhension et utilisation de LATEX


B.1.1 Installation et paramétrage
Sous Windows Différents outils sont à installer. Nous recommandons de se servir de
ProTEXt (protext.exe sur http://www.tug.org/protext), qui s’occupe de tout :
ProTEXt 3.0 ' MiKTEX + TEXstudio 44 + (Ghostscript + GSview).
Lancer le .exe ; choisir un dossier où seront extraits les fichiers d’installation 45 . Ensuite :
1. Pour installer MiKTEX, lancer le Setup.exe de ce dossier ; cliquer sur Open pour
ouvrir le manuel d’installation ; suivre du § 1.2 au § 1.6, à une exception : faire
une installation Complete MiKTeX au lieu du Basic MiKTeX illustré figure 1.3 du
manuel.
2. Pour installer Ghostscript et GSview (assurant la gestion du format PostScript),
aller dans le sous-dossier gsv et lancer gs902w32.exe puis gsv49w32.exe.
3. Pour installer TEXstudio, revenir au manuel d’installation et suivre le § 1.7. (Il est
suggéré de vérifier qu’il s’agit bien de la dernière version de TEXstudio 46 .)

Sous Mac OS Nous recommandons MacTEX (http://www.tug.org/mactex) avec


TEXstudio 46 : MacTEX ' TEXLive + TEXShop (TEXShop est une alternative à TEXstudio).

Sous Linux Nous recommandons la TEXLive (http://www.tug.org/texlive), ainsi


que TEXstudio 46 (l’éditeur Kile est une alternative à TEXstudio). Il est préférable de
ne pas utiliser la version de TEXLive proposée sous forme de paquets par le système
d’exploitation (car elle n’est pas à jour) ; procédure ici ([B&C, § 1.1]) ou là (http:
//www.tug.org/texlive/doc/texlive-fr/texlive-fr.html) 47 .

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 !

B.1.3 Compilation et obtention du pdf


Nous avons vu au paragraphe 3.1 page 5 qu’il y avait deux manières de produire
un pdf ; ce choix est parfois capital. Le schéma suivant résume les étapes de réalisation
dites « par PostScript » (ou LATEX) :
latex dvips ps2pdf
tex −−−→ dvi −−−→ ps −−−−→ pdf.
48. Ce dernier est payant.
49. On remarquera que ces logiciels mettent automatiquement à jour le fichier dvi après une nouvelle
compilation : il est donc inutile de les redémarrer à chaque fois.

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.

B.3 Le préambule et les packages


B.3.1 Les packages « de base »
Nous décrivons ici très brièvement le rôle des packages présentés à la section 2 ; des
informations complètes peuvent être trouvées dans la documentation de chaque package
(celle-ci étant disponible sur le Web en tapant CTAN <nom du package> ).
– inputenc permet de taper directement au clavier les accents et cédilles dans le
fichier source (ce package sert à spécifier le codage d’entrée). Attention : le choix
de l’option (cf. table 1 page 40) dépend du paramétrage de l’éditeur de texte sous
lequel est saisi (ou a été saisi) le fichier ; cela est détaillé en annexe B.3.2. Sans ce
package, il faut saisir ces caractères « à l’ancienne » (\’e 7→ é, etc.).
– fontenc, avec l’option T1, permet une bonne césure 55 des mots de langues latines
et un copier-coller depuis le pdf (ce package sert à spécifier le codage des fontes).
– lmodern permet d’adapter la police de base de LATEX aux nouveaux formats apparus
depuis sa création, le pdf notamment (ce package charge la police Latin Modern).
– babel permet de prendre en compte la langue de rédaction (éventuellement plu-
sieurs) pour la mise en page, les règles typographiques, les césures, etc. ; french est
l’option 56 actuellement à utiliser pour un document en français (cf. § A.1). On
notera que babel/frenchb apporte des commandes supplémentaires pour la langue
française (par exemple, \ier{} permet d’écrire l’exposant de 1er) et francise les
mots-clés de LATEX (par exemple, l’appel à \tableofcontents affichera « Table
des matières » au lieu de « Contents »). Nous renvoyons à [B&C, § 2.6] pour une
description plus précise de ses actions.
53. Ce n’est pas la seule différence.
54. LATEX estime qu’un document de classe article n’a pas besoin de ce niveau de sectionnement : si au
cours d’une rédaction sous article vous en ressentez le besoin, c’est qu’il faut changer de classe.
55. Coupure de fin de ligne.
56. À exceptionnellement écrire au niveau du \documentclass et non du \usepackage{babel}.

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 .

B.3.2 Encodage et package inputenc


Ce paragraphe est l’occasion de parler brièvement d’encodage. C’est une notion tech-
nique, déjà abordée en note no 2 (page 5) et au paragraphe B.3.1 (avec inputenc) ; on a
besoin de s’en soucier dans deux cas au moins :
– lorsque plusieurs personnes travaillent sur un même fichier .tex ;
– lorsqu’une personne travaille son fichier sur des éditeurs de texte différents (par
exemple un à la maison et un à la fac).

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

Table 1 – Correspondance encodage/option pour le package inputenc

En pratique, que faire ?


1. Savoir sur quel encodage est réglé 61 votre éditeur (en choisissant l’UTF-8 dès que
possible) ; pour TEXstudio, cf. § B.1.1.
2. Choisir l’option d’inputenc (cf. table 1) qui coïncide avec le réglage de l’éditeur.
3. Indiquer aux éventuelles personnes modifiant le fichier .tex l’encodage choisi ; ou
se mettre d’accord dès le début de la rédaction sur un encodage commun (il n’est
pas possible de mélanger plusieurs encodages dans un même fichier .tex).

B.3.3 Quelques autres packages utiles


Donnons ici une liste très courte de packages (non abordés dans ce TP-cours) qui peuvent
se révéler utiles. Pour toute information, se reporter à la documentation du package 62 .
Il existe un très grand nombre de packages ; ils pourraient être classés en trois caté-
gories : certains sont plus ou moins incontournables (cf. § B.3.1), d’autres enrichissent
des fonctionnalités déjà existantes (tels les entêtes et pieds de page) et d’autres encore
sont très spécialisés (pour la composition de molécules chimiques par exemple).
Il faut savoir que les packages évoluent au gré de leur(s) concepteur(s) ; ainsi, certains
deviennent obsolètes et sont remplacés par des plus performants. Un bon conseil est de
vérifier la date de dernière mise à jour avant de s’en servir. Les packages ci-dessous sont
d’usage fréquent ; leur fonctionnement est illustré dans [mpg], [pg] ou [B&C].
60. Les noms d’encodage sont ceux qui apparaissent dans TEXstudio.
61. Souvent, il suffit de regarder dans un menu du genre Options ou Préférences.
62. Trouvable sur Internet en cherchant « CTAN <nom du package> ».

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.).

B.4 Le préambule et les macros


Revenons ici sur la deuxième partie d’un préambule classique, introduit à la section 2.
Il s’agit d’un outil de personnalisation très puissant de LATEX : on peut créer ses propres
commandes (voir [B&C, § C.1] disponible sur Internet ou [mpg, § 5.2]).
Cela se fait avec la commande \newcommand*{}[]{} (l’étoile est à retirer si la com-
mande doit s’appliquer à un objet plus grand qu’un paragraphe). Illustrons cette fonc-
tionnalité à travers différents exemples (sauf mention contraire, les extraits de code qui
suivent sont à taper dans le préambule, après le chargement des différents packages) :
1. Abréger un nom de commande : \newcommand*{\eps}{\varepsilon}. Il suffira
alors de taper (dans le corps de document) $\eps$ pour afficher ε.
2. Distinguer le fond et la forme : \newcommand*{\nom}[1]{\textsf{#1}}. Cela
illustre d’ailleurs l’utilisation des commandes à paramètres (un seul ici). C’est
une macro utilisée dans ce polycopié : dès que l’on a cité un nom de package,
63. Cela signifie qu’il est capable de reconnaitre les mots-clés, les commentaires, etc. d’un langage et
d’adapter la mise en forme en conséquence.
64. Une solution est de définir des caractères d’échappement (champ escapeinside) afin de pouvoir
saisir les accents « à l’ancienne » (\’e 7→ é, 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) :

Formule de la divergence : Formule de la divergence :


\[\oint_{\partial\Omega}\vec X I Z
\,\mathrm{d} S=\int_\Omega ~
X dS = ~ dx.
div X
\divg\vec X\,\mathrm{d}x.\] ∂Ω Ω

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).

B.5 Gros exemple mathématique


Enfin, terminons en donnant un gros exemple regroupant plein de choses (utiles,
à faire ou à éviter). La présentation du code source est obtenue au moyen du package
listings ; regardez le résultat de la compilation (situé page 44) et revenez ensuite consulter
le source ci-dessous pour savoir ce qui s’y cache 65 .
Lignes à ajouter dans le préambule :
1 \ usepackage { dsfont } % pour un alphabet different de \ mathbb {}
\ usepackage { esvect } % pour les fleches \ vv {} plus jolies que \ o v e r r i g h t a r r o w {}
3
\ newcommand *{\ abs }[1]{\ left \ lvert #1\ right \ rvert } % valeur absolue
5 \ newcommand *{\ norm }[1]{\ left \ lVert #1\ right \ rVert } % norme
\ newcommand *{\ N }{\ ensuremath \ mathbb { N }} % entiers naturels
7 \ newcommand *{\ ensemble }[1]{\ left \{#1\ right \}} % ensemble
\ newcommand *{\ tq }{\ enskip \ middle |\ enskip } % le ‘ tel que ’ ; les espaces autour
peuvent etre reduits , selon les gouts
9 \ newcommand *{\ sachant }{\ mid } % le ‘ sachant que ’ des proba c o n d i t i o n n e l l e s
\ newcommand *{\ dpart }[2]{\ frac {\ partial #1}{\ partial #2}} % derivee partielle
11
\ D e c l a r e M a t h O p e r a t o r {\ grad }{\ vv {\ o p e r a t o r n a m e { grad }}} % operateur gradient
13 \ D e c l a r e M a t h O p e r a t o r {\ divg }{ div } % operateur divergence

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 :

pas bien −→ bien


a|b −→ a|b
P(A|B) −→ P(A | B)
{x ∈ A|x 6= 0} −→ {x ∈ A | x 6= 0}
||λx|| = |λ|kxk −→ kλxk = |λ| kxk
N∗ = N\{0} −→ N∗ = N \ {0}

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 !

Équations de transport sous formes non conservative et conservative (a : Rn → Rn ) :


∂u # »
+ a · grad u = 0, (12a)
∂t
∂u
+ div(au) = 0. (12b)
∂t

Nous effectuons les calculs suivants


∂f 
A= (x, v, t) + v · ∇x f (x, v, t) + ∇v · F (x, v)f (x, v, t) (13)
∂t
= ···
∂f  
A= (x, v, t) + v · ∇x f (x, v, t) + ∇v · FI (x, v)f (x, v, t) + ∇v · FF (x, v)f (x, v, t)
∂t

qui donnent, plus lisiblement

∂f
A= + v · ∇x f + ∇v · (FF f ) + ∇v · (FI f ). (♣)
∂t


x0 et x 0
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

Vous aimerez peut-être aussi