Bureautique · Rédaction scientifique

LaTeX

Rédiger des documents professionnels, rapports, mémoires et présentations avec une typographie irréprochable — guide complet pour débutants avec VS Code.

C'est quoi LaTeX ?

📄

LaTeX (prononcé "la-tek") est un système de composition de documents. Contrairement à Word, on écrit du texte + instructions de mise en forme dans un fichier .tex, puis un compilateur produit un PDF parfait. C'est le standard dans l'enseignement supérieur, la recherche et l'édition scientifique.

Word / LibreOfficeLaTeX
WYSIWYG — tu vois le résultatTu écris du code, le compilateur produit le PDF
Mise en forme manuelleMise en forme automatique et cohérente
Formules mathématiques difficilesFormules mathématiques excellentes
Numérotation manuelleNumérotation, TOC, références : automatiques
Fichier binaire .docxFichier texte .tex → versionnable avec Git
Courbe d'apprentissage nulleCourbe d'apprentissage initiale, puis très productif
🎯

LaTeX est particulièrement adapté aux rapports de projet, mémoires de fin d'études, présentations Beamer et tout document contenant des formules mathématiques. Pour un email ou un simple compte-rendu, Word reste plus pratique.

🔄

Flux de travail LaTeX :
fichier.tex → compilateur (pdflatex / xelatex) → fichier.pdf
Le compilateur doit parfois être lancé 2 à 3 fois pour que les références croisées et la table des matières soient à jour.

Installation — VS Code + LaTeX Workshop

Deux composants à installer : la distribution LaTeX (le compilateur) et l'extension VS Code (l'éditeur).

1
Installer MiKTeX (Windows) — télécharger sur miktex.org → installer en mode "Install missing packages on the fly" (très utile pour débutants). Sur macOS : MacTeX (tug.org/mactex). Sur Linux : sudo apt install texlive-full
2
Installer Perl (Windows uniquement) — nécessaire pour latexmk. Télécharger Strawberry Perl sur strawberryperl.com
3
Installer l'extension LaTeX Workshop dans VS Code — Extensions → rechercher LaTeX Workshop (James Yu) → Installer
4
Ouvrir un fichier .tex → LaTeX Workshop s'active automatiquement. Compiler avec Ctrl+Alt+B. Le PDF s'ouvre dans un panneau latéral.

Alternative sans installation : Overleaf
Si l'installation pose problème, overleaf.com permet d'éditer et compiler du LaTeX directement dans le navigateur, gratuitement. Idéal pour débuter ou travailler en collaboration.

Raccourci VS CodeAction
Ctrl+Alt+BCompiler le document
Ctrl+Alt+VAfficher le PDF
Ctrl+Alt+CNettoyer les fichiers auxiliaires
Ctrl+Clic dans PDFAller à la source (SyncTeX)
Ctrl+Clic dans .texAller à la position dans le PDF
⚠️

Après compilation, LaTeX génère des fichiers auxiliaires (.aux, .log, .toc…). Ils sont normaux — ne pas les supprimer manuellement. Utiliser Ctrl+Alt+C dans VS Code pour nettoyer proprement.

Premier document

mon_premier_document.tex
% ── Préambule ───────────────────────────── \documentclass[12pt, a4paper]{article} % Encodage et langue française \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[french]{babel} % Métadonnées du document \title{Mon Premier Document LaTeX} \author{Prénom Nom} \date{\today} % ── Corps du document ───────────────────── \begin{document} \maketitle % génère le titre automatiquement \section{Introduction} Voici mon premier paragraphe en LaTeX. Les sauts de ligne simples sont ignorés. Un saut de ligne vide crée un nouveau paragraphe. \section{Conclusion} LaTeX est très puissant pour les documents longs. \end{document}
📄 Résultat PDF

Mon Premier Document LaTeX

Prénom Nom · 7 mars 2026

1 Introduction

Voici mon premier paragraphe en LaTeX. Les sauts de ligne simples sont ignorés.

Un saut de ligne vide crée un nouveau paragraphe.

2 Conclusion

LaTeX est très puissant pour les documents longs.

💡

Le fichier est divisé en deux parties : le préambule (avant \begin{document}) où on déclare les packages et les métadonnées, et le corps (entre \begin et \end{document}) qui contient le texte réel.

Packages essentiels

Les packages étendent LaTeX. On les déclare dans le préambule avec \usepackage[options]{nom}. MiKTeX les télécharge automatiquement si manquants.

babel
Langue et typographie (césures, guillemets, «\,»…). Toujours utiliser avec [french].
inputenc
Encodage du fichier source. Utiliser [utf8] (défaut moderne).
fontenc
Encodage de la police de sortie. Utiliser [T1] pour les accents français.
geometry
Marges personnalisées. Ex : \usepackage[margin=2.5cm]{geometry}
graphicx
Inclure des images (PNG, JPG, PDF). Indispensable pour les figures.
amsmath
Formules mathématiques avancées. Toujours inclure pour les maths.
amssymb
Symboles mathématiques supplémentaires (∈, ∀, ℝ, ℕ…).
hyperref
Liens cliquables dans le PDF (TOC, références, URL). Toujours en dernier dans le préambule.
booktabs
Tableaux professionnels avec \toprule, \midrule, \bottomrule.
listings
Afficher du code source avec coloration syntaxique.
xcolor
Couleurs dans le texte et les éléments. \textcolor{red}{texte}
biblatex
Bibliographie moderne (remplace BibTeX). Utiliser avec biber comme backend.
💡

Préambule minimal recommandé pour un rapport en français :
\usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[french]{babel} \usepackage{geometry,graphicx,amsmath,amssymb,booktabs,hyperref}

Structure d'un document

Hiérarchie des sections
% Disponible dans article et report \part{Titre de la partie} % I, II… \chapter{Titre du chapitre} % report/book seulement \section{Titre de section} % 1, 2, 3… \subsection{Sous-section} % 1.1, 1.2… \subsubsection{Sous-sous-section} % 1.1.1… \paragraph{Paragraphe nommé} % Version non numérotée (avec *) \section*{Introduction} % pas de numéro % Classes de document principales \documentclass{article} % courtes publications \documentclass{report} % rapports avec chapitres \documentclass{book} % livres (recto/verso) \documentclass{beamer} % présentations
Page de titre personnalisée
\begin{titlepage} \centering \vspace*{2cm} {\Huge \bfseries Titre du rapport \par} \vspace{1cm} {\Large Sous-titre \par} \vfill \begin{tabular}{ll} Auteur : & Jean Dupont \\ Cours : & INF201 \\ Date : & \today \end{tabular} \end{titlepage}
📑

Pour un rapport, utiliser la classe report (qui ajoute les chapitres) plutôt qu'article. L'option [12pt, a4paper] dans \documentclass définit la taille de police et le format papier.

Mise en forme du texte

Style et taille du texte
% Styles \textbf{gras} \textit{italique} \underline{souligné} \texttt{machine à écrire} \emph{emphase} % italique intelligent \textsc{Petites Capitales} % Tailles (de la plus petite à la plus grande) \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \Huge % Couleur (package xcolor) \textcolor{red}{texte en rouge} \textcolor[HTML]{0078D4}{bleu personnalisé}
Espacement et alignement
% Sauts de ligne et de page \\ % saut de ligne (à éviter dans le texte) \newline % idem \newpage % nouvelle page \clearpage % nouvelle page + vider les floats \noindent % pas d'indentation pour ce paragraphe % Alignement \begin{center} centré \end{center} \begin{flushleft} gauche \end{flushleft} \begin{flushright} droite \end{flushright} % Note de bas de page Voir note\footnote{Texte de la note.} ici.

Listes & énumérations

3 types de listes
% Liste à puces \begin{itemize} \item Premier élément \item Deuxième élément \item[] Avec puce personnalisée \end{itemize} % Liste numérotée \begin{enumerate} \item Étape 1 \item Étape 2 \end{enumerate} % Liste de définitions \begin{description} \item[API] Interface de programmation \item[REST] Representational State Transfer \end{description} % Listes imbriquées (jusqu'à 4 niveaux) \begin{itemize} \item Niveau 1 \begin{itemize} \item Niveau 2 \end{itemize} \end{itemize}
📄 Résultat PDF

Liste à puces :

  • Premier élément
  • Deuxième élément
  • → Avec puce personnalisée

Liste numérotée :

  1. Étape 1
  2. Étape 2

Liste de définitions :

API
Interface de programmation
REST
Representational State Transfer

Table des matières, annexes & index

Table des matières & index
% Table des matières — se met à jour à la compilation \tableofcontents \newpage % Table des figures (si des figures existent) \listoffigures % Table des tableaux \listoftables % Profondeur de la TOC (0=part, 1=section, 2=subsection…) \setcounter{tocdepth}{2} % Ajouter une section non numérotée à la TOC \section*{Remerciements} \addcontentsline{toc}{section}{Remerciements}
Annexes
% Les annexes s'ajoutent après \appendix % La numérotation passe de 1,2,3 à A,B,C \appendix \chapter{Code source complet} % → Annexe A Le code de l'application... \chapter{Données brutes} % → Annexe B Les tableaux de données... % En-tête/Pied de page personnalisé (package fancyhdr) \usepackage{fancyhdr} \pagestyle{fancy} \lhead{Mon Rapport} \rhead{HEH — 2025} \cfoot{\thepage} % numéro de page centré
🔄

La TOC se génère à partir des commandes \section, \chapter… LaTeX doit être compilé deux fois pour que la table des matières soit à jour après des modifications.

Mathématiques

Modes mathématiques
% Mode inline — dans le texte La variable $x$ est un entier, et $f(x) = x^2 + 1$. % Mode display — centré sur sa ligne (sans numéro) \[ E = mc^2 \] % Équation numérotée (avec amsmath) \begin{equation} \label{eq:pythagore} a^2 + b^2 = c^2 \end{equation} % Système d'équations alignées \begin{align} f(x) &= x^2 + 2x + 1 \\ &= (x + 1)^2 \end{align}
Symboles et opérateurs courants
% Exposant et indice $x^{2n}$ $a_i$ $x_i^2$ % Fractions, racines $\frac{a}{b}$ $\sqrt{x}$ $\sqrt[3]{x}$ % Somme, intégrale, produit $\sum_{i=0}^{n} i$ $\int_0^1 f(x)\,dx$ $\prod_{k=1}^{n} k$ % Ensembles (package amssymb) $\mathbb{R}$ % ℝ $\mathbb{N}$ % ℕ $\in$ $\notin$ $\subset$ $\forall$ $\exists$ % Matrices \begin{pmatrix} % parenthèses 1 & 2 \\ 3 & 4 \end{pmatrix} % bmatrix = crochets, vmatrix = barres
📄 Résultat PDF

La variable x est un entier, et f(x) = x² + 1.

E = mc²

a² + b² = c²     (1)

Figures & images

Inclure une image
% Préambule : \usepackage{graphicx} \begin{figure}[htbp] % ici, haut, bas, page \centering \includegraphics[width=0.7\textwidth]{images/schema.png} \caption{Description de la figure} \label{fig:schema} % pour \ref{fig:schema} \end{figure} % Options de taille \includegraphics[width=5cm]{img.png} \includegraphics[height=3cm]{img.png} \includegraphics[scale=0.5]{img.png} \includegraphics[angle=90]{img.png} % Deux figures côte à côte (package subcaption) \begin{figure} \begin{subfigure}{0.48\textwidth} \includegraphics[width=\textwidth]{a.png} \caption{Gauche} \end{subfigure} \hfill \begin{subfigure}{0.48\textwidth} \includegraphics[width=\textwidth]{b.png} \caption{Droite} \end{subfigure} \caption{Comparaison des deux schémas} \end{figure}
📁

Mettre les images dans un sous-dossier images/ à côté du fichier .tex. LaTeX accepte les formats PNG, JPG et PDF. Les PDF vectoriels donnent la meilleure qualité.

Option [htbp]Signification
hhere — à cet endroit (si possible)
ttop — en haut de la page
bbottom — en bas de la page
ppage — page dédiée aux flottants
!Force LaTeX à ignorer ses propres règles
⚠️

LaTeX place les figures automatiquement — pas toujours là où on les écrit. C'est voulu. Éviter d'écrire "la figure ci-dessus" ; écrire à la place "la figure~\ref{fig:schema}".

Tableaux

Tableau avec booktabs
% Préambule : \usepackage{booktabs} \begin{table}[htbp] \centering \caption{Résultats de tests} \label{tab:resultats} \begin{tabular}{lcc} % l=gauche, c=centré, r=droite \toprule \textbf{Algorithme} & \textbf{Précision} & \textbf{Temps (ms)} \\ \midrule Naïf & 72.3\% & 12 \\ KNN & 85.1\% & 45 \\ Réseau & 92.7\% & 312 \\ \bottomrule \end{tabular} \end{table} % Colonnes à largeur fixe {p{3cm}cc} % p = largeur fixe avec retour à la ligne {|l|c|r|} % avec bordures verticales (à éviter avec booktabs)
📄 Résultat PDF

Table 1 : Résultats de tests

AlgorithmePrécisionTemps (ms)
Naïf72.3%12
KNN85.1%45
Réseau92.7%312
🛠️

Générateur de tableaux LaTeX : le site tablesgenerator.com permet de créer un tableau visuellement et d'exporter le code LaTeX directement. Très utile pour les tableaux complexes.

📐

booktabs impose les règles typographiques : pas de lignes verticales, \toprule et \bottomrule plus épais que \midrule.

Références croisées

\label et \ref
% 1. Poser un label sur n'importe quel élément \section{Méthodologie} \label{sec:methodo} \begin{equation} \label{eq:principale} \begin{figure} \label{fig:schema} \begin{table} \label{tab:resultats} % 2. Référencer Voir la section~\ref{sec:methodo}. L'équation~\eqref{eq:principale} montre... La figure~\ref{fig:schema} page~\pageref{fig:schema}. % Convention de nommage recommandée % sec: → section eq: → équation % fig: → figure tab: → tableau % lst: → listing app: → annexe % Le ~ empêche le saut de ligne entre "figure" et "3"
Liens cliquables (hyperref)
% Package hyperref — toujours en DERNIER dans le préambule \usepackage[ colorlinks=true, linkcolor=blue, citecolor=green, urlcolor=cyan ]{hyperref} % Liens URL \url{https://exemple.com} \href{https://exemple.com}{texte du lien} % Métadonnées PDF (apparaissent dans les propriétés) \hypersetup{ pdftitle={Mon Rapport}, pdfauthor={Jean Dupont}, pdfsubject={Rapport de projet} }
🔗

Avec hyperref, tous les \ref, \cite et entrées de la TOC deviennent des liens cliquables dans le PDF. Indispensable pour les documents longs.

Bibliographie (BibLaTeX + Biber)

Fichier references.bib
% Article de journal @article{turing1950, author = {Alan M. Turing}, title = {Computing Machinery and Intelligence}, journal = {Mind}, year = {1950}, volume = {59}, pages = {433--460} } % Livre @book{knuth1984, author = {Donald E. Knuth}, title = {The TeXbook}, publisher = {Addison-Wesley}, year = {1984} } % Site web @online{python2024, author = {Python Software Foundation}, title = {Python Documentation}, url = {https://docs.python.org}, year = {2024}, urldate = {2025-01-15} }
Dans le fichier .tex
% Préambule \usepackage[style=authoryear, backend=biber]{biblatex} \addbibresource{references.bib} % Dans le texte — citer une référence Selon \cite{turing1950}, les machines peuvent... Comme montré dans \parencite{knuth1984}... % \cite → Turing (1950) % \parencite → (Turing, 1950) % Afficher la bibliographie (en fin de document) \printbibliography % Compiler avec : pdflatex → biber → pdflatex × 2
📚

Styles courants de bibliographie : authoryear (sciences humaines), numeric (ingénierie), ieee (IEEE), apa (psychologie). Changer style=... dans le préambule — toute la mise en forme s'adapte automatiquement.

🔄

Ordre de compilation avec bibliographie : pdflatexbiberpdflatexpdflatex. Dans VS Code avec LaTeX Workshop, configurer la recette latexmk qui gère cet ordre automatiquement.

Beamer — Présentations

Structure d'une présentation
\documentclass{beamer} \usepackage[french]{babel} % Thème visuel \usetheme{Madrid} % nombreux thèmes disponibles \usecolortheme{beaver} % palette de couleurs \title{Titre de ma présentation} \author{Jean Dupont} \institute{HEH — Cours INF201} \date{\today} \begin{document} \frame{\titlepage} % diapositive de titre \frame{\tableofcontents} % plan \end{document}
Diapositives et animations
% Diapositive simple \begin{frame}{Titre de la diapositive} Contenu textuel, listes, images, maths... \end{frame} % Colonnes côte à côte \begin{frame}{Comparaison} \begin{columns} \column{.5\textwidth} Colonne gauche \column{.5\textwidth} Colonne droite \end{columns} \end{frame} % Animation — apparition progressive \begin{frame}{Étapes} \begin{itemize} \item[<1->] Visible dès la diapo 1 \item[<2->] Apparaît à la diapo 2 \item[<3>] Visible uniquement diapo 3 \end{itemize} \end{frame} % Bloc coloré \begin{block}{Définition} Texte dans un bloc coloré \end{block}
🎨

Thèmes Beamer populaires : Madrid, Berlin, Warsaw, Singapore, AnnArbor. Voir tous les thèmes sur beamer_gallery. La règle d'or Beamer : pas plus de 6 lignes de texte par diapositive.

Claude & IA pour LaTeX

PROMPTGénérer un préambule complet
Génère le préambule LaTeX complet pour un rapport de projet technique en français, classe report, format A4, police 12pt. Inclure : marges 2.5cm, numérotation des pages, en-tête avec le titre et l'auteur, table des matières, liste des figures, liste des tableaux, bibliographie avec biblatex (style IEEE), et liens cliquables.
PROMPTConvertir du texte en LaTeX
Convertis ce texte en LaTeX bien structuré avec les sections, listes et mises en forme appropriées. Ajoute des labels sur chaque section et figure pour les références croisées :
[coller le texte]
PROMPTGénérer une formule mathématique
Écris en LaTeX la formule de la transformée de Fourier discrète avec les indices corrects, en mode équation numérotée avec un label eq:dft.
PROMPTGénérer une présentation Beamer
Crée une présentation Beamer en français pour un exposé de 10 minutes sur [sujet] avec : diapositive de titre, plan, 5 diapositives de contenu avec listes à apparition progressive, une diapositive avec deux colonnes, et une conclusion. Utiliser le thème Madrid avec la palette whale.
PROMPTDéboguer une erreur
Ce fichier LaTeX produit l'erreur :
[coller le message d'erreur du log]
Voici le code autour de la ligne indiquée :
[coller le code]
Explique la cause et propose la correction.
PROMPTCréer un tableau complexe
Génère le code LaTeX (avec booktabs) pour un tableau à 4 colonnes comparant ces 3 algorithmes : [données]. Fusionner les cellules d'en-tête sur 2 colonnes si approprié. Ajouter un label et une légende.
💡

Claude comprend très bien LaTeX. Pour les formules mathématiques complexes, décrire en français ce qu'on veut obtenir donne souvent de meilleurs résultats que d'essayer de l'écrire soi-même. Demander aussi d'expliquer chaque commande pour apprendre en même temps.

Erreurs fréquentes

Le log de compilation (.log) contient toujours la ligne et la cause de l'erreur. Dans VS Code, cliquer sur l'icône ⚠️ dans la barre inférieure pour voir les erreurs.

! Undefined control sequence Commande inconnue

Une commande LaTeX mal orthographiée, ou un package manquant. Ex : écrire \textbold au lieu de \textbf, ou utiliser \includegraphics sans avoir chargé graphicx.

Vérifier l'orthographe de la commande. Ajouter le package nécessaire dans le préambule.
! Missing $ inserted Symbole mathématique hors d'un environnement math

Un symbole réservé au mode mathématique (^, _, \sum…) a été utilisé en dehors des délimiteurs $ $ ou \[ \].

Entourer la formule de $...$. Ex : $x^2$ au lieu de x^2.
! File not found Image ou fichier introuvable

Le chemin vers une image dans \includegraphics est incorrect, ou le fichier n'existe pas à cet emplacement.

Vérifier le chemin et le nom du fichier (sensible à la casse). Utiliser des chemins relatifs depuis le dossier du .tex.
! Environment X undefined Environnement inconnu

Un environnement (\begin{...}) mal orthographié ou nécessitant un package non chargé. Ex : align sans amsmath.

Vérifier l'orthographe. Charger le package correspondant (ex : \usepackage{amsmath} pour align).
Overfull \hbox Texte qui dépasse la marge (warning)

Un mot ou une URL trop longue dépasse la marge droite. C'est un warning (pas une erreur bloquante) mais visible dans le PDF.

Ajouter \usepackage[hyphens]{url} pour les URL. Pour les mots longs : \hyphenation{mé-tho-do-lo-gie}. Ou utiliser \sloppy (moins strict).
! Package babel Error: Unknown option 'french' Langue française non reconnue

Le package de langue français n'est pas installé dans la distribution LaTeX.

Dans MiKTeX Console → Packages → chercher "babel-french" et installer. Ou utiliser francais à la place de french selon la version.
Citation 'xxx' on page N undefined Référence bibliographique introuvable

La clé citée avec \cite{xxx} n'existe pas dans le fichier .bib, ou biber n'a pas encore été exécuté.

Vérifier la clé dans le fichier .bib. Exécuter la séquence : pdflatex → biber → pdflatex → pdflatex.

Cheat Sheet LaTeX

📝 Structure & texte

\section{}Nouvelle section
\textbf{}Gras
\textit{}Italique
\texttt{}Chasse fixe (code)
\footnote{}Note de bas de page
\newpageNouvelle page

∑ Mathématiques

$...$Mode inline
\[...\]Mode display
\frac{a}{b}Fraction
\sqrt{x}Racine carrée
\sum_{i=0}^{n}Somme
\int_a^bIntégrale

🖼️ Figures & tableaux

\includegraphics[width=...]{}Image
\caption{}Légende
\label{}Étiquette
\ref{}Référence
\topruleLigne supérieure (booktabs)
\midruleLigne intermédiaire

📚 Bibliographie

\cite{}Citation auteur (année)
\parencite{}Citation (entre parenthèses)
\printbibliographyAfficher la bibliographie
@article{}Entrée article .bib
@book{}Entrée livre .bib
@online{}Entrée site web .bib
Préambule complet recommandé pour un rapport
\documentclass[12pt, a4paper]{report} % Langue et encodage \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[french]{babel} % Mise en page \usepackage[margin=2.5cm]{geometry} \usepackage{fancyhdr} \pagestyle{fancy} % Contenu \usepackage{graphicx} % images \usepackage{amsmath, amssymb} % maths \usepackage{booktabs} % tableaux pro \usepackage{listings} % code source \usepackage{xcolor} % couleurs \usepackage{subcaption} % sous-figures % Bibliographie \usepackage[style=numeric, backend=biber]{biblatex} \addbibresource{references.bib} % Liens — TOUJOURS EN DERNIER \usepackage[colorlinks=true, linkcolor=blue, citecolor=green, urlcolor=cyan]{hyperref}