Back to homepage

Rédiger ses rapports avec LaTeX

I. Introduction

a) A propos de ce document

Le but de ce document est de vous présenter une solution, clefs en main, rapide à mettre en oeuvre pour pouvoir rédiger un rapport, une synthèse, un compte-rendu ou n'importe quel document d'un format similaire.

Je fait volontairement l'impasse sur l'installation de LaTeX, il existe d'autres tutoriaux écrit la-dessus.
Rapidement, je peux dire que sous Debian/Linux (ou Ubuntu), vous aurez besoin d'installer les paquets suivants : tetex-base tetex-extra gs-gpl

Il n'a pas la prétention de vous apprendre LaTeX, mais de vous y initier pour être en mesure de rédiger un document de vous même

Après avoir utilisé plusieurs fois cette méthode, vous aurez de toute façon acquis assez d'aisance pour apprendre LaTeX par vous même.

Une petite note avant de passer à la suite, LaTeX se prononce [latek] ; qu'on ne confonde pas avec le latex, bien qu'on puisse y faire une rapide analogie :
désagréable à l'utilisation, après-coup on est généralement content de l'avoir utilisé

b) LaTeX, une histoire de mode

Puissant, propre, rapide, les mathématiciens, physiciens et chercheurs en tout genre l'utilisent car LaTeX gère parfaitement l'écriture de formules complexes, respectant les règles typographiques et estétiques de façon quasi-parfaite.

Et les autres ? Parce qu'il est à la mode, tout simplement.
La disposition est considérée comme particulièrement estétique et l'on reconnait, d'un rapide coup d'oeil, un document rédigé sur ce langage.
Il est d'ailleurs souvent apposé à la fin une petite mention : "Rédigé avec LaTeX", juste au cas où le lecteur ne s'en serait pas rendu compte...

Très prisé par les les étudiants en mathématiques, les informaticiens, ces derniers savent parfaitement qu'un correcteur ou qu'un chef de service aura un apriori complet sur un document formaté avec LaTeX : c'est fait avec LaTeX, c'est beau, c'est propre, la présentation est soignée.

Non pas que la présentation soit particulièrement originale – et c'est finalement le but inverse qui est recherché, à savoir que le lecteur reconnaisse le formatage LaTeX – mais car complexe (pour le prolixe) et parce que c'est "in", alors c'est bien, c'est beau.

Mais qu'il n'en déplaise aux 'LaTeX-addicts' : effectivement c'est bien, c'est beau, mais c'est également très "in" et personellement c'est pour tout ca que je m'emploi à l'utiliser...

II. Quelques détails techniques

Tout d'abord, il faut savoir que LaTeX ne sait pas gérer les fichiers textes rédigés en utf-8, il faut donc prendre garde au jeu d'encodage du fichier source. La plupart des éditeurs encoderont le fichier avec le jeu de votre langue (iso-8859-15 si votre machine est correctement paramétrée) mais certains, peut être un plus en avance que d'autres le sauveront par défaut sous un charset utf-8 (gedit par exemple).

Pour compiler un fichier LaTeX, on se placera dans le répertoire courant et on lancera la commande suivante à partir d'un terminal (shell Linux, Ms-DOS, etc.) :

latex <fichier.tex>

La compilation donnera lieu à un fichier au format dvi, sous Linux on peut visionner un fichier dvi via la commande

xdvi <fichier.dvi>

On pourra également transformer le fichier dvi en fichier post-script ou en pdf, via les deux commandes respectives :

dvips <fichier.dvi>
dvipdf <fichier.dvi>

III. Vite ! À la pratique !

Comme vous l'ai dit, je vais aller très vite et vous livrer une solution rapide à mettre en oeuvre.

N'espèrez donc pas voir ci-après une quelconque méthode pour présenter une la page de garde :
LaTeX n'est pas concu dans cet esprit, c'est lui qui gère la présentation, pas vous. LaTeX c'est pour le corps du rapport.

Vous devrez donc faire votre page de garde sur un autre logiciel, adapté.
Il en existent de très bon :

a) La syntaxe

Chaque commande du langage, que j'appelle ici des macro, débute par un \.
Ensuite peut suivre des paramètres, placés entre crochets [ ].
Puis des arguments, placés entre accolades { }.
Les commentaires sont fait avec un %.

\macro[paramètres]{arguments}  % commentaires

Une autre forme à connaitre, lorsque les arguments sont trop longs est d'utiliser un \begin{macro}...\end{macro}

\begin[paramètres]{macro}
  arguments
\end{macro}

La macro pour demander un retour à la ligne est le double contre-slash \\.

Voici vos premières macros qui permettent l'insertion de caractères de commande :

CaractèreMacro
\\textbackslash
$\$
%\%
_\_
~\~
^\^
{\{
}\}
#\#
&\&

b) L'entête

Comme tout bon langage, il y a une entête à mettre au début de votre source, à savoir la classe du document et puis les différents packages à utiliser.

\documentclass[a4paper, titlepage]{livret}

\usepackage[latin1]{inputenc} % accents
\usepackage[T1]{fontenc}      % caractères français
\usepackage{geometry}         % marges
\usepackage[francais]{babel}  % langue
\usepackage{graphicx}         % images
\usepackage{verbatim}         % texte préformaté

La première ligne fait appel à une classe – livret – qui n'est pas par défaut dans LaTeX, les classes de bases (pour les documents) étant : book, report, article.
livret est une classe de ma composition, basée sur la classe report qui est légèrement modifée (quelques add-ons et optimisation de l'estétique pour les rapports).

Si vous souhaitez utiliser un modèle de base, remplacez livret par report. Autrement vous aurez besoin de joindre à votre source cette classe ou bien de l'installer définitivement sur votre système si vous souhaitez l'utiliser régulièrement.

Ensuite, on peut placer ces quelques commandes :

\title{Rapport de stage}      % renseigne le titre
\author{Prénom Nom}           %   "   "   l'auteur
\date{18 juin 2007}           %   "   "   la future date de parution

\pagestyle{headings}          % affiche un rappel discret (en haut à gauche)
                              % de la partie dans laquel on se situe

c) Le corps du document

Ce dernier ce place tout simplement entre ces balises :

\begin{document}

% --- inserer votre code LaTeX ici ---

\end{document}

Tout ce qui va suivre dans ce document sera donc à placer entre ces deux balises, précédées bien évidement des éléments consitutif de l'en-tête.

d) Les bases du langage

La table des matières

\tableofcontents

Cette commande, va nous permettre d'insérer la table des matières, qui sera générée automatiquement.
Il peut donc être interessant de l'insérer juste après le \begin{document}

Faites attention tout de même, il faudra compiler le source LaTeX deux fois de suite pour qu'il gère correctement la table des matières :
Une première fois pour générer la table des matière et la seconde pour l'insérer dans le document.

Les chapitres

Ensuite, on va pouvoir placer le contenu, classé hierarchiquement (par chapitre, puis section, sous-section...).

\chapter{Introduction}

  \section{Présentation de l'entreprise}

    \subsection{Description générale}
      \subsubsection{Activités de l'entreprise}
      \paragraph{}
      Ses domaines d'activités.
      \paragraph{}
      Son pôle de recherche.
      \paragraph{}
      Ses compétences, son marché.

      \subsubsection{Les partenaires}
      \paragraph{}
      Tissu local, sous-traitant.
      \paragraph{}
      Relations au plan local, nationnal...

    \subsection{Situation géographique}
      \paragraph{}
      Son emplacement.

  % ...

  \newpage

  \section{Environnement de travail}
  % ...

\chapter{Etude}
% ...

Vous l'aurez surement compris, la macro \paragraph déclenche un nouveau paragraphe et \newpage permet de se placer en haut d'une nouvelle page

Il est à noter qu'un nouveau chapitre déclenchera tout seul le passage sur une nouvelle page, mais pour la rédaction d'un rapport, je vous conseille de changer de page à chaque changement nouvelle section.

Certains étages de la hierarchie d'un document LaTeX sont facultatifs, vous pouvez par exemple faire des sections sans sous-sections mais aussi directement des sections sans les chapitres, ou ne faire que des chapitres...

Prenez garde tout de même : une sous-section doit être placée dans une section (cela parait logique en soit).

Les annexes, la liste des tableaux, la liste des images

% ...

\appendix

\chapter{Annexe A}
% ...

\chapter{Annexe B}
%...

\listoffigures
\listoftables

\end{document}

La macro \appendix informe LaTeX que les chapitres suivants seront des annexes.

Les macros \listeoffigures et \listoftables construisent respectivement, une table des images et une table des tableaux.
Cela peut être pratique pour les gros projets, personnellement je ne les utilise jamais.

Document type

Si vous le souhaitez, vous pouvez télécharger un document type LaTeX pour analyser la structure de chez vous et essayer de construire votre document à partir de celui-ci.

e) Les éléments utiles

Les images d'exemples présentées ci-dessous sont réduites à 1/8.

Images

Pour insérer une image dans un document LaTeX, il faut tout d'abord savoir qu'elle doit être au format post-script encapsulé (eps).
Le logiciel GIMP sait très bien convertir les images en toute sorte de format.

L'insertion se fait par la suite de cette façon :

\begin{figure}[h]
  \centering
  \includegraphics[scale=0.75]{images_eps/image1.eps}
  \caption{Légende de l'image}
\end{figure}

graphic

Ici, l'image est dans le dossier images_eps/ et porte le nom de image1.eps ; le paramètre scale=0.75 est facultatif, il permet d'adapter l'échelle (ici donc à 75%).

Sans changement d'échelle, les crochets sont à ne pas mettre : \includegraphics{images_eps/image1.eps}

Attention
Quelque-chose de pénible avec LaTeX : si il ne peut insérer l'image dans la page, il la placera sur la page suivante ; mais, pour éviter un espace blanc (qu'il juge disgracieux ?), LaTeX placera la suite du texte avant cette même image.
N'hésitez donc pas, si l'image ne rentre pas sur la fin de page, à ajouter un appel à la macro \newpage avant l'image.

Les listes et énumérations

Pour les listes, je vous livre directement un exemple de deux listes imbriquées :

\begin{itemize}
  \item Elément 1
  \item Elément 2
  \begin{itemize}
    \item[*] Sous-élément 1
    \item[*] Sous-élément 2
  \end{itemize}
\end{itemize}

itemize

Par défault, en Français, les listes sont construites avec le tiret ' – ', le fait de placer un paramètre * permet de remplacer celui par défaut.

En ce qui concerte les énumérations (listes numérotées), le changement est automatique :

\begin{enumerate}
  \item Elément 1
  \item Elément 2
  \begin{enumerate}
    \item Sous-élément a
    \item Sous-élément b
  \end{enumerate}
\end{enumerate}

enumerate

les tableaux

La gestion des tableaux par LaTeX est assez délicate à appréhender.

\begin{tabular}{|r|r||c|l|}
\hline
Poids (Kg) & Taille (m) & IMC ($Kg.m^{-2}$) & Catégorie \\
\hline
 50 & 175 & 16,33 & Sous-poids \\
 70 & 175 & 22,86 & Poids normal \\
 85 & 175 & 27,76 & Surpoids \\
130 & 175 & 42,45 & Obèse \\
\hline
\end{tabular}

tabular

Tout commence par une macro \begin{tabular}.

L'argument {|r|r||c|l} indique l'arrangement des colones : chaque lettre correspond à l'alignement des colones :
r pour right, c pour center et l pour left.
Chaque barre verticale, indique que l'on désire un trait de bordure verticale, on peut constater qu'entre la deuxième et la troisième cellule, on aura un trait double.

Pour insérer un trait de bordure horizontal, on utilise la macro \hline.

Chaque ligne du tableau est composée par la valeur des cellules séparées par un ' & ', la fin de ligne est marquée par une macro retour à la ligne \\.

Les notes de fin de page

\paragraph{}
La publicité\footnote{Sur une affiche} représentait une jolie jeune femme callipyge\footdef[callipyge]{Qui a de jolie fesses}. \\
Pygmalion\footnum[pygmalion]{Référez-vous à l'histoire de Pygmalion dans l'antiquité} travaille sur sa statue pour la rendre callipyge\footref[callipyge]. \\
Ha ! Sacrès Pygmalion\footref[pygmalion] !

footnote

La macro \footnote{note de bas de page} permet d'insérer une note de bas de page et d'y faire référence.

Les références aux notes de bas de page se font via un petit numéro en exposant.

Si vous utilisez la classe livret, alors vous pouvez utiliser la macros \footnum[nom_note]{note de bas de page} qui vous permet non-seulement d'insérer la note de bas de page et d'y faire référence mais aussi de la nommer.
Vous pourrez alors y faire référence, dans la suite du chapitre, autant de fois que vous le souhaiterez à l'aide de la macro \footref[nom_note].

Toujours en utilisant la classe livret, vous pouvez ajouter la définition d'un terme via \footdef[mot]{définition} en bas de page.
Une référence sera placé sur le moment et vous pourrez le faire dans la suite du chapitre via la macro \footref[mot].

Les textes préformatés

\begin{scriptsize}
\begin{verbatim}
#include <stdio.h>

int main() {
	printf("hello world!\n");
	return 0;
}
\end{verbatim}
\end{scriptsize}

verbatim

La première balise \begin{scriptsize} permet de réduire un peu la taille du texte et \begin{verbatim} permet ensuite d'insérer le texte.

La présentation

Rapidement, quelques commande pour l'alignement et la mise en forme

\textsc{Texte en majuscule} \\
\textit{Texte en italique} \\
\textbf{Texte en gras} \\
\flushleft{Texte sérré à gauche} \\
\flushright{Texte sérré à droite} \\

presentation

contact/mail protection