2. L
A
TEX. les bases 2022
1 L
A
TEX ? ?
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
1.2 L
A
TEXn’est pas wysiwyg
L
A
TEXest une manière différente d’envisager la conception de document. Une des idées dans sa philosophie
est la séparation fond / forme : lors de l’écriture d’un document, on ne voit pas le rendu final : uniquement son
agencement logique (section, chapitre, etc..). On dit que ce n’est pas un logiciel wysiwyg (What you see is what
you get) : contrairement à un traitement de texte classique, on ne voit le rendu final qu’après la compilation.
Un bon exemple pour illustrer cela est le retour à la ligne :
L
A
TEX
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
sautant une ligne !
On peut remarquer l’indentation qui
marque le début du paragraphe et
l’interligne
légèrement plus important. Cela peut se
régler, bien sûr.
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-
tant une ligne !
On peut remarquer l’indentation qui marque
le début du paragraphe et 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.
L
A
TEX
% ----- Préambule -----
documentclass[french]{article}
usepackage[utf8]{inputenc} % codage des caractères (doit être le même dans l’éditeur)
usepackage[T1]{fontenc} % codage des fonts (lettres accentuées, coupage fin de ligne)
usepackage{lmodern} % charge la famille de font lmodern (mieux que celle de base)
usepackage[a4paper, vmargin=2cm, hmargin=2.5cm]{geometry} % contrôle mise en page
% ----- Document -----
begin{document}
Mon premier document
end{document}
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.
Wissam SABRA 2/18 IND Meudon
3. L
A
TEX. les bases 2022
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.
2.2 Commandes et environnements
Le code source LaTeX contient le texte qui s’affiche mais également des indications de mise en page. Il en
existe de deux sortes : les commandes et les environnements
— Les commandes ont une syntaxe du type :
UneCommande [ arguments optionnels ]{ arguments o b l i g a t o i r e s }
Commande sans arguments
L
A
TEX
LaTeX L
A
TEX
Commande avec 2 arguments
L
A
TEX
textcolor{red}{texte en rouge} texte en rouge
Les environnements
— Les environnements ont une syntaxe du type :
begin{UnEnvironnement}
Oubladi oublada
end{UnEnvironnement}
Exemple : centrer du texte
L
A
TEX
begin{center}
Centrer du texte
end{center}
Centrer du texte
remarques : Tout comme les commandes, les environnements peuvent attendre des arguments obliga-
toires ou optionnels.
3 Structuration d’un document et mise en forme basique
3.1 Titres
Les titres des sections et sous-sections du document sont indiqués par les commandes suivantes
L
A
TEX
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∗{})
Wissam SABRA 3/18 IND Meudon
4. L
A
TEX. les bases 2022
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
L
A
TEX
begin{enumerate}
item Oubladi
item Oublada
begin{enumerate}
item michelle
item ma belle
begin{itemize}
item sont des mots
item qui vont très bien ensemble.
end{itemize}
end{enumerate}
item C’est beau!
end{enumerate}
1. Oubladi
2. Oublada
(a) michelle
(b) ma belle
— sont des mots
— qui vont très bien ensemble.
3. C’est beau !
Les listes sont bien sûr customisables.
remarque : les listes sont différentes des sections et subsections : leur taille et leur graisse d’une part, mais
surtout les listes ne sont pas référencées dans la table des matières.
3.3 Alignement et police
La gestion de la police peut se faire avec des commandes ou avec des environnements. Nous ne présentons
ici que les commandes. Une rapide recherche sur internet permet de trouver les environnements correspondants.
L
A
TEX
begin{itemize}
item textcolor{red}{Du texte en
couleur}
item textbf{Du texte en gras}
item textit{Du texte en italique}
item emph{Du texte mis en évidence}
item textsc{des petites capitales}
item texttt{type machine à écrire}
end{itemize}
— Du texte en couleur
— Du texte en gras
— Du texte en italique
— Du texte mis en évidence
— des petites capitales
— type machine à écrire
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 :
L
A
TEX
begin{center}
Le texte est centré
end{center}
begin{flushleft}
Le texte est aligné à gauche
end{flushleft}
begin{flushright}
Le texte est aligné à droite
end{flushright}
Le texte est centré
Le texte est aligné à gauche
Le texte est aligné à droite
Wissam SABRA 4/18 IND Meudon
5. L
A
TEX. les bases 2022
3.4 Inclure des images
Pour inclure des images, on utilise la syntaxe suivante :
L
A
TEX
Insertion d’une image et ajustement de la
taille:
includegraphics[scale=.2]{tux_chimie}
Insertion d’une image et ajustement de la taille :
3.5 Liens hypertextes
La syntaxe est on ne peut plus simple
L
A
TEX
url{ https://tube-sciences-technologies.apps.education.fr/w/koKWnHzNAqntRxG3wdvLyV}
https://tube-sciences-technologies.apps.education.fr/w/koKWnHzNAqntRxG3wdvLyV
4 Mise en page un peu plus élaborée
4.1 Multicols et minipage
multicols
L’environnement multicols permet d’écrire du texte sur plusieurs colonnes de largeur égale.
L
A
TEX
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
My Michelle
Michelle, ma belle
Sont des mots qui vont très bien ensemble
Très bien ensemble
I love you, I love you, I love you
Thats all I want to say
Until I find a way
I will say the only words I know that
Youll understand
Michelle, ma belle
Sont des mots qui vont très bien ensemble
Très bien ensemble
end{multicols}
Michelle, ma belle
These are words that go
together Well My Mi-
chelle
Michelle, ma belle
Sont des mots qui vont
très bien ensemble Très
bien ensemble
I love you, I love
you, I love you That’s
all I want to say Until I
find a way I will say the
only words I know that
You’ll understand
Michelle, ma belle
Sont des mots qui vont
très bien ensemble Très
bien ensemble
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
Wissam SABRA 5/18 IND Meudon
6. L
A
TEX. les bases 2022
L
A
TEX
begin{minipage}{.8linewidth}
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}{.15linewidth}
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.
L
A
TEX
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.
Pour y faire référence on utilise le nom choisi dans la commande label:
textbf{Exemple :}
la figure ref{img:tux} est un pinguoin.
Le résultat obtenu est le suivant : La figure est numérotée automatiquement.
Figure 1 – Tux, une des mascottes de linux
Pour y faire référence on utilise le nom choisi dans la commande label :
Exemple : la figure 1 est un pinguoin.
remarque : l’environnement table fonctionne de même manière
Wissam SABRA 6/18 IND Meudon
7. L
A
TEX. les bases 2022
4.3 Tailles des caractères
La taille de la police ne peut être gérée de la même manière que dans les traitements de texte habituels :
— On choisit la taille par défaut (entre 10, 11 et 12 pt) dans le préambule.
L
A
TEX
documentclass[french, 12pt]{article}
— Des commandes permettent d’augmenter / diminuer la taille, relativement à la taille de base
L
A
TEX
Pour écrire {tiny petit} ou {Large
gros}
Pour écrire petit ou gros
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.
L
A
TEX
On sait que $v = frac{d}{Delta t}$, on
peut donc en déduire que $d = v times
Delta t $.
On sait que v = d
∆t , on peut donc en déduire que
d = v × ∆t.
En mode hors ligne cela donne
L
A
TEX
On sait que
[
v = frac{d}{Delta t}
]
On peut donc en déduire que
[
d = v times Delta t
]
On sait que
v =
d
∆t
On peut donc en déduire que
d = v × ∆t
5.2 Commande de base
Lettres grecques
Les lettres grecques s’écrivent très simplement. On peut d’ailleurs les obtenir de la même manière dans
Word.
Wissam SABRA 7/18 IND Meudon
8. L
A
TEX. les bases 2022
L
A
TEX
begin{itemize}
item En minuscule : $ alpha, beta,
gamma, delta, nu, omega, sigma...$
item En majuscule : $ Omega, Delta,
Sigma ...$
end{itemize}
— En minuscule : α, β, γ, δ, ν, ω, σ...
— En majuscule : Ω, ∆, Σ...
Exposant, indice
Assez intuitif, voyez plutôt :
L
A
TEX
begin{itemize}
item Un seul caractère: $a^n$ ou $a_n$
item Plusieurs caractères: $a^{42}$ et
non pas $a^42$
end{itemize}
— Un seul caractère : an
ou an
— Plusieurs caractères : a42
et non pas a4
2
Fractions
L
A
TEX
begin{itemize}
item En mode en ligne, on utilise :
$frac{a}{b}$ Pour ne pas empiéter sur
la ligne
précédente ou suivante.
item En mode display, on utilise :
[
dfrac{a}{b}
]
car c’est quand même plus joli.
end{itemize}
— En mode en ligne, on utilise : a
b Pour ne
pas empiéter sur la ligne précédente ou sui-
vante.
— En mode display, on utilise :
a
b
car c’est quand même plus joli.
Vecteur
Il existe une commande de base pour les vecteurs mais on préfèrera le package esvect.
L
A
TEX
begin{itemize}
item La commande de base n’est pas très
jolie: $vec{u}$, $vec{AB}$.
item La commande suivante sera donc
préférée : $vv{u}$, $vv{AB}$.
item Pour avoir les indices placés
correctement avec une commande étoilée:
$vv*{u}{2}$
end{itemize}
— La commande de base n’est pas très jolie :
⃗
u, ⃗
AB.
— La commande suivante sera donc préférée :
#»
u,
# »
AB.
— Pour avoir les indices placés correctement
avec une commande étoilée : #»
u2
Wissam SABRA 8/18 IND Meudon
9. L
A
TEX. les bases 2022
5.3 Écriture matricielle des vecteurs
L
A
TEX
begin{itemize}
item La version artisanale
[
vv{v} =
left(
begin{aligned}
&v_x = 4
&v_y = -5 times t^2
end{aligned} right)
]
%
item La version rapide
[
begin{pmatrix}
v_x = 4
v_y = -5
end{pmatrix}
]
end{itemize}
— La version artisanale
#»
v =
vx = 4
vy = −5 × t2
!
— La version rapide
vx = 4
vy = −5
5.4 Alignement des calculs
Pour aligner les calculs, on utilise l’environnement align*. Le signe permet d’indiquer le repère pour
l’alignement des lignes et indique la fin de la ligne.
L
A
TEX
begin{align*}
c = dfrac{n}{V}
= dfrac{m}{M times V}
= ...
end{align*}
c =
n
V
=
m
M × V
= ...
remarque 1 : l’environement align* fait directement passer en mode mathématique.
remarque 2 : sans étoile, chaque ligne serait numérotée.
Système d’équations
L
A
TEX
begin{itemize}
item Version artisanale
[
left{
begin{aligned}
3x - y = -12
x + 4y = 3
end{aligned}
right.
]
item Avec le package texttt{systeme}
[
systeme{3x-y=-12, x+4y=3}
]
end{itemize}
— Version artisanale
(
3x − y = −12
x + 4y = 3
— Avec le package systeme
(
3x − y = −12
x + 4y = 3
5.5 Texte et accent
En mode mathématique, le texte est en itallique, les espaces ignorés et les accents mal gérés. Pour palier ces
problèmes, on utilise la commande text{}.
Wissam SABRA 9/18 IND Meudon
10. L
A
TEX. les bases 2022
L
A
TEX
begin{itemize}
item Mauvaise rédaction :
[
ab = 0 si et seulement si a = 0 ou b =
0
]
item Bonne rédaction :
[
ab = 0 text{ si et seulement si } a =
0 text{ ou } b = 0
]
end{itemize}
— Mauvaise rédaction :
ab = 0sietseulementsia = 0oub = 0
— Bonne rédaction :
ab = 0 si et seulement si a = 0 ou b = 0
L
A
TEX
begin{itemize}
item Mauvaise rédaction
(og{}textit{ext}fg{} en italique) :
[
sum vv{F_{ext}} = m vv{a}
]
%
item Bonne rédaction, mais un peu
lourde:
[
sum vv{F_{text{ext}}} = m vv{a}
]
end{itemize}
— Mauvaise rédaction (« ext » en italique) :
X # »
Fext = m#»
a
— Bonne rédaction, mais un peu lourde :
X # »
Fext = m#»
a
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 :
L
A
TEX
begin{itemize}
item $v = SI{1.9e-2}{mpers}$
item $ lambda_0 =
SI{19,86}{millisiemensmsquarepermol}$
end{itemize}
— v = 1,9 × 10−2
m s−1
— λ0 = 19,86 mS m mol−2
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 :
L
A
TEX
sisetup{inter-unit-product = ensuremath {{}cdot{}}}
Si on est amené à écrire de nombreuses fois une unité composée, le package permet de préparer une unité
personnalisée :
Wissam SABRA 10/18 IND Meudon
11. L
A
TEX. les bases 2022
L
A
TEX
DeclareSIUnit{cmi}{millisiemensmsquarepermol}
%
$lambda_0 = SI{1.9e-2}{cmi}$
λ0 = 1,9 × 10−2
mS m mol−2
6 Les macros personnelles
Une des grandes force de LaTeX est la facilité avec laquelle on peut définir des macros.
6.1 Commandes personnelles
Pour définir une nouvelle commande, on utilise newcommand{nomMacro}[nombre de paramètres]{Définition}
remarque : le nom de la macro ne doit pas contenir d’espace, de tiret ou de chiffre.
L
A
TEX
% Définition des commandes
newcommand{fext}{vv{F_{text{ext}}}} %
ss argument
newcommand{bilan}[1]{
textcolor{red}{textbf{BILAN:} #1}}
% Utilisation des commandes
bilan{LaTex c’est fantastique}
[
sum fext = m vv{a}
]
BILAN : LaTex c’est fantastique
X # »
Fext = m#»
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.
6.2 Environnement personnel
L
A
TEX
newenvironment{monEnvironement}
{begin{center} Huge color{red}} % Avant
{end{center}} % Après
begin{monEnvironement}
Coucou !
end{monEnvironement}
Coucou !
7 Les tableaux
Faire des tableaux en L
A
TEXa 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.
7.1 Avec le package tabularray
Ce package permet de mettre en forme les tableaux de manières trés simple (surtout par rapport aux
anciennes manières de procéder). On ne détaillera pas toutes les possibilités ici, mais il sera très profitable de
jeter un œeil à la documentation qui fourmille d’exemples.
Même si ce n’est pas la seule manière de procéder, je conseille ce type de rédaction :
Wissam SABRA 11/18 IND Meudon
12. L
A
TEX. les bases 2022
begin{ t b l r }{ d e s c r i p t i o n du tableau : couleur , colonnes , f i l e t s ... }
A B C
D E F
G H I
end{ t b l r }
L
A
TEX
begin{tblr}{
vlines, hlines,
rows = {c}, % toutes les lignes
centrées
row{1} = {font=bfseries}, % la ligne 1
hline{2} = {1}{-}{solid},
hline{2} = {2}{-}{solid},
cell{2}{2} = {c=2, r=3}{halign=c,
valign=m},% modif d’une cellule
}
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
end{tblr}
1 2 3 4
5
6
8
9 12
13 16
À 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.
L
A
TEX
% -- Déclaration de mon tableau
NewTblrEnviron{grille}
SetTblrInner[grille] {
width=linewidth,
hlines,
vlines,
cells = {valign=m},
hline{2,Y} ={1}{-}{solid},
hline{2,Y} = {2}{-}{solid},
row{1} = {font=bfseries},
row{Z} = {font=bfseries,},
column{Z} = {r},
cell{Z}{1} = {c=2}{c},
}
% -- utilisation du tableau
begin{grille}{}
Compétences Observables Points
{Rechercher l’information} blabla
/3
{Réaliser des calculs littéraux}
blablabla /2
TOTAL /5
end{grille}
Compétences Observables Points
Rechercher
l’information
blabla /3
Réaliser des
calculs littéraux
blablabla /2
TOTAL /5
Wissam SABRA 12/18 IND Meudon
13. L
A
TEX. les bases 2022
7.2 Old school way (avant tabularray)
7.2.1 Exemple basique
Pour les tableau, on utilise l’environnement tabular.
L
A
TEX
centering
begin{tabular}{|c|c|c|c|}
hline
textbf{1} textbf{2} textbf{3}
textbf{8}
hline hline
5 8 9 3
hline
2 5 5 4
hline
end{tabular}
1 2 3 8
5 8 9 3
2 5 5 4
7.2.2 Fusion horizontale
L
A
TEX
centering
begin{tabular}{|c|c|c|c|}
hline
textbf{1} textbf{2} textbf{3}
textbf{8}
hline hline
5 multicolumn{2}{c|}{Coucou!} 3
hline
2 5 5 4
hline
end{tabular}
1 2 3 8
5 Coucou ! 3
2 5 5 4
7.2.3 Fusion verticale
L
A
TEX
centering
begin{tabular}{|c|c|c|c|}
hline
textbf{1} textbf{2} textbf{3}
textbf{8}
hline hline
multirow{2}{*}{Coucou!}
8 9 3
cline{2-4}
5 5 4
hline
5 8 0 9
hline
end{tabular}
1 2 3 8
Coucou !
8 9 3
5 5 4
5 8 0 9
7.2.4 Modification sur toute une colonne
Le package array permet quelques améliorations, notamment la méthode suivante pour appliquer un style à
l’ensemble d’une colonne.
Wissam SABRA 13/18 IND Meudon
14. L
A
TEX. les bases 2022
L
A
TEX
centering
begin{tabular}{|{color{red}
itshape}c|c|c|c|}
hline
textbf{1} textbf{2} textbf{3}
textbf{8}
hline hline
5 8 9 3
hline
2 5 5 4
hline
end{tabular}
1 2 3 8
5 8 9 3
2 5 5 4
7.3 Pour s’éviter de ramer à chaque fois
L’assistant de TeXstudio
Les éditeurs de textes spécialisés LaTeX dispose d’un assistant de création de tableau très utile pour com-
mencer. Ils sont généralement suffisants pour les tableaux simples.
Le défaut de cette méthode étant que Texstudio ne connait pas tabularray et propose donc une syntaxe « old
school », moins lisible.
Les macros TeXstudio
Certains tableaux reviennent très souvent dans nos cours et nos poly. Pour gagner du temps, il peut être
utile de sauvegarder le code source d’un tel tableau en tant que macro dans TeXstudio.
8 Séparer et mutualiser le préambule.
Lors que le préambule devient long, notamment après avoir défini de nombreuses macro, il peut être inté-
ressant de le placer dans un fichier à part, qu’on pourrait appeler preambule.tex
Pour insérer le code contenus dans ce fichier (qualifié de fichier enfant, dans un autre (le fichier parent), on
utilise la commande suivante :
input{nom du fichier}
Deux intérêts :
— S’il nous prend l’envie de changer une mise en page, elle se répercutera sur l’ensemble des documents
faisants appel à ce préambule (un peu à la manière d’un fichier style pour une page html).
— Dans le cadre d’un travail collaboratif, on pourra placer et modifier ce préambule dans un dossier partagé.
Ainsi, tou-tes les auteur-es utilisant les mêmes commandes, pourront modifier et compiler tous les docu-
ments.
remarques : le nom du fichier dans la commande input{} doit indiquer son emplacement. On peut utiliser
le chemin absolu (pratique si on travaille seul) ou le chemin relatif qui varie selon le fichier qu’on compile mais
permet un mutualisation plus aisée. (voir le dossier exemple_mutualisation)
9 Package utile
9.1 Un indispensable : tcolorbox
Ce package permet de faire des encadrés très simplement. Commen toujours en L
A
TEX, 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
Wissam SABRA 14/18 IND Meudon
15. L
A
TEX. les bases 2022
L
A
TEX
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 L
A
TEX
9.2 Packages utiles en PC :
9.2.1 Représentation de graphiques avec pgfplots
Pour représenter les graphiques, on peut utiliser le package pgfplots. Il permet de tracer des courbes à partir
de l’expression des fonctions, mais également à partir des points présents dans un fichier de données extérieur
On présente des exemples différents dans le fichier exemples.tex fourni en annexe.
On ne développera pas ici l’ensemble des ces packages qui sont très riches et possèdent chacun une docu-
mentation détaillée vers laquelle on pourra (il faudra) se tourner. On propose néanmoins quelques exemples
permettant de se faire une idée de l’usage de ces différents packages.
Wissam SABRA 15/18 IND Meudon
16. L
A
TEX. les bases 2022
L
A
TEX
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}
0 20 40 60 80 100
0
10
20
•
Point de fonctionnement
I / mA
U
/
V
Résistance
Générateur
9.2.2 Équation de réactions : chemformula
L
A
TEX
ch{CH4 (g) + 2 O2 (g) - CO2 (g) + 2 H2O
(g)}
CH4(g) + 2 O2(g) CO2(g) + 2 H2O(g)
9.2.3 Représentation de molécules : chemfig
Chemfig est un peu plus compliqué mais une fois le principe compris, on peut représenter les molécules selon
à peu près toutes les représentations classiques (semi-développées, topologique, Cram, Haworth,...)
Wissam SABRA 16/18 IND Meudon
17. L
A
TEX. les bases 2022
L
A
TEX
begin{itemize}
item Représentation semi-développée :
begin{center}
chemfig{CH_3-CH(-[2] OH) -CH_3}
end{center}
vspace{.5cm}
%
item Topologique
begin{center}
chemfig[angle
increment=30]{-[1](-[:90]) -[-1] OH}
end{center}
vspace{.5cm}
item Lewis
begin{center}
chemfig[angle
increment=30]{-[1](-[:90]) -[-1]
charge{[circle]90pt=|, -90=|,
-135:8pt=$delta +$}{O}
-charge{[circle] -45:8pt =$delta
+$}{H}}
end{center}
end{itemize}
— Représentation semi-développée :
CH3 CH
OH
CH3
— Topologique
OH
— Lewis
O
δ+
H
δ+
9.2.4 Faire des schémas (ou des dessins) : tikz
Incroyablement riche, et une documentation incroyablement longue... il faudra vous y frotter un jour.
9.2.5 Circuits électriques
Pour tracer des circuits électriques, on utilise le package circuitikz. Sa documentation est très riche mais
pour des circuits simples, on se réfèrera plutôt à cette page web :
https://nboulaire.developpez.com/tutoriels/latex/circuitikz_base/#contenuCoded0e2395
L
A
TEX
shorthandoff{:!}
begin{circuitikz}
draw (0,0)
to[vsource, v=SI{6}{V}, i=$i$] (0,3)
to [R, l=$SI{220}{ohm}$] (3,3)
to [leDo, l_=Diode IR, v^=$U_text{d}$]
(3,0)
--(0,0);
end{circuitikz}
shorthandon{:!}
6 V
i
220 Ω
Diode IR Ud
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.1 Liens utiles
— Pour aller à la source et trouver la documentation des packages :
https://www.ctan.org/
Wissam SABRA 17/18 IND Meudon
18. L
A
TEX. les bases 2022
— Un cours de référence, régulièrement mis à jour par Denis Bitouzé :
https://mt2e.univ-littoral.fr/Members/denis-bitouze/pub/latex/diapositives-cours-d
— Les fiches à Bébert :
http://lesfichesabebert.fr/index.html
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.
Wissam SABRA 18/18 IND Meudon