Introduction à LaTeX pour scientifiques
Introduction à LaTeX pour scientifiques
28/02/2022 au 04/03/2022
1
Contents
1 Présentation de LATEX 3
1.1 Intérêt et utilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Prise en main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Découverte de LATEX 5
3.1 Démarrage avec TeXstudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 Composition simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.3 Mathématiques 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.4 Environnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5 Sectionnement et références croisées . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.6 Mathématiques 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.6.1 Agencement de formules, tableaux et matrices . . . . . . . . . . . . . . . 16
3.6.2 Théorèmes et énoncés similaires . . . . . . . . . . . . . . . . . . . . . . . 20
3.6.3 Pour aller plus loin : vers l’infini et au delà ! . . . . . . . . . . . . . . . . 23
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. 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.
Ces quatre étapes sont très simples, mais les outils pour les mettre en place ne portent pas
les mêmes noms selon que l’on est sous un environnement Linux, Mac OS ou Windows.
1
Acronyme de what you see is what you get, traduisible par & ce que vous voyez est ce que vous obtenez ˇ;
autrement dit: le texte que l’on tape est le texte qui apparait.
3
2 Structure d’un fichier .tex
Le fichier .tex est créé à partir d’un éditeur de texte. Il possède en général le squelette suivant
:
• la commande \documentclass{} qui indique quelle classe (ou quel type) de document
l’on souhaite rédiger;
• le préambule, où l’on indique des options, des préférences et des choix pour la compilation;
les macros ou commandes personnelles (de l’utilisateur), une des richesses de LATEX
que nous ne ferons qu’effleurer.
L’objectif de ce TP étant une prise en main de LATEX , nous nous limiterons à la classe article,
ainsi qu’aux packages « de base » qui sont (presque) incontournables pour un document rédigé
en langue française, ceux-ci sont expliqués plus loin dans ce cours.
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.
1. Lancez TeXstudio.
Remarquons tout de suite qu’en général, une commande s’applique à un argument parfois
accompagné d’une option:
5
5. Observez alors à l’écran que ce qui est écrit dans le corps de document est affiché.
L’enregistrement ci-dessus est fait une fois pour toutes : il est dorénavant inutile de
sauvegarder votre fichier avant chaque compilation.
6. Obtenez le PDF de votre document dans le dossier (où votre fichier est enrégistré) juste
après la compilation.
6
On peut aussi changer la taille
des fontes en {\small petit}, On peut aussi changer la taille
{\tiny minuscule}, des fontes en petit, minuscule , grand,
{\large grand}, énorme, etc.
{\huge énorme},~etc.
• 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 « Ç »);
• 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 ap-
pliquent le changement à tout ce qui suit: il faut alors les isoler pour cibler leur action;
• les accolades {} permettent d’isoler un groupe afin que certains attributs ne s’appliquent
pas au reste du document (\tiny par exemple);
• les caractères \ et {} ne s’affichent pas à l’écran mais sont interprétés par LATEX;
Pourquoi recommander la
commande dite d’\emph{emphase}
Pourquoi recommander la commande
à celle d’\textit{italique}
dite d’emphase à celle d’italique ?
? \textit{Parce que dans
Parce que dans une phrase en italique,
une phrase en italique,
l’ emphase ressort mais pas l’italique !
l’\emph{emphase} ressort mais pas
l’\textit{italique} !}
7
Conseil: Pour mettre en valeur, proscrire l’usage du souligné () et éviter celui du gras :
utiliser la commande \emph{}.
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
La fonction $\zeta$ de
La fonction ζ de Riemann satisfait
Riemann satisfait \[\zeta(s)=
\sum_{n=1}^{+\infty}\frac1{n^s} +∞
X Y
1 1
ζ(s) = = −s
.
=\prod_{p\in\mathcal P}
n=1
n s
p∈P
1 − p
\frac1{1-p^{-s}}.\]
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 et de la liste des symboles (à la fin de ce document),
trouvez comment obtenir les résultats suivants. (On ne demande pas de reproduire
l’encadrement ni les éventuels indices donnés entre parenthèses.)
9
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, . . . 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}.
D’autres utilisateurs de LATEX préfère simplement $e$.
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.
Il y a $a$ tel que $a=\max x$ pour Bien −→ Il y a a tel que a = max x pour x
$x$ entier relatif et $x+2<0$. 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 commandes
: \mathrm{} pour passer en romain, \mathbf{} pour mettre en gras, etc. De plus, les
lettres calligraphiques, gothiques et ajourées sont disponibles:
Soit $f\in\mathcal{C}$ et
$\sigma\in\mathfrak{S}_n$ pour Soit f ∈ C et σ ∈ Sn pour n ∈ N.
$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 \quad (1 cadratin), \!
(espace fine négative), etc.
10
$\hat{x}$, $\ddot{x}$,
$\vec{n}$, $\acute{m}$,
x̂, ẍ, ~n, ḿ, Å, f¯, f˜, etc.
$\mathring{A}$, $\bar{f}$,
$\tilde f$, etc.
Par contre, ces accents n’adaptent par leur taille à la largeur des caractères accentués; on
dispose néanmoins de \widehat{}, \widetilde{} et de diverses flèches:
Cependant, il arrive que l’on ait besoin d’écrire du texte dans un mode mathématique; le
mieux est alors d’utiliser la commande \text{}, qui permet de faire comme si on était en mode
texte.
11
Conseil: Ne pas abuser du \displaystyle (comme il modifie la dimension de l’interligne,
cela peut vite devenir moche !). Prendre garde à la syntaxe : {\displaystyle blabla} est
correct (alors que \displaystyle{blabla} n’a aucun sens).
3.4 Environnements
Voyons maintenant un outil utile pour réaliser des objets plus évolués, comme des tableaux,
des équations alignées, des énumérations, etc.: ce sont les environnements. Nous aborderons
plus loin ceux spécifiques au mode mathématique.
Leur utilisation est simple :
\begin{<nom de l’environnement>}
.
.
.
\end{<nom de l’environnement> }
12
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.;
• tabular, qui s’utilise pour créer des tableaux au sein du mode texte (en mode mathéma-
tique, c’est son homologue array qui doit être utilisé).
\begin{itemize}
\item premièrement ; • premièrement ;
\item deuxièmement.
• deuxièmement.
\end{itemize}
\begin{enumerate}
\item Primo. 1. Primo.
\item Secundo.
2. Secundo.
\end{enumerate}
\begin{tabular}{|rl|c|}
\hline
right & left & center \\ right left center
Xavier & Martine & François\\ Xavier Martine François
\hline Résistance Inductance Capacité
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 |).
13
Il existe beaucoup d’autres possibilités d’agencer les tableaux : avoir une ligne horizontale
ne s’étendant que sur quelques colonnes, modifier la hauteur des cellules, fusionner des cellules,
modifier le symbole affiché entre chaque colonne, etc. Enfin, des packages étendent encore ces
possibilités...
14
3.5 Sectionnement et références croisées
LATEX est capable de gérer tout seul la mise en forme des titres de paragraphes et leur numéro-
tation; 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 com-
mandes \chapter{}, \section{} , \paragraph{}, etc. sont à notre 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).
1 Première section
\section{Première section}
\subsection{Première soussection} 1.1 Première soussection
\section{Deuxième section}
2 Deuxième section
\section*{Conclusion}
Conclusion
\section{Découverte de \LaTeX}
\label{sec-Decouv}
Conseil: Prendre l’habitude de « classer » ses références à l’aide d’un mot-clé (suivi d’un
tiret) : \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érotée, etc.
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{}.
15
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 paragraphe doit changer (suite à l’ajout d’un sec-
tionnement avant) ou si le numéro de page change (suite à l’ajout de texte avant), alors les
commandes \ref{} et \pageref{} se mettent à jour toutes seules.
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 une formule, afficher une succession
d’équations; écrire proprement des énoncés de théorèmes numérotés; savoir où trouver des in-
formations supplémentaires.
1. L’environnement equation permet d’écrire une ligne en mode hors-texte (comme la syn-
taxe \[ · · · \]) mais, en plus, il la numérote:
16
Soit
$\begin{array}{|c|c|}
\hline
f(x,t) & g(x,y)\\ f (x, t) g(x, y)
Soit √ un beau tableau.
\hline t x <e(x + iy)
3
Soit
$\begin{array}[b]{|c|c|}
\hline
f(x,t) & g(x,y) \\ f (x, t) g(x, y)
√
\hline t 3 x <e(x + iy)
Soit un autre tableau.
t\sqrt[3]{x} & \Re\textrm{e}(x+iy)\\
\hline
\end{array}$ un autre tableau.
Soit
$L=\begin{pmatrix} 2 −1
2 & -1 & \\ Soit L = −1 2 −1
une matrice.
-1 & 2 & -1 \\ −1 2
& -1 & 2 \\
\end{pmatrix}$ une matrice.
4. Pour écrire des équations sur plusieurs lignes, là encore on remplacera avantageusement
array par un environnement mieux adapté ; citons en particulier
17
On a
\begin{gather} On a
\Delta V=-\vec\nabla
\cdot(\nabla\vec E),\\ ~ · (∇E),
∆V = −∇ ~ (2)
ρ
\Delta V+ \frac{\rho} ∆V + = 0. (3)
ε0
{\varepsilon_0}=0.
\end{gather}
• align pour empiler des équations en les alignant verticalement 15 (elles seront numérotées):
On a aussi On a aussi
\begin{align}
(a+b)^2 &= (a+b)(a+b)\\ (a + b)2 = (a + b)(a + b) (4)
&= a^2+2ab+b^2. = a2 + 2ab + b2 . (5)
\end{align}
On peut faire plusieurs colonnes d’équations (en rajoutant des &, généralement
placées avant le symbole de relation);
• 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 On a
\begin{multline}
55= 1+2+3\\ 55 = 1 + 2 + 3
+4+5+6+7\\ +4+5+6+7
+8+9+10. + 8 + 9 + 10. (6)
\end{multline}
• Ces trois environnements (ainsi que equation) admettent une forme étoilée qui
supprime la numérotation:
On a enfin
On a enfin
\begin{align*}
(a+b)^2 &= (a+b)(a+b)\\
(a + b)2 = (a + b)(a + b)
&= a^2+ab+ba+b^2\\
= a2 + ab + ba + b2
&= a^2+2ab+b^2 && \text{
car\dots} = a2 + 2ab + b2 car. . .
\end{align*}
18
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.
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):
• la commande \intertext{} permet d’insérer une ligne de texte entre deux lignes de align
sans briser l’alignement vertical;
19
• la commande \notag permet de supprimer la numérotation sur une ligne particulière;
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 envi-
ronnements de type theorem.
Avant toute chose, chargeons le package amsthm; 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
20
d’un autre type d’énoncé ? Sera-t-il numéroté par section ?).
\newtheorem{prop}{Proposition}
\newtheorem{cor}[prop]{Corollaire}
\begin{prop}
Pour tout $\alpha\in\mathbb{R}$, Proposition 1 Pour tout α ∈ R, la série
la série \[\sum_{n\ge 1} X 1
{\frac1{n^\alpha}}\] converge
n≥1
nα
si et seulement si $\alpha >1$.
\end{prop} converge si et seulement si α > 1.
\begin{cor}[Séries de Bertrand]
\label{cor-Bertrand} Corollaire 2 (Séries de Bertrand) Pour
Pour tout $(\alpha,\beta)\in tout (α, β) ∈ R2 ,
\mathbb{R}^2$, \[ \sum_{n\ge 2}{
X 1
\frac1{n^\alpha (\ln n)^\beta}} \]
n≥2
nα (ln n)β
converge si et seulement si
$(\alpha >1)$ ou $(\alpha =1 converge si et seulement si (α > 1) ou
\text{ et } \beta>1)$. (α = 1 et β > 1).
\end{cor}
(Dans ce dernier exemple un titre a été donné à l’énoncé, via des crochets ; un \label{},
lui aussi facultatif, est utilisé pour pouvoir faire référence au corollaire plus tard.)
21
\begin{proof}
Étude de cas et comparaison Démonstration 1 Étude de cas et
série/intégrale pour $\alpha>1$. comparaison série/intégrale pour α > 1.
\end{proof}
\begin{proof}[Preuve du
corollaire~\ref{cor-Bertrand}] Démonstration 2 (Preuve du corollaire 2)
\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é.
22
Conseil. Pour faire référence à un énoncé numéroté, toujours utiliser \label{} et \ref{};
ne jamais faire une numérotation « en dure » i.e ne jamais écrire « le corollaire 2 » dans
son fichier source.
Donnons ici quelques références commentées apportant des informations pour aller plus loin en
mathématiques avec LATEX . Tout d’abord, ces informations pourraient être réparties en trois
couches: LATEX sans packages, LATEX avec les packages de l’AMS et LATEX avec d’autres pack-
ages; dans ce TP/cours nous confondons les deux premières, car nous estimons que amsmath
et amssymb sont un minimum nécessaire pour faire des mathématiques. Voici donc quelques
idées.
2. Consulter [amsldoc], le User’s Guide du package amsmath, pour exploiter à fond ses
possibilités;
4. Consulter [Mathmode], 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
23
document très riche mais de haut niveau; en particulier, savoir que les parties I (trai-
tant de LATEX sans amsmath) et III (traitant de TeX) dépassent largement le cadre de ce
TP/cours d’initiation.
Voilà pour les généralités; maintenant, voici une solution pour étendre les
possibilités de amsthm, au cas où ce dernier se révèlerait insuffisant. Plusieurs
autres solutions existent, mais c’est celle qui semble la plus aboutie à l’heure
actuelle (Février 2022).
5. Utiliser le package ntheorem. La personnalisation des énoncés y est plus facile: passage
à la ligne après l’affichage du titre numéroté, affichage d’une liste des théorèmes, . . .;
Gros exemple 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é à la page 21) et revenez ensuite consulter
le source ci-dessous pour savoir ce qui s’y cache.
Lignes à ajouter dans le préambule:
\newcommand*{\ abs }[1]{\ left\ lvert #1\ right \rvert } % valeur absolue
\newcommand*{\ norm }[1]{\ left\ lVert #1\ right \ rVert } %norme
\newcommand*{\ bbN }{\ ensuremath \ mathbb {N}} % entiers naturels
\newcommand*{\ ensemble }[1]{\ left \{#1\ right \}} % ensemble
\newcommand*{\ tq }{\ enskip \ middle |\ enskip } %le ‘tel que ’ ; les espaces autour
peuvent etre reduits , selon les gouts
\newcommand*{\ sachant }{\ mid } %le ‘sachant que ’ des proba conditionnelles
\newcommand*{\ dpart }[2]{\ frac {\ partial #1}{\ partial #2}} % derivee partielle
Code à compiler:
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\ longrightarrow\ quad}l}
20 \ text{pas bien} & \ text{ bien }\\
24
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} \\
\bbN ^*=\ bbN \ backslash \{0\} & \bbN ^*=\ bbN \ 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 \ ensembl
x\in A\tq\frac{x }{10}\ ll 1} \]
et adoptez l’ utilisation des commandes personnelles !
32
\’ Equations de transport sous formes non conservative et conservative ($a\colon \
mathds {R}^n\to\ mathds {R}^n$) :
34 \begin { subequations}
\ begin { align }
36 \ dpart {u}{t}+ a\ cdot\ grad u&=0 ,\\
\ dpart {u}{t}+ \ divg(au)&=0.
38 \end { align }
\end { subequations}
40
Nous effectuons 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 lisiblement }
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\\
25
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_tE \biggr ]
60 \end { align }
Regardez les deux codes sources distincts pour obtenir ces deux morceaux identiques :
n x o n x o
x∈A 1 x∈A 1
10 10
∂u # »
+ a · grad u = 0, (11a)
∂t
∂u
+ div(au) = 0. (11b)
∂t
26
Nous effectuons les calculs suivants
∂f
A= (x, v, t) + v · ∇x f (x, v, t) + ∇v · F (x, v)f (x, v, t) (12)
∂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
∂f
A= + v · ∇x f + ∇v · (FF f ) + ∇v · (FI f ). (♣)
∂t
x 0 et x 0
x ∈ ∅ ⇐⇒ x ∈ ∅ ⇐⇒
x 6= 0
ρ
div E = div B = 0 (13)
0
−−→ −−→
curl E = −∂t B curl B = µ0 ~ + 0 ∂t E (14)
27
4 Fonctionnalités plus avancées
Notes de bas de page : elles s’utilisent avec \footnote{} comme ceci 2 . Observez que dans
un tableau cette commande ne fonctionne pas.
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:
%Intitule
\title{TP d’initiation à \LaTeX}
%Auteurs
\author{Prénom \bsc{Nom}\thanks{\texttt{[Link]@[Link]}}}
%Date
\date{22 mars 2010}
Il existe aussi l’environnement titlepage qui dédie une page entière au titre.
Table des matières : la commande \tableofcontents permet d’afficher la table des matières
à l’endroit où elle est appelée.
2
Je suis une note de bas de page ; je commence par une majuscule et me termine par un point.
28
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 au puissant outil BibTEX); il s’agit de l’environnement
thebibliography qui s’utilise comme suit:
\clearpage
\begin{thebibliography}{99}
\bibitem{degond} Pierre \bsc{Degond}. \og Macroscopic
limits of the Boltzmann equation: a review\fg. Chapitre
issu de \emph{Modeling and Computational Methods for
Kinetic Equations}, Springer, \oldstylenums{2004}.
\end{thebibliography}
cela affiche la bibliographie sur une nouvelle page et permet d’écrire à tout endroit du
fichier source : 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.
29
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 interprétés par LATEX , qu’ils soient horizontaux ou
verticaux (cela permet de rendre plus lisible le fichier source); par exemple:
| Plein d’espaces.
Début de paragraphe\dots
Enfin, pour changer de page, on utilisera \clearpage (qui a l’avantage de placer tous les
flottants en attente, s’il y en a).
30
4.2 Inclusion d’images
Dans de nombreux documents, on est amené à insérer des images au fil du texte: graphiques,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.
Le package le plus utilisé pour insérer des images est graphicx: 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. Remar-
quons que dans ces exemples, l’extension du fichier image n’est pas précisée: c’est tout à fait
licite, et même préférable.
\begin{center}
\includegraphics[scale=.4]{img}
\includegraphics[width=2cm,
angle=45]{img}
\end{center}
Les images insérées dans LATEX peuvent être numérotées et légendées, voir le paragraphe
suivant sur les f lottants.
4.3 Flottants
Les flottants sont un outil efficace pour placer (dans le document final) des objets déjà créés;
cependant, l’utilisateur se retrouve souvent confronté à des problèmes. Nous présentons ici
brièvement ce que sont les flottants et à quel moment des difficultés peuvent intervenir; ensuite,
nous 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
Comme nous venons de le voir, 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 de place en
bas d’une page au moment où nous souhaitons insérer une figure : que va-t-il se passer si cette
dernière occupe plus de 5 cm verticalement ? Nous aimerions la mettre sur la page suivante, où
elle aura de la place; mais alors, un problème apparait: si nous devons poursuivre la rédaction
du document, cela va laisser 5 cm de vide sur la page précédente (ce qui ne donnera pas un
rendu très agréable) ...
31
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 place-
ment faits (par défaut) 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:
• il faut garder à l’esprit 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;
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.
3. Référencer un flottant, à l’aide de \label{} (prendre garde à bien mettre cette étiquette
après la légende).
\begin{figure}[ht]
\centering
\includegraphics{image}
\caption{Position des roues des
trains d’atterrissage principaux sur le Boeing 727}
\label{fig-Boeing}
\end{figure}
32
Attention : 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 .
Attention, il faut bien comprendre que figure ne sert pas à insérer une image, mais à faire
flotter une image (insérée par \includegraphics{}).
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 essentiellement dans deux
cas: si les flottants sont très gros ou s’il y en a beaucoup.
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 du flottant.
Enfin, il est aussi possible (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 .
33
4.4 Schémas et graphiques: Aperçu P ST ricks
Il existe différents outils pour créer des dessins directement dans LATEX. À l’heure actuelle,
le plus complet est PSTricks; il existe aussi PGF/TikZ (très facile qu’on verra par la suite).
Pour l’utiliser PSTricks, il faut charger le package pstricks et parfois des packages auxil-
iaires.
\begin{psmatrix}[colsep=2cm,
rowsep=2cm]
& & \Gamma \\
\tilde X & {\displaystyle
\tilde \Gamma_k} & \\
X & {\displaystyle \Gamma_k} &
\psset{arrows=->,labelsep=3pt
,nodesep=3pt}
\ncarc[arcangle=-20]{1,3}{2,1}
^{\tilde p_k}
\ncline{1,3}{2,2}\ncput*{\varphi}
\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}
\ncline{2,2}{3,2}<{\tilde \Gamma_k}
\ncline{3,2}{3,1}^{p_k}
\end{psmatrix}
L’extension pst-circ fournit des macros pour dessiner des circuits électriques:
\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)$}
\multidipole(C)(D)\coil{$L$}\resistor
[intensitylabel=$i(t)$]{$R$}.
\resistor(D)(B){$R$}
\wire(A)(B)
\capacitor[parallel](D)(B){$C$}
\end{pspicture}
34
Des figures de la géométrie euclidienne sont prédéfinies dans l’extension pst-eucl:
\begin{pspicture}(6,6)
\pstTriangle[PointSymbol=none]
(4,1){A}(1,3){B}(5,5){C}
\pstCircleABC[CodeFig=true,
CodeFigColor=blue, linecolor=red,
PointSymbol=none]{A}{B}{C}{O}
\end{pspicture}
\psset{pince=true,glassType=ballon}
\pstChauffageTube[becBunsen,barbotage,
substance={\pstFilaments[10]{green}}]
35
4.5.2 Environnement de conception
\begin{tikzpicture}
les codes pour construire l’image tikz resterons ici
\end{tikzpicture}
\begin{center}
\begin{tikzpicture}
Avec ceci, la figure sera bien centrer sur la page
\end{tikzpicture}
\end{center}
Une fois l’environnement d’image tikz crée, vous êtes dans un repère. Il revient simplement à
manipuler les coordonnées avec les commandes de dessin pour obtenir votre résultat.
Exécuter chaque code source proposé ici dans un environnement tikz pour comprendre et
remarquer le résultat:
36
\draw[thick, -latex] (-6,0) -- (6,0)node[below right]{$x$};
\draw[thick, -latex] (0,-6) -- (0,6)node[above right]{$y$};
\node at (0,0)[below right]{$O$};
\draw[thick] (1,1) rectangle (6,5);
37
\begin{center}
\begin{tikzpicture}[scale=1.5]
38
to [bend right=15](1.7,-0.8);
\draw[] (1.4,-1.25) to [bend right=5](2.5,-2);
\draw[] (1.6,-1) to [bend left=10](1.4,-0.8);
\end{tikzpicture}
\end{center}
\begin{center}
\def\firstpane{\begin{tikzpicture}
\draw[thick] (-0.5,0.25)--(-1.1,-0.25) -- (0.5,-0.25)--(1.1,0.25)--(-0.5,0.25);
\draw[thick] (0,0) circle(1pt);
\draw[very thick] (0,0) -- (0,1.5)node[]{$\bullet$};
\draw[thick] (0.2,2.4-0.4) -- (-0.2,2.4-0.4) (0,2.2-0.4) -- (0,2.6-0.4);
\end{tikzpicture}}
\def\secondpane{\begin{tikzpicture}
\draw[thick] (-0.5,0.25)--(-1.1,-0.25) -- (0.5,-0.25)--(1.1,0.25)--(-0.5,0.25);
\draw[thick] (0,0) circle(1pt);
\draw[very thick] (0,-0.25) -- (0,-1.5)node[]{$\bullet$};
\draw[thick] (0.2,-2.4+0.5) -- (-0.2,-2.4+0.5);
\end{tikzpicture}}
\begin{tikzpicture}
\draw[thick] (0,1.5) -- (-5,1.5) arc(90:270:0.5 and 1.5) -- (0,-1.5);
\draw[thick] (0,1.5) -- (1,2);
39
\draw[thick] (1,2) -- (5,2.7);
\draw[thick] (5,2.7) -- (6,2.7);
\draw[thick] (0,-1.5) -- (1,-2);
\draw[thick] (1,-2) -- (5,-2.7);
\draw[thick] (5,-2.7) -- (6,-2.7);
\draw[thick] (6.2,0) arc(0:360:0.2 and 2.7);
\node at (6.4,0.2)[right]{Fluorescent};
\node at (6.4,-0.2)[right]{screen};
\draw[thick] (-6.5,0.05) -- (-6.5,1.1) -- (-4.8,1.1) --(-4.8,0.5) (-4.8,-0.5)
-- (-4.8,-1.1) -- (-6.5,-1.1) -- (-6.5,-0.05) (-6.2,0.05)
-- (-6.8,0.05) (-6.3,-0.05) -- (-6.7,-0.05);
\draw[thick] (-4.8,0.5) -- (-4.5,0.4);
\draw[thick] (-4.8,-0.5) -- (-4.8-0.3,-0.4);
\foreach \n in {-0.4,-0.35,...,0.4}
\draw[] (-4.5,\n) -- (-5.1,\n);
\foreach \n in {-0.35,-0.3,...,0.45}
\draw[] (-5.1, \n) -- (-4.5,{-0.05+\n});
\draw[thick, dashed] (-4,1.1) -- (-4,-1.1);
\draw[thick] (-2.65,1.1) -- (-3,1.1)
arc(90:270:0.15 and 1.1) -- (-2.65,-1.1) arc (-90:270:0.15 and 1.1);
\draw[thick] (-2.65+1.25,1.1) -- (-3+1.25,1.1)
arc(90:270:0.15 and 1.1) -- (-2.65+1.25,-1.1)
arc (-90:270:0.15 and 1.1);
\draw[thick] (-1.3-0.25,-1.1) -- (-1.3-0.25,-3)
-- (-3.5,-3) (-3.6,-3) -- (-6.5,-3) -- (-6.5,-1.1)
(-3.5,-2.7) -- (-3.5,-3.3) (-3.6,-2.8) -- (-3.6,-3.2);
\node at (0.4,1.6)[]{\firstpane{}};
\node at (0.4,-1.6)[]{\secondpane{}};
\end{tikzpicture}
\end{center}
40
4.6 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’un package (qui définit une nouvelle classe LATEX ) nommé beamer. La classe beamer génère
des « transparents » (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 différent
de celui habituellement utilisé:
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):
\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 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.
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 classique-
ment 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.
41
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.
Par ailleurs, il existe d’autres types de blocks, dont les détails peuvent être redéfinis manuelle-
ment.
42
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 trans-
parent.
On peut se demander à quoi cela sert, car il suffirait de faire 3 transparents différents 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.
43
LATEX Mathematical Symbols
The more unusual symbols are not defined in base LATEX (NFSS) and require \usepackage{amssymb}
3 Delimiters
| | { \{ b \lfloor / / ⇑ \Uparrow x \llcorner
| \vert } \} c \rfloor \ \backslash ↑ \uparrow y \lrcorner
k \| h \langle d \lceil [ [ ⇓ \Downarrow p \ulcorner
k \Vert i \rangle e \rceil ] ] ↓ \downarrow q \urcorner
Use the pair \lefts1 and \rights2 to match height of delimiters s1 and s2 to the height of their contents, e.g.,
\left| expr \right| \left\{ expr \right\} \left\Vert expr \right.
8 Miscellaneous symbols
∞ \infty ∀ \forall k \Bbbk ℘ \wp
∇ \nabla ∃ \exists F \bigstar ∠ \angle
∂ \partial @ \nexists \diagdown ] \measuredangle
ð \eth ∅ \emptyset \diagup ^ \sphericalangle
♣ \clubsuit ∅ \varnothing ♦ \Diamond { \complement
♦ \diamondsuit ı \imath ` \Finv O \triangledown
♥ \heartsuit \jmath a \Game 4 \triangle
♠ \spadesuit `
RRRR \ell ~ \hbar M \vartriangle
··· \cdots \iiiint } \hslash \blacklozenge
.. RRR
. \vdots RR \iiint ♦ \lozenge \blacksquare
... \ldots \iint f \mho N \blacktriangle
..
. \ddots ] \sharp 0 \prime H \blacktrinagledown
= \Im [ \flat
√ \square 8 \backprime
< \Re \ \natural \surd s \circledS
12 Font sizes
Z
f −1 (x − xa ) dx ${\displaystyle \int f^{-1}(x-x_a)\,dx}$
R
Math Mode: f −1 (x − xa ) dx ${\textstyle \int f^{-1}(x-x_a)\,dx}$
R
f −1 (x−xa ) dx ${\scriptstyle \int f^{-1}(x-x_a)\,dx}$
R
f −1 (x−xa ) dx ${\scriptscriptstyle \int f^{-1}(x-x_a)\,dx}$
\tiny = smallest \normalsize = normal
Text Mode:
\scriptsize = very small \large = large \huge = huge
\footnotesize = smaller
\small = small
\Large = Large
\LARGE = LARGE \Huge = Huge
13 Text Mode: Accents and Symbols
ó \’{o} ö \"{o} ô \^{o} ò \‘{o} õ \~{o} ō \={o} s. \d s
ȯ \.{o} ŏ \u{o} ő \H{o} o o \t{oo} o̧ \c{o} o. \d{o} s̊ \r s
o \b{o} Å \AA å \aa ß \ss ı \i \j s̋ \H s
¯
ø \o s \t s š \v s Ø \O ¶ \P § \S
æ \ae Æ \AE † \dag ‡ \ddag c \copyright £ \pounds
...
Ne vous arrêter pas là. Bouger, et allez chercher plus encore en LATEX avec la
chaîne TechHub229;
[Link]
48