Il y a un peu plus d’un an j’ai promis une intro très rapide à LaTeX pour les non-informaticiens. Je m’y mets maintenant. En bas de ce billet vous trouverez des références pour aller plus loin.
Comment faire un document LaTeX
LaTeX est un langage où on compile le document. Contrairement à des logiciels comme Libreoffice Writer ou Word, qui sont des éditeurs WYSIWYG, dans le document que l’on édite, on saisit le document et sa structure (paragraphes, sections, etc). Le compilateur LaTeX se charge de la mise en forme, selon la feuille de style utilisée, et produit le document lui-même.
Sommaire
- Les outils
- Créer un document
- La structure du document
- Insérer une image
- Les références
- Exemple complet
- Références pour aller plus loin
Les outils
Pas de panique, il existe plein d’outils pour faire tout ça automatiquement pour vous… que je n’utilise pas personnellement, mais je connais des gens dont c’est le cas.
C’est dispo sur plein de plate-formes (Windows Mac Linux), il vous propose une colonne pour gérer vos fichiers, la moitié de l’écran pour écrire votre document, l’autre moitié compile à la volée et vous donne un aperçu du document, et vous pouvez avoir une colonne pour gérer et accéder à vos fichiers. Dernièrement, tous les collègues que j’ai vu utiliser un éditeur de ce genre utilisaient soit Texmaker, soit TeXstudio. Une capture d’écran proposée par le site [ici].
- TeXstudio : http://www.texstudio.org
C’est le même principe, la différence se fait dans les fonctionnalités « fines » d’aide à la rédaction comme l’auto-complétion ou des fonctionnalités de l’éditeur de textes (curseurs multiples par exemple). Une capture d’écran [ici].
- MiKTeX : http://miktex.org
Pendant ma thèse, c’est ce que je voyais mes copains non-informaticiens utiliser. Même principe, sauf qu’il faut appuyer sur un bouton pour générer le PDF (ou un autre format). Une capture d’écran [ici].
- ShareLaTeX : https://www.sharelatex.com
C’est en ligne, rien besoin d’installer… bref, c’est très intéressant. Je vois beaucoup de gens l’utiliser. Il suffit de se créer un compte pour l’utiliser.
(merci @eisaru pour la suggestion, j’avais oublié !)
- OverLeaf : https://www.overleaf.com
C’est aussi un outil en ligne, que je vois beaucoup de gens utiliser. Il permet notamment le travail collaboratif, ce qui est encore plus pratique !
Créer un document
Maintenant que vous êtes équipé, vous n’avez plus qu’à créer votre premier document !
Gardez un principe en tête : vous donnez la structure du document et LaTeX s’occupe de la mise en forme.
Pour cela, il faut qu’il sache de quel type de document il va s’agir : c’est-à-dire, de quelle classe. Vous commencez donc votre document par :
\documentclass{article}
Ici, nous allons créer un document en utilisant la classe article. Les classes par défaut de LaTeX sont book, report, article (par ordre décroissant de longueur) et des classes spécifiques comme letter, beamer… En passant le nom d’une feuille de style (un fichier .cls), vous pourrez utiliser une autre classe. Par exemple, pour utiliser la classe IEEE, on met le fichier IEEEtran.cls dans le même répertoire et on commence par :
\documentclass{IEEEtran}
On peut aussi passer des options, qui dépendent du style. Par exemple, un style a une taille de police de base. On peut la préciser en la passant en option de cette commande. On peut aussi spécifier le format de papier à utiliser. Par exemple, pour faire un livre sur du papier A4 avec une taille de police de base égale à 11 :
\documentclass[a4paper,11pt]{book}
Vous pouvez d’ores et déjà remarquer trois choses sur cette commande LaTeX :
- elle commence par un antislash : \
- l’information passée en argument est passé entre accolades : {}
- les options sont passées avant les arguments, elles entre crochets : []
Il y a ensuite quelques options à fournir. C’est ici que vous allez déclarer les packages à utiliser, par exemple. Pour écrire du français, il faut préciser :
\usepackage[francais]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc}
Si bien sûr vos fichiers sont encodés en UTF8. Dans le cas contraire, précisez l’encodage (probablement iso8859-15).
La structure du document
Le document lui-même doit être entre
\begin{document}
et
\end{document}
Tout ce qui se situe avant le \begin{document}
est le préambule : il contient toutes les déclarations, les ouvertures de packages… Il n’y a rien après le \end{document}
. Le texte du document lui-même se situe donc entre ces deux commandes.
Le titre
Le titre est mis en forme pour vous. Dans le préambule, vous pouvez déclarer :
\author{Votre nom} \title{Titre du document} \date{21 Octobre 2015}
Si vous ne mettez pas de date, LaTeX insérera la date du jour de la compilation. Vous pouvez mettre à la place \date{~} pour la laisser vide.
Dans le texte, vous pouvez générer le titre avec la commande
\maketitle
Sections et paragraphes
Le corps du texte lui-même est structuré en sections et en paragraphes. Suivant le type de document (report, book), vous disposez d’autres éléments : des chapitres et des parties.
Indiquez le début d’une section avec
\section{Titre de la section}
C’est tout ! De même, vous disposez de sous-sections :
\subsection{Titre de la sous-section} \subsubsection{Encore un niveau d'imbrication}
Les sections et les sous-sections sont numérotées. Les paragraphes, eux, ne le sont pas. On peut les définir avec :
\paragraph{Titre du paragraphe} \subparagraph{Titre du sous-paragraphe}
Les paragraphes, au sens de blocs de texte, sont simplement séparés par des sauts de ligne.
Enfin, la commande
\tableofcontents
génère la table des matières automatiquement. Attention, il faut compiler deux fois pour avoir une table des matières : la première fois le compilateur note où sont les sections et les sous-sections, la deuxième fois il génère la table des matières à partir de ces notes.
Les listes et énumérations
Les listes et les énumérations… C’est très simple. On dit où ça commence et où ça se termine, avec une commande \begin et une commande \end, et on démarre chaque élément par \item. En fonction du type de liste que l’on souhaite, LaTeX génère la liste elle-même : numérotée avec enumerate et non-numérotée avec itemize.
Par exemple, pour une liste non-numérotée :
\begin{itemize} \item premier élément \item deuxième élément \end{itemize}
Et pour une liste numérotée :
\begin{enumerate} \item premier élément \item deuxième élément \end{enumerate}
Vous constatez que la seule différence est entre itemize
et enumerate
: on parle d’environnement, et pour changer entre l’un et l’autre, il suffit de modifier le type d’environnement.
Insérer une image
TODO
Les références
Les références, c’est un truc absolument génial avec LaTeX. Quand on s’est tapé une gestion de références croisées et une bibliographie avec un éditeur WYSIWYG, on aime d’amour LaTeX.
Les références croisées
Première chose : les références croisées. C’est extrêmement simple : on met un label à l’endroit vers lequel on veut faire des références, et partout ailleurs on s’y réfère avec une référence. Ce qui donne la commande :
\label{nomdulabel}
Et pour les références, on utilise le nom de ce label (attention à ne pas définir deux labels avec le même nom) :
\ref{nomdulabel}
Voilà, c’est tout. LaTeX a ici encore besoin de deux compilations : à la première il note les labels, à la deuxième il insère les références. Par conséquent, à la première compilation, vous aurez des ?? à la place des références.
Cela fonctionne avec les sections, les tableaux, les figures… Par exemple, pour mettre un label sur une figure, mettez-le dans la légende :
\caption{Légende de la figure.\label{mafigure}}
Dans le texte, vous obtiendrez une référence au numéro de la figure.
Une bibliographie
La bibliographie fonctionne un peu selon le même principe. On insère une référence dans le texte, et la référence est générée automatiquement à la compilation. Il existe deux façons de faire une bibliographie : en utilisant BibTeX, ou non.
Sans BibTeX, on ajoute les références bibliographiques à la fin, dans un environnement thebibliography
:
\begin{thebibliography}{50} \bibitem{KR78} Kernighan, Brian W., and Dennis M. Ritchie. The C programming language. 1978. \bibitem{L86} Lamport, Leslie. LaTEX: User's Guide \& Reference Manual. 1986. \end{thebibliography}
Quelques remarques sur cette biblio. Tout d’abord, on a passé l’option 50 entre accolades : il s’agit de la longueur maximale des étiquettes qui seront utilisées. Ensuite, à chaque élément de la bibliographie (les \bibitem
), on a mis un petit code entre accolads : c’est ce code qui sera utilisé dans le texte pour citer l’élément. Un dernier petit élément : on a mis un antislash avant le &. En effet, le caractère « & » est un caractère spécial de LaTeX, il faut donc l’échapper en le faisant précéder d’un \.
La deuxième façon de faire consiste à mettre la bibliographie dans un fichier séparé .bib sous un format donné, et d’utiliser l’outil BibTeX. Beaucoup d’outils comme Google Scholar fournissent les citations au format BibTeX, par exemple :
@book{KR77, title={The M4 macro processor}, author={Kernighan, Brian W and Ritchie, Dennis M}, year={1977}, publisher={Bell Laboratories Murray Hill, NJ} }
Le format BibTeX est tout un sujet en lui-même, que je pourrai traiter plus tard, à l’occasion d’un autre tuto. Ce qu’il y a à retenir ici, c’est qu’on a ici encore une clé, sur la première ligne : ici, c’est KR77
.
Cette clé est primordiale : c’est elle que l’on utilise dans le texte pour citer la référence bibliographique. Cette fois, avec \cite
:
\cite{KR77}
Suivant la feuille de style, on peut citer plusieurs références : \cite{KR78, L86}
. Avec d’autres, on ne peut pas.
Si on a utilisé la première solution (thebibliography
), toutes les références seront ajoutées à la fin du document. Si on a utilisé un fichier bibtex, seules les références citées dans le texte seront ajoutées. On peut en ajouter qui ne sont pas citées dans le texte avec la commande \nocite{...}
.
Les outils tout intégrés compilent la bibliographie automatiquement. Si vous compilez à la main, la première passe de compilation va vous générer un fichier aux : vous devez le donner à manger à bibtex
, qui va générer des fichiers qui seront ensuite utilisés par pdflatex
pour insérer les citations (deux compilations après le passage de bibtex
).
Vous pouvez avoir plus de détails avec l’article « Un Makefile basique avec LaTeX« .
Références cliquables dans le PDF
Il existe un package qui fait tout un tas de choses, mais en particulier une sympa : les références sont cliquables dans le PDF. Cela permet, d’un clic, d’aller sur l’élément référencé. C’est pratique avec un lecteur comme Skim (sous Mac), en permettant d’ouvrir une référence dans une fenêtre à côté, tout en poursuivant sa lecture.
\usepackage{hyperref}
Sur le PDF, les liens apparaissent en couleur : pas de panique, le cadre de couleur ne figurera pas sur le document imprimé.
Exemple complet
Références pour aller plus loin
Deux petits liens qui sont en fait ceux avec lesquels j’ai appris LaTeX :
- une intro à LaTeX sur Comment Ça Marche : [lien]
Vous y verrez comment créer vos premiers documents et y insérer des tableaux, images, etc.
- Une (Courte) Introduction à LaTeX2e, par Tobias Oetiker Hubert Partl, Irene Hyna et Elisabeth Schlegl : [lien]
Il s’agit d’un livre de pas loin de 200 pages, traduit dans plein de langues, qui explique comment faire des choses assez avancées en LaTeX et l’esprit qu’il y a derrière. Plus qu’un livre à lire de façon séquentielle, c’est plutôt une référence sur laquelle on vient quand on a besoin de quelque chose (le sommaire et l’index sont très bien faits).