N-HiTec Logo

Bonnes pratiques LaTeX

Pourquoi suivre des bonnes pratiques ?

Adopter de bonnes pratiques en LaTeX vous permettra de produire des documents plus maintenables, plus lisibles et de meilleure qualité professionnelle. Voici les essentiels à connaître.

Code lisible

Un code bien structuré est plus facile à maintenir

Moins d'erreurs

Organisation claire = bugs évités

Réutilisable

Templates et snippets pour projets futurs

Professionnel

Documents de qualité académique

Organisation des fichiers

Pour les projets de taille moyenne à grande, organisez votre travail en plusieurs fichiers :

Structure recommandée

bash
mon-memoire/
├── main.tex              # Fichier principal
├── preamble.tex          # Packages et configuration
├── figures/              # Images et graphiques
│   ├── graph1.png
│   └── schema.pdf
├── sections/             # Chapitres séparés
│   ├── introduction.tex
│   ├── methodologie.tex
│   ├── resultats.tex
│   └── conclusion.tex
└── bib/                  # Bibliographie
    └── references.bib

Fichier principal (main.tex)

bash
\documentclass[12pt,a4paper]{report}

% Charger le préambule
\input{preamble}

\begin{document}
  \maketitle
  \tableofcontents
  
  % Inclure les chapitres
  \input{sections/introduction}
  \input{sections/methodologie}
  \input{sections/resultats}
  \input{sections/conclusion}
  
  % Bibliographie
  \bibliographystyle{plain}
  \bibliography{bib/references}
\end{document}

Utilisez input{fichier} pour inclure d'autres fichiers .tex

Gestion des packages

Organisez vos packages de manière logique et commentez leur utilité :

bash
% === Encodage et langue ===
\usepackage[utf8]{inputenc}      % Encodage UTF-8
\usepackage[T1]{fontenc}         % Encodage des fontes
\usepackage[french]{babel}       % Support du français

% === Mathématiques ===
\usepackage{amsmath,amssymb}     % Symboles et environnements maths
\usepackage{amsthm}              % Théorèmes et preuves

% === Figures et tableaux ===
\usepackage{graphicx}            % Insertion d'images
\usepackage{float}               % Contrôle position des floats
\usepackage{subcaption}          % Sous-figures

% === Mise en page ===
\usepackage{geometry}            % Marges personnalisées
\geometry{margin=2.5cm}
\usepackage{setspace}            % Interligne
\onehalfspacing                  % Interligne 1.5

% === Bibliographie et liens ===
\usepackage[style=authoryear]{biblatex}  % Bibliographie
\addbibresource{bib/references.bib}
\usepackage{hyperref}            % Liens cliquables (toujours en dernier)
\hypersetup{
  colorlinks=true,
  linkcolor=blue,
  citecolor=green,
  urlcolor=blue
}

Points importants

  • • Le package hyperref doit toujours être chargé en dernier
  • • Commentez chaque package pour vous rappeler son utilité
  • • Groupez les packages par catégorie (encodage, maths, figures, etc.)
  • • Ne chargez que les packages dont vous avez besoin

Style et lisibilité du code

Indentation et espacement

bash
% ✓ Bon : code indenté et aéré
\begin{document}
  \section{Introduction}
  
  Voici un paragraphe bien formaté.
  Il est facile à lire et à modifier.
  
  \subsection{Contexte}
  
  \begin{itemize}
    \item Premier point
    \item Deuxième point
  \end{itemize}
\end{document}

% ✗ Mauvais : tout collé
\begin{document}\section{Introduction}Voici un paragraphe.\subsection{Contexte}\begin{itemize}\item Premier\item Deuxième\end{itemize}\end{document}

Commentaires utiles

bash
% === Section principale ===
\section{Résultats expérimentaux}

% TODO: Ajouter le graphique des résultats
% FIXME: Vérifier les chiffres du tableau 3

% Cette partie analyse les données collectées pendant...
\subsection{Analyse statistique}

% Note : Utiliser \textit au lieu de \emph ici car...

Utilisez les commentaires pour expliquer les choix non évidents et marquer les tâches à faire.

Nommage cohérent

bash
% Labels de sections
\section{Méthodologie}\label{sec:methodologie}

% Labels de figures
\begin{figure}
  \includegraphics{graph.png}
  \caption{Résultats principaux}
  \label{fig:resultats-principaux}
\end{figure}

% Labels d'équations
\begin{equation}\label{eq:energie-totale}
  E = mc^2
\end{equation}

% Référence : Voir la section~\ref{sec:methodologie}

Préfixez vos labels : sec: pour sections,fig: pour figures,eq: pour équations, etc.

Compilation et débogage

Compiler régulièrement

Ne pas attendre d'avoir tout écrit pour compiler. Compilez après chaque section importante pour détecter les erreurs tôt.

bash
# Compilation simple
pdflatex main.tex

# Voir les erreurs détaillées dans le fichier .log
cat main.log | grep -i error

# Avec bibliographie (3 passes)
pdflatex main.tex && bibtex main && pdflatex main.tex && pdflatex main.tex

Erreurs courantes et solutions

Missing $ inserted

Solution : Un caractère mathématique (_, ^, etc.) est utilisé hors d'un environnement math. Entourez-le de $...$

Undefined control sequence

Solution : Commande mal écrite ou package manquant. Vérifiez l'orthographe et les packages chargés.

File not found

Solution : Chemin d'image incorrect. Utilisez des chemins relatifs depuis le fichier principal.

Checklist des bonnes pratiques

Organisez votre projet en dossiers (figures/, sections/, bib/)

Commentez vos packages et votre code pour vous y retrouver

Utilisez des labels cohérents avec préfixes (sec:, fig:, eq:)

Compilez régulièrement pour détecter les erreurs tôt

Indentez et aérez votre code LaTeX pour la lisibilité

Chargez hyperref en dernier parmi vos packages

Séparez contenu et configuration (main.tex + preamble.tex)

Conseil final

Commencez par un template bien structuré et réutilisez-le pour tous vos projets. Vous gagnerez un temps considérable et éviterez les erreurs de configuration. Overleaf propose de nombreux templates de qualité pour différents types de documents.