LaTeX
1 Qu’est-ce que LaTeX ?
LaTeX, créé par Leslie Lamport en 1984, est un langage de programmation conçu pour la mise en forme de documents. Il est très utilisé dans les milieux académiques et scientifiques pour la rédaction de textes complexes, notamment des articles, des rapports, des thèses et des présentations. LaTeX permet de créer des documents de haute qualité typographique grâce à sa gestion avancée des formules mathématiques, des tableaux, des figures et des références bibliographiques.
LaTeX reste incontournable pour les documents nécessitant une mise en page complexe et des formules mathématiques avancées, mais il est supplanté par Markdown beaucoup plus utilisé pour des tâches plus simples. Markdown est souvent préféré pour la rédaction rapide de notes, de documents collaboratifs, et de contenus web, en raison de sa simplicité et de sa flexibilité.
2 Pourquoi utiliser LaTeX ?
- Qualité typographique : LaTeX produit des documents avec une mise en page professionnelle, idéale pour les publications académiques.
- Gestion avancée des formules mathématiques : LaTeX excelle dans la présentation des formules et des équations complexes.
- Automatisation : LaTeX automatise de nombreuses tâches, comme la numérotation des sections, la gestion des références croisées et la création de bibliographies.
- Flexibilité et extensibilité : Avec une vaste bibliothèque de packages, LaTeX peut être personnalisé pour répondre à une grande variété de besoins spécifiques.
- Stabilité et reproductibilité : Les documents LaTeX sont textuels et peuvent être versionnés facilement avec des outils comme Git, assurant une gestion précise des versions et des collaborations.
- Support pour les références et citations : LaTeX gère efficacement les références bibliographiques et les citations avec des outils comme BibTeX et BibLaTeX.
3 Utiliser LaTeX
Pour utiliser LaTeX, vous avez principalement deux options :
- en ligne via des plateformes dédiées : Overleaf…
- en installant un logiciel sur votre ordinateur : Texmaker, TeXstudio…
Les interfaces pour travailler avec LaTeX sont souvent divisées en deux parties distinctes : d’un côté, l’éditeur de code LaTeX et de l’autre, la vue de mise en forme du document.
3.1 Démarrer avec Overleaf
Cela ouvre la page de votre projet avec :
- dans le menu de gauche : votre explorateur de fichiers (avec par défaut un fichier main.tex)
- à gauche : votre code LaTeX
- à droite : le document mis en forme
Pour revenir à l’écran principal, cliquez sur l’icone 🏠
En haut à droite, vous trouverez des boutons proposant des fonctionnalités utiles :
- Review : pour ajouter des commentaires
- Dans la partie code, sélectionnez du code à la souris
- Cliquez sur le bouton
Add comment
qui doit apparaitre
- Share : pour travailler en groupe
- Turn on the sharing link
- Partagez le lien d’édition
- History : pour voir l’historique des modifications
3.2 Mon premier document
Voici un exemple simple illustrant les étapes essentielles pour rédiger un document LaTeX :
- Définissez le type de document (article, report, book, slide…) et la taille de police par défaut
- Listez des packages nécessaires : de très nombreuses fonctionnalités nécessitent l’utilisation d’un package
- Définissez les métadonnées du document telles que le titre, l’auteur et la date
- Écrivez votre contenu principal entre
\begin{document}
et\end{document}
\documentclass[11pt]{article} % Article avec une taille de police à 11 par défaut
% Imports de packages
\usepackage[french]{babel} % typographie française
\usepackage[T1]{fontenc} % type d'encodage pour les polices de caractères
\usepackage{graphicx} % pour insérer des images
\usepackage{amsmath, amssymb} % symboles mathematiques
\usepackage{enumerate, enumitem} % pour les listes
% Métadonnées
\title{An awesome title}
\author{An awesome author}
\date{September 2024}
% Début du document
\begin{document}
\maketitle % pour afficher titre, auteur et date
An awesome content.
\end{document}
Il faut bien distinguer et ne pas mélanger :
- les entêtes (imports de packages, métadonnées, redéfinitions de commandes…)
- le contenu du document : entre les balises
\begin{document}
et\end{document}
4 Sections
Vous pouvez découper votre document en sections, sous-sections et sous-sous-sections qui seront automatiquement numérotées avec les commandes \section
, \subsection
et \subsubsection
.
Il est possible de ne pas numéroter certaines sections en ajoutant le symbole *
à la fin de la commande.
Cela est utile par exemple pour introduction et conclusion.
Toujours à propos de numérotation, mais cette fois-ci concernant celle des pages : il est d’usage de ne pas numéroter la page de titre, ni la table des matières. La commande titlepage
permet de définir les pages qui ne doivent pas être numérotées.
Vous pouvez également inclure une table des matières.
\documentclass[11pt]{article}
\begin{document}
\begin{titlepage} % Crée une nouvelle page de titre non numérotée
My title\end{titlepage}
\begin{titlepage}
\tableofcontents % Table des matières
\end{titlepage}
\section*{Introduction} % avec le *, cette section n'est pas numérotée
\addcontentsline{toc}{section}{Introduction} % Pour ajouter cette section non numérotée à la Table des matières
intro content
\section{First Section}
content of first section
\section{Second Section}
content of second section
\subsection{First Subsection of second section}
Content of subsection 2.1
\subsubsection{subsubsection}
Content of subsubsection 2.1.1
\end{document}
4.1 Découper son fichier
Si vous trouvez votre fichier principal main.tex trop long et que vous avez du mal à vous y retrouver, il est possible de le découper en plusieurs fichiers.
Imaginez que votre fichier initial est le suivant :
main.tex
\documentclass[11pt]{article}
\begin{document}
\begin{titlepage}
My title\end{titlepage}
\section{First Section}
very very very long first section
\newpage
\section{Second Section}
very very very long second section
\end{document}
Vous pouvez découper votre fichier de cette manière :
- créer 2 nouveaux fichiers partie1.tex et partie2.tex
- déplacer le contenu des sections 1 et 2 dans ces fichiers
- importer le contenu de ces fichiers dans le main.tex
partie1.tex
\section{First Section}
very very very long first section
partie2.tex
\section{Second Section}
very very very long second section
main.tex
\documentclass[11pt]{article}
\begin{document}
\begin{titlepage}
My title\end{titlepage}
\include{partie1} % import du contenu du fichier partie1.tex
\newpage
\include{partie2} % import du contenu du fichier partie2.tex
\end{document}
5 Mise en forme
Exemple d’utilisation | Résultat |
---|---|
\textbf{Texte en gras} |
Texte en gras |
\textit{Texte en italique} |
Texte en italique |
\underline{Texte souligné} |
Texte souligné |
\texttt{Texte en monospace} |
Texte en monospace |
5.1 Autres mises en forme
Commande | Résultat |
---|---|
\textsc{} |
Texte en petites majuscules |
\textsuperscript{} |
Texte en exposant |
\textsubscript{} |
Texte en indice |
\tiny{} |
Texte minuscule |
\large{} |
Texte grand |
\Huge{} |
Texte géant |
5.2 Alignement
\begin{flushleft}
Ce texte est aligné à gauche\end{flushleft}
\begin{center}
Ce texte est centré\end{center}
\begin{flushright}
Ce texte est aligné à droite\end{flushright}
5.3 Couleur
La mise en couleur du texte nécessite le package xcolor
. Pour avoir accès à plus de noms de couleurs, vous pouvez par exemple ajouter l’option x11names.
% \usepackage[x11names]{xcolor}
\textcolor{green}{Ce texte est en vert.} \par
\colorbox{magenta}{Ce texte a un fond magenta.} \par
\fcolorbox{blue}{cyan}{Ce texte a une bordure bleue et un fond cyan.}
6 Retour à la ligne
Pour LaTeX, un retour à la ligne simple est l’équivalent d’un espace.
Il existe de très nombreuses manières de faire un retour à la ligne, en voici quelques unes :
\newline
Retour à la ligne \\
Autre retour à la ligne \\[2 cm]
Ajout d'un argument pour préciser l'espace vertical attendu \vspace{1cm}
Utilisation de vspace :
Utiliser un big break\bigbreak
Laisser simplement une ligne vide en dessous
Et c'est déjà pas mal !
6.1 Saut de page
La commande \newpage
permet simplement de faire un saut de page.
7 Listes
7.1 Non ordonnée
\begin{itemize}
\item un élément
\item un autre élément
\end{itemize}
7.2 Ordonnée
\begin{enumerate}
\item élément 1
\item élément 2
\end{enumerate}
LaTeX n’est pas sensible à l’indentation mais pour plus de lisibilité, nous vous conseillons d’indenter votre code.
7.3 Changer les numérotations ou symboles
% \usepackage{enumitem}
\begin{enumerate}[label=\alph*)]
\item élément a
\item élément b
\end{enumerate}
En redéfinissant les puces utilisées à chaque niveau.
% \usepackage{amssymb}
\renewcommand{\labelitemi}{$\checkmark$} % 1er niveau
\renewcommand{\labelitemii}{$\blacksquare$} % 2e niveau
\begin{itemize}
\item un élément
\item un autre élément
\begin{itemize}
\item un élément
\item un autre élément
\end{itemize}
\end{itemize}
En choisissant la puce utilisée pour chaque item.
\begin{itemize}
\item[$\blacksquare$] Carré noir
\item[$\checkmark$] Check
\item[$\star$] Étoile
\end{itemize}
8 Tableaux
La syntaxe LaTeX pour réaliser un tableau est peu intuitive et très fastidieuse. Il est vivement recommandé de créer votre tableau dans un tableur calc et d’utiliser un outil en ligne pour le convertir en code LaTeX.
Exemple d’outil : https://tableconvert.com/excel-to-latex
\begin{table}
\centering % Table centrée
\caption{Tableau des départements} % Titre du tableau
\label{tab_dep} % Label pour référencer le tableau
\vspace{2mm} % Ajout d'un espace vertical
\begin{tabular}{|c||l|l|r|}
\hline
\textbf{Numéro} & \textbf{Département} & \textbf{Chef Lieu} & \textbf{Nb habitants} \\
\hline \hline
& Ain & Bourg-en-Bresse & 650 000 \\
01 & Aisne & Laon & 535 000 \\
02 & Allier & Moulins & 339 000 \\
03 & Alpes-de-Haute-Provence & Digne-les-Bains & 166 000 \\
04 & Hautes-Alpes & Gap & 140 000 \\
05 \hline
\end{tabular}
\end{table}
Essayons tout de même d’expliquer la syntaxe ci-dessus :
La commande \begin{tabular}{|c||l|l|r|}
permet de définir les colonnes et leurs alignements :
Symbole | Signification |
---|---|
c |
Colonne centrée |
l |
Colonne alignée à gauche |
r |
Colonne alignée à droite |
| |
Trait vertical |
|| |
Double trait vertical |
Les entêtes de colonnes sont mises en gras avec la commande \textbf{}
.
Pour définir les lignes et le contenu :
Symbole | Signification |
---|---|
\hline |
Ligne horizontale dans le tableau |
& |
Pour séparer les colonnes dans un tableau |
\\ |
Fin d’une ligne dans un tableau |
9 Images
Une bonne pratique consiste à stocker toutes les images dans un seul dossier nommé par exemple img
.
Référencez ensuite ce dossier au niveau des métadonnées du document :
\graphicspath{{img/}} %% le chemin vers les images
9.1 Image simple
\includegraphics[width=0.2\textwidth]{ensai_logo.png}
L’option [width=0.2\textwidth]
signifie que l’image aura une largeur de 20% de la largeur du texte
9.2 Figures
Nous préférons généralement inclure une image dans une figure. Cela permet de numéroter, définir un titre, un label.
\begin{figure}[h]
\centering
\includegraphics[width=0.75\textwidth]{ensai_logo.png}
\caption{Le logo ENSAI}
\label{fig:logo-ensai}
\end{figure}
Vous pouvez utiliser la commande \ref{}
pour faire référence à la figure via son label.
Exemple : “Comme vous pouvez le remarquer, la figure \ref{fig:logo-ensai}
représente le logo de l’école.”
10 Formules mathématiques
Vous pouvez insérer des formules :
- à l’intérieur d’un texte avec un seul
$
- avec retour à la ligne avec deux
$$
La formule de la variance : \[V = \frac{1}{n} \sum_{i=1}^{n} (x_{i} - \overline{x})^{2}\]
La formule de Koenig-Huygens : \(\mathbb{V}(X) = \mathbb{E}(X^{2}) - (\mathbb{E}(X))^{2}\).
$$V = \frac{1}{n} \sum_{i=1}^{n} (x_{i} - \overline{x})^{2}$$
La formule de la variance :
$\mathbb{V}(X) = \mathbb{E}(X^{2}) - (\mathbb{E}(X))^{2}$. La formule de Koenig-Huygens :
11 Bibliographie
Nous allons utiliser le format BibTeX. Ce format est réguliérement utilisé pour citer des articles scientifiques.
-
@article{prospect_theory, title={Prospect theory: An analysis of decision under risk}, author={Kahneman, Daniel and Tversky, Amos}, journal={Econometrica}, volume={47}, number={2}, pages={363--391}, year={1979} } @article{marriage_stability, title={College admissions and the stability of marriage}, author={Gale, David and Shapley, Lloyd S}, journal={The American Mathematical Monthly}, volume={69}, number={1}, pages={9--15}, year={1962}, publisher={Taylor \& Francis} }
-
\cite{prospect_theory}, développée par Daniel Kahneman et Amos Tversky, suggère que les individus évaluent les pertes et les gains de manière asymétrique,donnant généralement plus de poids aux pertes qu'aux gains équivalents. La Prospect Theory
-
\bibliographystyle{plain} \bibliography{biblio} \addcontentsline{toc}{section}{Bibliographie} %% Ajout à la table des matières
12 Annexes
Pour ajouter vos annexes :
% \usepackage{appendix} % Package à ajouter au début
\appendix
\appendixpage
\addappheadtotoc
\section*{Annexe 1}
\section*{Annexe 2}
13 Redéfinir les commandes
Il est parfois utile de pouvoir redéfinir certaines commandes LaTeX.
Cela est possible grâce à la commande \renewcommand{\nom_commande}{nouvelle_définition}
.
Les commandes doivent être redéfinies avant le début du document i.e. avant \begin{document}
Quelques exemples :
\renewcommand{\contentsname}{Sommaire} % Renommer la Table des matières
\renewcommand{\refname}{Bibliographie} % Renommer la Bibliographie
% Renommer les annexes
\renewcommand{\appendixname}{Annexes}
\renewcommand{\appendixpagename}{Annexes}
\renewcommand{\appendixtocname}{Liste des Annexes}
% définir une nouvelle commande (\HRule : ligne horizontale)
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}