Ça y est. Après avoir rendu je-ne-sais-combien de devoirs avec des documents Word bancals, des formules mathématiques pixelisées et une mise en page qui changeait toute seule entre deux sauvegardes... j'ai découvert LaTeX.
Et honnêtement ? Je ne reviendrai jamais en arrière.
Si tu es étudiant en informatique, en maths, en physique, ou simplement quelqu'un qui veut produire des documents qui ont de la gueule, cet article est pour toi. On va explorer LaTeX ensemble, des bases jusqu'aux trucs qui font la différence.
LaTeX, c'est quoi exactement ?
LaTeX (prononcé "La-tek", pas "Latex" comme le matériau), c'est un système de composition de documents. Contrairement à Word où tu vois directement ce que tu tapes, avec LaTeX tu écris du code qui sera ensuite compilé en PDF.
Oui, tu as bien lu : on compile ses documents.
Ça peut sembler étrange au début, mais c'est justement ce qui fait toute la puissance du truc.
Pourquoi j'ai adopté LaTeX (et pourquoi tu devrais aussi)
Les maths, enfin belles. Si tu as déjà essayé d'écrire une intégrale ou une fraction dans Word, tu connais la douleur. Avec LaTeX, $\int_0^1 x^2 dx$ devient une formule magnifique. C'est le standard dans le monde académique pour une bonne raison.
Fini les galères de mise en page. Tu te concentres sur le contenu, LaTeX s'occupe du reste. Table des matières, numérotation des sections, références croisées... tout est automatique.
Des documents pro. La qualité typographique est juste incomparable. Espacement, césure, gestion des polices... tout est optimisé selon les règles typographiques.
Git-friendly. Les fichiers .tex sont du texte brut. Tu peux versionner tes documents, collaborer, voir les différences entre versions. Un game changer pour les gros projets.
Installation : c'est parti
Sur Linux (Debian/Ubuntu)
# Installation complète (recommandé, ~5 Go)
sudo apt update
sudo apt install texlive-full
# Ou version légère + packages français
sudo apt install texlive-base texlive-latex-recommended texlive-lang-french
Sur macOS
brew install --cask mactex
Sur Windows
Direction miktex.org pour télécharger MiKTeX. L'avantage : il installe les packages manquants automatiquement.
Mon éditeur préféré : VS Code
Personnellement, j'utilise VS Code avec l'extension LaTeX Workshop. Pour l'installer :
-
Ouvre VS Code, va dans Extensions (Ctrl+Shift+X)
-
Cherche "LaTeX Workshop" et installe
-
Ouvre ton fichier
.texet... c'est tout !
Pour compiler, tu as plusieurs options : sauvegarde ton fichier (Ctrl+S) et ça compile automatiquement, ou utilise Ctrl+Shift+P puis tape "LaTeX: Build" pour lancer manuellement. Le PDF s'affiche dans un onglet à côté. C'est vraiment fluide une fois configuré.
Alternative dédiée : TeXstudio
Si tu veux quelque chose de dédié sans configuration, TeXstudio est excellent et gratuit. Tout est intégré : éditeur, compilation, prévisualisation. Tu installes, tu ouvres, tu compiles. Parfait pour débuter.
Pour le travail en équipe : Overleaf
Overleaf c'est l'éditeur LaTeX en ligne. Rien à installer, tu crées un compte et tu commences à écrire. C'est particulièrement utile pour :
-
Les projets de groupe (édition collaborative en temps réel, comme Google Docs)
-
Partager un document avec ton encadrant ou prof pour relecture
-
Travailler depuis n'importe quel PC sans ton environnement
-
Tester LaTeX sans polluer ta machine
Le seul bémol : la version gratuite limite le temps de compilation, ce qui peut poser problème sur les gros documents.
Ton premier document LaTeX
Assez parlé, mettons les mains dans le code. Voici la structure minimale d'un document :
\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\title{Mon premier document}
\author{Ton Nom}
\date{\today}
\begin{document}
\maketitle
\section{Introduction}
Et voilà, tu viens d'écrire ton premier paragraphe en LaTeX !
\end{document}
Décortiquons ça :
-
\documentclassdéfinit le type de document :articlepour les devoirs et documents courts,reportpour les rapports longs avec chapitres (mémoires, TPs conséquents),bookpour les livres avec parties/chapitres,beamerpour les présentations -
\usepackagecharge des extensions (comme les imports en programmation) -
Tout avant
\begin{document}c'est le préambule (configuration) -
Le contenu réel est entre
\begin{document}et\end{document}
Pour compiler : pdflatex mon-document.tex et boom, tu as ton PDF.
Les packages que j'utilise tout le temps
Voici ma config de base que je copie-colle dans chaque nouveau projet :
% Encodage et français
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
% Mise en page
\usepackage[a4paper, margin=1.8cm]{geometry}
% Maths
\usepackage{amsmath, amsfonts, amssymb}
% Images et couleurs
\usepackage{graphicx}
\usepackage{xcolor}
% Tableaux
\usepackage{tabularx}
\usepackage{multirow}
% Code source
\usepackage{listings}
% Liens cliquables
\usepackage{hyperref}
% Boîtes colorées
\usepackage{tcolorbox}
% Listes personnalisées
\usepackage{enumitem}
Un conseil important : ne copie pas aveuglément tous ces packages pour un petit devoir de 2 pages. Chaque package ajouté c'est du temps de compilation en plus et des conflits potentiels. Pars d'un préambule minimal (encodage + babel + geometry) et ajoute les packages au fur et à mesure de tes besoins. Tu veux des maths ? Ajoute amsmath. Du code ? Ajoute listings. C'est comme les imports en Python : on n'importe que ce qu'on utilise.
Structurer son document
Sections et sous-sections
\section{Ma section}
Du contenu ici.
\subsection{Une sous-section}
Plus de détails.
\subsubsection{Encore plus précis}
Le niveau le plus fin.
Table des matières
Juste une ligne :
\tableofcontents
\newpage
LaTeX génère tout automatiquement à partir de tes sections. Par contre, il faut compiler deux fois pour que les numéros de pages soient corrects (oui, c'est comme ça).
Mise en forme du texte
Styles de base
\textbf{Texte en gras}
\textit{Texte en italique}
\underline{Texte souligné}
\texttt{Police monospace} % parfait pour le code inline
\textsc{Petites Capitales}
% Tu peux combiner
\textbf{\textit{Gras et italique en même temps}}
Espacement et structure
% Supprimer l'indentation d'un paragraphe
\noindent Ce paragraphe ne sera pas indenté.
% Ajouter un espace vertical
Premier paragraphe.
\bigskip
Deuxième paragraphe avec plus d'espace au-dessus.
% Autres espacements disponibles
\smallskip % petit espace
\medskip % espace moyen
\bigskip % grand espace
\vspace{2cm} % espace personnalisé
Listes à puces
\begin{itemize}
\item Premier élément
\item Deuxième élément
\item Troisième avec sous-liste :
\begin{itemize}
\item Sous-élément A
\item Sous-élément B
\end{itemize}
\end{itemize}
Listes numérotées
\begin{enumerate}
\item Première étape
\item Deuxième étape
\item Troisième étape
\end{enumerate}
Avec le package enumitem, tu peux personnaliser le style :
% Lettres : a), b), c)
\begin{enumerate}[label=\alph*)]
\item Premier
\item Deuxième
\end{enumerate}
% Chiffres romains : i., ii., iii.
\begin{enumerate}[label=\roman*.]
\item Premier
\item Deuxième
\end{enumerate}
Les maths : là où LaTeX brille vraiment
En ligne
Pour une formule dans le texte, encadre-la avec $ :
La célèbre formule $E = mc^2$ d'Einstein.
Centrée
Pour une formule mise en évidence :
\[
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
\]
Les symboles que j'utilise le plus
% Indices et exposants
$x^2$, $x_i$, $x_{ij}$
% Fractions
$\frac{a}{b}$
% Racines
$\sqrt{x}$, $\sqrt[3]{x}$
% Sommes et intégrales
$\sum_{i=1}^{n} x_i$
$\int_0^{\infty} e^{-x} dx$
% Ensembles
$\mathbb{N}$, $\mathbb{R}$, $\mathbb{C}$
% Logique
$\forall$, $\exists$, $\in$, $\subset$
% Flèches
$\rightarrow$, $\Rightarrow$, $\Leftrightarrow$
Systèmes d'équations
\begin{align}
a &= b + c \\
d &= e + f
\end{align}
Fonctions par morceaux
\begin{equation}
|x| =
\begin{cases}
x & \text{si } x \geq 0 \\
-x & \text{si } x < 0
\end{cases}
\end{equation}
Insérer du code source
Avec le package listings, tu peux afficher du code avec coloration syntaxique.
Ma configuration
\lstset{
language=Python,
basicstyle=\ttfamily\small,
keywordstyle=\color{blue}\bfseries,
commentstyle=\color{gray},
stringstyle=\color{red},
backgroundcolor=\color{gray!5},
frame=single,
breaklines=true,
showstringspaces=false,
tabsize=4,
% Support des accents français
inputencoding=utf8,
extendedchars=true,
literate=%
{é}{{\'e}}1 {è}{{\`e}}1 {à}{{\`a}}1
{ç}{{\c{c}}}1 {ê}{{\^e}}1 {î}{{\^i}}1
}
Utilisation
% Code en ligne
La fonction \lstinline|print()| affiche du texte.
% Bloc de code
\begin{lstlisting}[language=Python]
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n-1) + fibonacci(n-2)
\end{lstlisting}
% Depuis un fichier externe
\lstinputlisting[language=C]{codes/main.c}
C'est super pratique pour les devoirs de programmation : tu importes directement tes fichiers sources !
Les tableaux
Tableau simple
\begin{tabular}{|l|c|r|}
\hline
Gauche & Centre & Droite \\
\hline
A & B & C \\
D & E & F \\
\hline
\end{tabular}
Tableau comparatif (mon format préféré)
\begin{tabular}{|l|c|c|}
\hline
\textbf{Caractéristique} & \textbf{Dynamique} & \textbf{Statique} \\
\hline
Taille & ~16 Ko & ~741 Ko \\
\hline
Dépendances & Oui (libc) & Non \\
\hline
Portabilité & Moyenne & Excellente \\
\hline
\end{tabular}
Les images
Insertion basique
\includegraphics[width=0.9\textwidth]{captures/mon-image.png}
Avec légende et référence
\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\textwidth]{captures/resultat.png}
\caption{Résultat de la compilation}
\label{fig:resultat}
\end{figure}
% Plus loin dans le texte
Comme on le voit sur la figure \ref{fig:resultat}...
Les boîtes colorées avec tcolorbox
C'est mon petit secret pour rendre les documents plus lisibles. Parfait pour les blocs de terminal ou les notes importantes :
\usepackage{tcolorbox}
% Pour les commandes terminal
\begin{tcolorbox}[colback=gray!5, colframe=black, boxrule=0.1mm]
\begin{verbatim}
$ gcc -o programme main.c
$ ./programme 42
\end{verbatim}
\end{tcolorbox}
% Pour une conclusion ou note importante
\begin{tcolorbox}[colback=blue!5, colframe=blue!50]
Point clé à retenir : la compilation statique inclut
toutes les bibliothèques dans l'exécutable.
\end{tcolorbox}
Les liens hypertextes
\usepackage{hyperref}
% Configuration
\hypersetup{
colorlinks=true,
linkcolor=blue,
urlcolor=blue
}
% Utilisation
\url{https://codewithmpia.com}
\href{https://codewithmpia.com}{Mon site}
Template complet pour tes devoirs
Voici le template que j'utilise pour mes rendus universitaires. Copie-le, adapte-le, fais-en ce que tu veux :
% Configuration
\documentclass[a4paper,11pt]{article}
\usepackage[a4paper, margin=1.8cm]{geometry}
% Encodage et français
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
% Packages essentiels
\usepackage{amsmath, amsfonts}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{hyperref}
\usepackage{listings}
\usepackage{tcolorbox}
\usepackage{tabularx}
\usepackage{enumitem}
% Config liens
\hypersetup{colorlinks=true, linkcolor=blue, urlcolor=blue}
% Config code
\lstset{
basicstyle=\ttfamily\small,
keywordstyle=\color{blue}\bfseries,
commentstyle=\color{gray},
stringstyle=\color{red},
backgroundcolor=\color{gray!5},
frame=single,
breaklines=true,
showstringspaces=false
}
% Infos document
\title{\LARGE{Titre du Devoir}}
\author{Ton Nom\\Numéro étudiant\\Formation}
\date{\today}
\begin{document}
\maketitle
\tableofcontents
\newpage
\section{Introduction}
Contexte et objectifs...
\section{Développement}
\subsection{Première partie}
Contenu...
\section{Conclusion}
Ce que tu retiens...
\end{document}
Compilation : pdflatex, lualatex ou xelatex ?
Tu as plusieurs moteurs de compilation à disposition :
pdflatex : Le classique. Rapide, compatible avec tout, c'est celui que tu utiliseras 90% du temps.
pdflatex mon-document.tex
lualatex : Le moderne. Il supporte nativement l'UTF-8 (plus besoin de inputenc), permet d'utiliser les polices système de ton ordinateur, et offre des possibilités de scripting en Lua. Si tu veux utiliser une police custom ou que tu as des problèmes d'encodage, c'est ton ami.
lualatex mon-document.tex
xelatex : Similaire à LuaLaTeX pour les polices système et l'UTF-8. Certains le préfèrent pour des raisons de compatibilité avec certains packages.
xelatex mon-document.tex
Mon conseil : commence avec pdflatex, c'est le plus documenté et le plus stable. Passe à lualatex quand tu auras besoin de fonctionnalités avancées (polices custom, scripts Lua, gros documents avec beaucoup de calculs).
Utilise latexmk. Quel que soit le moteur, latexmk est ton meilleur ami. Concrètement, il surveille ton fichier et recompile automatiquement à chaque sauvegarde. Plus besoin de compiler plusieurs fois pour la table des matières ou la bibliographie : il détecte ce qui a changé et fait le nombre de passes nécessaires.
# Avec pdflatex
latexmk -pdf mon-doc.tex
# Avec lualatex
latexmk -lualatex mon-doc.tex
# Mode watch (recompile à chaque sauvegarde) - mon préféré
latexmk -pdf -pvc mon-doc.tex
Astuce pro : si tu utilises toujours lualatex, crée un fichier .latexmkrc à la racine de ton projet (ou dans ton home) :
# Fichier .latexmkrc
$pdf_mode = 4; # Utilise lualatex
$postscript_mode = 0;
$dvi_mode = 0;
Comme ça, un simple latexmk mon-doc.tex utilisera automatiquement LuaLaTeX.
Mes conseils après des mois d'utilisation
Compile souvent. N'attends pas d'avoir écrit 10 pages pour compiler. Une erreur est beaucoup plus facile à trouver quand tu sais que c'est dans les 5 dernières lignes que tu as écrites.
Organise tes fichiers. Pour les gros projets, crée des dossiers : images/, codes/, chapters/. Ton futur toi te remerciera.
Git + LaTeX = combo parfait. Versionne tes documents. Sérieusement. Pouvoir revenir en arrière ou voir ce qui a changé, c'est un game changer.
Garde ton préambule quelque part. Une fois que tu as une config qui te plaît, sauvegarde-la. Tu la copieras dans chaque nouveau projet.
L'aventure ne fait que commencer
LaTeX a une courbe d'apprentissage, c'est vrai. Les premières heures peuvent être frustrantes quand tu cherches pourquoi ça ne compile pas (spoiler : souvent une accolade oubliée).
Mais une fois que tu as passé ce cap, tu ne voudras plus jamais revenir à Word pour tes documents techniques. La qualité, l'automatisation, la flexibilité... tout est là.
Et le plus beau dans tout ça ? Tu apprends un outil qui te servira pendant toute ta carrière. Que tu fasses de la recherche, que tu écrives des rapports techniques, ou même que tu publies un jour un livre, LaTeX sera ton allié.
Alors, prêt à compiler ton premier document ?
Des questions ? Des galères de compilation ? Partage ton expérience dans les commentaires, on est là pour s'entraider !

Laisser un commentaire