LaTeX

Introduction à LaTeX
Author

Ludovic Deneuville

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

Note

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 🏠

Quelques fonctionnalités utiles

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 :

  1. Définissez le type de document (article, report, book, slide…) et la taille de police par défaut
  2. Listez des packages nécessaires : de très nombreuses fonctionnalités nécessitent l’utilisation d’un package
  3. Définissez les métadonnées du document telles que le titre, l’auteur et la date
  4. É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}
Important

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.

Numérotation

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

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

Warning

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 :

Retour à la ligne \newline
Autre retour à la ligne \\
Ajout d'un argument pour préciser l'espace vertical attendu \\[2 cm]
Utilisation de vspace : \vspace{1cm}

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

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

8 Tableaux

Tip

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
        01 & Ain                     & Bourg-en-Bresse & 650 000 \\
        02 & Aisne                   & Laon            & 535 000 \\
        03 & Allier                  & Moulins         & 339 000 \\
        04 & Alpes-de-Haute-Provence & Digne-les-Bains & 166 000 \\
        05 & Hautes-Alpes            & Gap             & 140 000 \\
        \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

Dossier img

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

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

Note

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

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

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}
    }
  • La Prospect Theory \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.
  • \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}.

Important

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

Ressources