Formation Latex
Formation Latex
Formation Latex
2 Premier document 2
2.1 Préambule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Commandes et environnements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
5 Mathématiques 7
5.1 Mode mathématiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.2 Commande de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.3 Écriture matricielle des vecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.4 Alignement des calculs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.5 Texte et accent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.6 Unités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7 Les tableaux 11
7.1 Avec le package tabularray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.2 Old school way (avant tabularray) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.2.1 Exemple basique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.2.2 Fusion horizontale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.2.3 Fusion verticale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.2.4 Modification sur toute une colonne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.3 Pour s’éviter de ramer à chaque fois . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9 Package utile 14
9.1 Un indispensable : tcolorbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.2 Packages utiles en PC : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
9.2.1 Représentation de graphiques avec pgfplots . . . . . . . . . . . . . . . . . . . . . . . . . . 15
9.2.2 Équation de réactions : chemformula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
9.2.3 Représentation de molécules : chemfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
9.2.4 Faire des schémas (ou des dessins) : tikz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
9.2.5 Circuits électriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
10 Sources 17
10.1 Liens utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
10.2 Ouvrages : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1 LATEX ? ?
1.1 Des choses à lire et à regarder
— Un billet à lire : https://mt2e.univ-littoral.fr/Members/denis-bitouze/pub/latex/divers/traitements-de-
version-html#auotoc-item-autotoc-1
— Une vidéo à regarder : https://www.youtube.com/watch?app=desktop&v=9eLjt5Lrocw
LATEX
Le retour à la ligne
dans le code source
et dans le rendu final
ne sont pas reliés.
Le retour à la ligne dans le code source et dans le
rendu final ne sont pas reliés.
Un changement de paragraphe se fait en sau-
Un changement de paragraphe se fait en tant une ligne !
sautant une ligne !
On peut remarquer l’indentation qui marque
On peut remarquer l’indentation qui le début du paragraphe et l’interligne légèrement
marque le début du paragraphe et plus important. Cela peut se régler, bien sûr.
l’interligne
légèrement plus important. Cela peut se
régler, bien sûr.
1.3 Installation
Pour l’installation de LaTeX et d’un éditeur adapté, suivre le tutoriel suivant : https://mt2e.univ-littoral.
fr/Members/denis-bitouze/pub/latex/diapositives-cours-d/installation-latex.pdf/@@download/file/
installation-latex.pdf
2 Premier document
2.1 Préambule
Un fichier tex est composé de deux parties : le préambule dans lequel on indique les packages et certains
réglages du document et le corps du document qui contient ce qui sera effectivement affiché lors de la compilation.
LATEX
La première ligne indique le type de document. Il en existe de très nombreux, qui offrent des possibilités de
mises en page différentes. La classe article est une des plus communes.
La deuxième ligne indique l’encodage des caractères, qui peut dépendre de l’OS, et du réglage de l’éditeur
de texte. Dans l’exemple ci-dessous l’encodage est en UTF8, mais on croise également latin1, qui correspond à
un encodage iso1.
LATEX
\LaTeX LATEX
LATEX
Les environnements
— Les environnements ont une syntaxe du type :
\begin{ UnEnvironnement }
Oubladi oublada
\end{ UnEnvironnement }
Exemple : centrer du texte
LATEX
\begin{center}
Centrer du texte Centrer du texte
\end{center}
remarques : Tout comme les commandes, les environnements peuvent attendre des arguments obliga-
toires ou optionnels.
LATEX
\section{Titre 1}
\subsection{Sous titre 1}
\subsection{Sous titre 2}
\section{Titre 2}
La numérotation se fait automatiquement et, si on ne veut pas de numérotation, on utilise les versions
étoilées de ces commandes (\section∗{}, \subsection∗{})
3.2 Listes
Pour une liste ordonnée, on utilise l’environnement enumerate et pour les listes non ordonnées l’environne-
ment itemize.
On peut naturellement faire des listes de différents types, éventuellement imbriquées les unes dans les autres.
Les listes
LATEX
\begin{enumerate}
\item Oubladi
\item Oublada 1. Oubladi
\begin{enumerate}
\item michelle 2. Oublada
\item ma belle (a) michelle
\begin{itemize}
\item sont des mots
(b) ma belle
\item qui vont très bien ensemble. — sont des mots
\end{itemize} — qui vont très bien ensemble.
\end{enumerate} 3. C’est beau !
\item C’est beau!
\end{enumerate}
LATEX
\begin{itemize}
\item \textcolor{red}{Du texte en — Du texte en couleur
couleur} — Du texte en gras
\item \textbf{Du texte en gras} — Du texte en italique
\item \textit{Du texte en italique} — Du texte mis en évidence
\item \emph{Du texte mis en évidence}
— des petites capitales
\item \textsc{des petites capitales}
\item \texttt{type machine à écrire}
— type machine à écrire
\end{itemize}
remarque : La différence entre \textit{} et \emph{} est que la deuxième permute italique et droit : dans
un texte en italique, elle remettrait donc le texte en caractère droit.
Pour l’alignement du texte, il existe des environnements aux noms évocateurs :
LATEX
\begin{center}
Le texte est centré
\end{center}
Le texte est centré
\begin{flushleft}
Le texte est aligné à gauche Le texte est aligné à gauche
\end{flushleft}
Le texte est aligné à droite
\begin{flushright}
Le texte est aligné à droite
\end{flushright}
LATEX
Insertion d’une image et ajustement de la taille :
Insertion d’une image et ajustement de la
taille:
\includegraphics[scale=.2]{tux_chimie}
LATEX
\url{ https://tube-sciences-technologies.apps.education.fr/w/koKWnHzNAqntRxG3wdvLyV}
https://tube-sciences-technologies.apps.education.fr/w/koKWnHzNAqntRxG3wdvLyV
LATEX
\setlength{\columnseprule}{1pt} % pour
ajouter la ligne verticale
\renewcommand{\columnseprulecolor}{
\color{lightgray}
} % gestion de la couleur
%
\begin{multicols}{2}
Michelle, ma belle
These are words that go together Well
Michelle, ma belle I love you, I love
My Michelle These are words that go you, I love you That’s
together Well My Mi- all I want to say Until I
Michelle, ma belle chelle find a way I will say the
Sont des mots qui vont très bien ensemble only words I know that
Très bien ensemble You’ll understand
I love you, I love you, I love you Michelle, ma belle Michelle, ma belle
Thats all I want to say Sont des mots qui vont Sont des mots qui vont
Until I find a way très bien ensemble Très très bien ensemble Très
I will say the only words I know that bien ensemble bien ensemble
Youll understand
Michelle, ma belle
Sont des mots qui vont très bien ensemble
Très bien ensemble
\end{multicols}
Minipage
Une minipage permet entre autre d’écrire du texte sur une colonne de largeur déterminée. Cela permet par
exemple d’avoir des colonnes de largeurs différentes
LATEX
\begin{minipage}{.8\linewidth}
Tux est un manchot, mascotte officielle du noyau Linux. Dessiné par Larry Ewing en
1996, son usage est libre et se retrouve dans de très nombreux projets et logotypes
liés à Linux.Le dessin du personnage a été choisi à l’issue d’un concours organisé en
1996 remporté par Larry Ewing. Il utilisa GIMP, le logiciel de traitement d’image
phare sur GNU/Linux. Il s’agit d’un personnage fictif représentant très
approximativement un manchot pygmée dont l’idée a été suggérée par Alan Cox1 puis
affinée par Linus Torvalds2, le créateur du noyau Linux.
\end{minipage}
%
\begin{minipage}{.15\linewidth}
\centering
\includegraphics[scale=.2]{tux_chimie}
\end{minipage}
Tux est un manchot, mascotte officielle du noyau Linux. Dessiné par Larry Ewing en
1996, son usage est libre et se retrouve dans de très nombreux projets et logotypes liés
à Linux.Le dessin du personnage a été choisi à l’issue d’un concours organisé en 1996
remporté par Larry Ewing. Il utilisa GIMP, le logiciel de traitement d’image phare
sur GNU/Linux. Il s’agit d’un personnage fictif représentant très approximativement
un manchot pygmée dont l’idée a été suggérée par Alan Cox1 puis affinée par Linus
Torvalds2, le créateur du noyau Linux.
remarque : on peut ajouter l’argument optionnel b (comme bottom) aligne le bas des minipages. Si on
met t (comme top), je vous laisse deviner.
4.2 Flottants
Les flottants sont des portions de documents pour lesquelles on laisse LaTeX choisir l’emplacement adéquat.
Cette figure pourra porter un titre, un numéro et on pourra y faire référence très facilement sans se préoccuper
d’éventuellement changement ultérieur.
En pratique les flottants sont des images ou des tableaux.
LATEX
\begin{figure}[ht]
\centering
\includegraphics[scale=.1]{tux_chimie}
\caption{Tux, une des mascottes de linux}
\label{img:tux}
\end{figure}
La figure est numéroté automatiquement.
\textbf{Exemple :}
LATEX
\documentclass[french, 12pt]{article}
LATEX
tiny < scriptsize < footnotesize < normalsize < large < Large < LARGE < huge < HUGE
5 Mathématiques
5.1 Mode mathématiques
En mode mathématique, le code sera interprété différemment par LaTeX. Pour indiquer le mode mathéma-
tique, il y a deux possibilité :
— Le mode en ligne (on dit aussi inline), délimité par $...$ . Utile pour les équations courtes et ne prenant
pas trop de place en hauteur.
— Le mode hors ligne dans lequel les équations ne sont pas dans le texte et disposent de plus de place. Ce
mode est délimité par \[... \] .
En mode en ligne, on obtient le résultat ci-dessous. On observe que dans la fraction les caractères sont un peu
réduits.
LATEX
LATEX
On sait que
\[ On sait que
v = \frac{d}{\Delta t} d
v=
\] ∆t
On peut donc en déduire que On peut donc en déduire que
\[
d = v \times \Delta t d = v × ∆t
\]
LATEX
\begin{itemize}
\item En minuscule : $ \alpha, \beta,
\gamma, \delta, \nu, \omega, \sigma...$ — En minuscule : α, β, γ, δ, ν, ω, σ...
\item En majuscule : $ \Omega, \Delta, — En majuscule : Ω, ∆, Σ...
\Sigma ...$
\end{itemize}
Exposant, indice
Assez intuitif, voyez plutôt :
LATEX
\begin{itemize}
\item Un seul caractère: $a^n$ ou $a_n$ — Un seul caractère : an ou an
\item Plusieurs caractères: $a^{42}$ et
— Plusieurs caractères : a42 et non pas a4 2
non pas $a^42$
\end{itemize}
Fractions
LATEX
\begin{itemize}
\item En mode en ligne, on utilise : — En mode en ligne, on utilise : ab Pour ne
$\frac{a}{b}$ Pour ne pas empiéter sur pas empiéter sur la ligne précédente ou sui-
la ligne
vante.
précédente ou suivante.
\item En mode display, on utilise :
— En mode display, on utilise :
\[ a
\dfrac{a}{b} b
\]
car c’est quand même plus joli. car c’est quand même plus joli.
\end{itemize}
Vecteur
Il existe une commande de base pour les vecteurs mais on préfèrera le package esvect.
LATEX
\begin{itemize}
\item La commande de base n’est pas très — La commande de base n’est pas très jolie :
jolie: $\vec{u}$, $\vec{AB}$. ⃗
⃗u, AB.
\item La commande suivante sera donc — La commande suivante sera donc préférée :
préférée : $\vv{u}$, $\vv{AB}$. #» # »
u , AB.
\item Pour avoir les indices placés
— Pour avoir les indices placés correctement
avec une commande étoilée : #»
correctement avec une commande étoilée:
$\vv*{u}{2}$ u2
\end{itemize}
\begin{itemize}
\item La version artisanale
\[
\vv{v} =
\left(
\begin{aligned} — La version artisanale
&v_x = 4 \\ !
&v_y = -5 \times t^2 \\ #» vx = 4
v =
\end{aligned} \right) vy = −5 × t2
\]
% — La version rapide
\item La version rapide
\[ vx = 4
\begin{pmatrix} vy = −5
v_x = 4 \\
v_y = -5 \\
\end{pmatrix}
\]
\end{itemize}
LATEX
\begin{align*} n
c=
c &= \dfrac{n}{V} \\ V
&= \dfrac{m}{M \times V} \\ m
=
&= ... M ×V
\end{align*} = ...
Système d’équations
LATEX
\begin{itemize}
\item Version artisanale
\[
\left\{ — Version artisanale
\begin{aligned} (
3x − y = −12
&3x - y = -12 \\
&x + 4y = 3 \\ x + 4y = 3
\end{aligned}
\right. — Avec le package systeme
\] (
\item Avec le package \texttt{systeme} 3x − y = −12
\[
x + 4y = 3
\systeme{3x-y=-12, x+4y=3}
\]
\end{itemize}
LATEX
\begin{itemize}
\item Mauvaise rédaction :
\[
— Mauvaise rédaction :
ab = 0 si et seulement si a = 0 ou b =
0
ab = 0sietseulementsia = 0oub = 0
\]
\item Bonne rédaction :
— Bonne rédaction :
\[
ab = 0 \text{ si et seulement si } a =
ab = 0 si et seulement si a = 0 ou b = 0
0 \text{ ou } b = 0
\]
\end{itemize}
LATEX
\begin{itemize}
\item Mauvaise rédaction
(\og{}\textit{ext}\fg{} en italique) :
— Mauvaise rédaction (« ext » en italique) :
\[
X# »
Fext = m #»
\sum \vv{F_{ext}} = m \vv{a}
\] a
%
\item Bonne rédaction, mais un peu — Bonne rédaction, mais un peu lourde :
lourde: X# »
\[ Fext = m #»
a
\sum \vv{F_{\text{ext}}} = m \vv{a}
\]
\end{itemize}
remarque : Il existe une manière d’avoir une bonne rédaction plus simplement, en utilisant des macros
personnelles (voir la partie suivante)
5.6 Unités
Le package siunitx est particulièrement utile pour écrire les unités correctement et rapidement, mais éga-
lement les nombres en écriture scientifique.
Il contient trois commandes principales : \SI{valeur}{unite}, \si{} pour avoir uniquement les unités et
\num{} pour écrire uniquement un nombre.
Pour les détails, on se réfèrera à la documentation, mais voici quelques exemples :
LATEX
\begin{itemize}
\item $v = \SI{1.9e-2}{\m\per\s}$ — v = 1,9 × 10−2 m s−1
\item $ \lambda_0 =
— λ0 = 19,86 mS m mol−2
\SI{19,86}{\milli\siemens\m\square\per\mol}$
\end{itemize}
remarque : Le package siunitx respecte la règle officielle définie par le BIPM et ne met pas de points
médians entre deux unités.
SI on veut vérifier l’affirmation précédente :
https://www.bipm.org/documents/20126/41483022/SI-Brochure-9-FR.pdf
Si on tient vraiment au point médian, on ajoutera la ligne suivant au préabmule :
LATEX
Si on est amené à écrire de nombreuses fois une unité composée, le package permet de préparer une unité
personnalisée :
LATEX
\DeclareSIUnit{\cmi}{\milli\siemens\m\square\per\mol}
%
$\lambda_0 = \SI{1.9e-2}{\cmi}$
LATEX
\[
\sum \fext = m \vv{a}
\]
Dans la définition de la commande, #1 représente le premier paramètre. S’il y en avait eu d’autres, on aurait
utilisé #2, #3, etc.
\newenvironment{monEnvironement}
{\begin{center} \Huge \color{red}} % Avant
{\end{center}} % Après
\begin{monEnvironement} Coucou !
Coucou !
\end{monEnvironement}
7 Les tableaux
Faire des tableaux en LATEXa longtemps été pénible (voir très pénible). Dans cette partie on présentera le
package tabularray qui les rend beaucoup plus facile à créer.
On présentera également des syntaxes plus compliquées (et qui sont à mon sens inutiles dans la plupart des
cas) mais qui sont encore très utilisées.
LATEX
\begin{tblr}{
vlines, hlines,
rows = {c}, % toutes les lignes
centrées
row{1} = {font=\bfseries}, % la ligne 1
1 2 3 4
hline{2} = {1}{-}{solid},
hline{2} = {2}{-}{solid}, 5 8
cell{2}{2} = {c=2, r=3}{halign=c,
valign=m},% modif d’une cellule 9 6 12
} 13 16
1 & 2 & 3 & 4 \\
5 & 6 & 7 & 8 \\
9 & 10 & 11 & 12 \\
13 & 14 & 15 & 16 \\
\end{tblr}
À RETENIR :
— & :sépare deux cellules successives
— \\ : passer à la ligne suivante
— hlines, vlines : ensemble des filets.
— hline{i} , vline{j} : sélection de la ligne / colonne.
— cells : toutes les cellules.
— cell {i}{j} : cellule ligne i, colonne j.
— X, Y et Z correspondent respectivement à l’antépénultième, l’avant-dernière et la dernière ligne / colonne.
Utiles si on ne connait pas leur nombre à l’avance.
Définir un tableau
Si on utilise souvent le même tableau, ce package fournit une solution permettant d’enregistrer ses caracté-
ristiques.
LATEX
LATEX
\centering
\begin{tabular}{|c|c|c|c|}
\hline
\textbf{1} &\textbf{2}& \textbf{3} &
\textbf{8}\\ 1 2 3 8
\hline \hline 5 8 9 3
5 & 8 & 9 & 3 \\ 2 5 5 4
\hline
2 & 5 & 5 & 4\\
\hline
\end{tabular}
\centering
\begin{tabular}{|c|c|c|c|}
\hline
\textbf{1} &\textbf{2}& \textbf{3} &
\textbf{8}\\ 1 2 3 8
\hline \hline 5 Coucou ! 3
5 & \multicolumn{2}{c|}{Coucou!} & 3 \\ 2 5 5 4
\hline
2 & 5 & 5 & 4\\
\hline
\end{tabular}
\centering
\begin{tabular}{|c|c|c|c|}
\hline
\textbf{1} &\textbf{2}& \textbf{3} &
\textbf{8}\\
\hline \hline
1 2 3 8
\multirow{2}{*}{Coucou!} 8 9 3
Coucou !
& 8 & 9 & 3 \\ 5 5 4
\cline{2-4} 5 8 0 9
& 5 & 5 & 4\\
\hline
5 & 8 & 0 & 9 \\
\hline
\end{tabular}
LATEX
\centering
\begin{tabular}{|>{\color{red}
\itshape}c|c|c|c|}
\hline
\textbf{1} &\textbf{2}& \textbf{3} & 1 2 3 8
\textbf{8}\\
5 8 9 3
\hline \hline
5 & 8 & 9 & 3 \\ 2 5 5 4
\hline
2 & 5 & 5 & 4\\
\hline
\end{tabular}
9 Package utile
9.1 Un indispensable : tcolorbox
Ce package permet de faire des encadrés très simplement. Commen toujours en LATEX, on sépare le font et
la forme et il est possible de définir les caractéristiques de ses propres cadres afin de ne plus s’en occuper au
moment de la conception d’un document.
Un exemple issus de la documentation
LATEX
\newtcolorbox{aConnaitre}{colback=red!5!white, colframe=red!75!black,fonttitle=\bfseries,
title= À connaitre}
% --------------
\begin{aConnaitre}
Ce n’est pas évident au début mais je vais finir par gagner du temps avec \LaTeX
\end{aConnaitre}
À connaitre
Ce n’est pas évident au début mais je vais finir par gagner du temps avec LATEX
LATEX
\begin{tikzpicture}
\begin{axis}[
% scale=.6,
width = .6 \linewidth,
height = 6.5cm,
xmin = 0 , xmax =100 ,%
ymin = 0, % ymax =,%
xlabel = $I$ / mA ,%
ylabel = $U$ / V ,%
grid = both,
minor tick num=4,
domain=0:100,
tickpos=left,
scaled ticks=true, % pour ajouter puisssance de 10 global
tick scale binop=\times, % avec le signe "x"
% samples=10, % nombrre de points
minor grid style = {color=lightgray!25},
major grid style = {color = lightgray},
% xtick distance = 1,
% axis line shift = 5 pt, % pour un style différent
legend pos = north west,
]
\addplot[ no markers, blue, thick]{.220 * \x};
\addlegendentry{Résistance};
\addplot[no markers, red, thick]{12};
\addlegendentry{Générateur};
\node[pin=93:Point de fonctionnement] at (axis cs:55,12) {\textcolor{red}{$\bullet$}};
\end{axis}
\end{tikzpicture}
Résistance
20 Générateur
Point de fonctionnement
U /V
•
10
0
0 20 40 60 80 100
I / mA
LATEX
\ch{CH4 (g) + 2 O2 (g) -> CO2 (g) + 2 H2O CH4(g) + 2 O2(g) CO2(g) + 2 H2O(g)
(g)}
LATEX
\begin{itemize}
\item Représentation semi-développée :
\begin{center}
\chemfig{CH_3-CH(-[2] OH) -CH_3}
\end{center}
— Représentation semi-développée :
OH
\vspace{.5cm}
%
\item Topologique CH3 CH CH3
\begin{center} — Topologique
\chemfig[angle
increment=30]{-[1](-[:90]) -[-1] OH}
\end{center}
\vspace{.5cm}
\item Lewis OH
\begin{center} — Lewis
\chemfig[angle
increment=30]{-[1](-[:90]) -[-1]
\charge{[circle]90pt=\|, -90=\|,
-135:8pt=$\delta +$}{O} O H
-\charge{[circle] -45:8pt =$\delta δ+ δ+
+$}{H}}
\end{center}
\end{itemize}
LATEX
\shorthandoff{:!} 220 Ω
\begin{circuitikz}
\draw (0,0)
to[vsource, v=\SI{6}{V}, i=$i$] (0,3) i
to [R, l=$\SI{220}{\ohm}$] (3,3)
to [leDo, l_=Diode IR, v^=$U_\text{d}$] 6V Diode IR Ud
(3,0)
--(0,0);
\end{circuitikz}
\shorthandon{:!}
10 Sources
On trouve facilement de nombreuses informations plus ou moins datées, plus ou moins correctes et plus
ou moins contradictoires en trainant sur internet. Les forums peuvent s’avérer utiles mais il est préférable de
commencer - ou de confirmer les infos - à l’aide de la documentation des packages ou des sites suivants qui sont
des valeurs sûres :
10.2 Ouvrages :
— Degraupes, B. (2019). LATEX Apprentissage, guide et référence. 3e éd. De Boeck.
— Poulain, N. (2020). LaTeX pour les enseignants. Ellipses.