On s'est rendu compte sur #bioinfo-fr et sur #jebif (les canaux IRC sur freenode) qu'au cours des rédactions de rapports de stage ou même de thèse on avait plein de questions portant sur LaTeX et on a décidé qu'on allait se fendre de quelques articles sur LaTeX pour avoir une suite de liens appropriés à donner pour répondre aux questions. 🙂
Alors voilà le premier article, très basique, qui reprend tout (presque) au début pour prendre de bonnes habitudes.
Si vous cherchez de grandes explications sur ce qu'est LaTeX, comment ça marche à l'intérieur ou des explications très poussées, passez votre chemin, notre but ici est de faire un petit guide de survie en français pour les jeunes bioinfos qui découvrent LaTeX juste avant leur stage (ou leur thèse, on sait jamais). 😀
Installation de LaTeX et de Texmaker
La méthodologie d'installation de LaTeX dépend de votre OS.
Si vous êtes sous une distribution GNU/Linux
C'est assez simple, vous ouvrez un terminal et vous tapez les commandes suivantes (si vous n'êtes pas sous Debian ou une de ses dérivées, adaptez, vous êtes grands) :
1 |
sudo apt-get install texlive-full |
Et pour installer Texmaker qui est un éditeur multi-plateforme fait pour LaTeX que je vous suggère d'utiliser au moins au début :
1 |
sudo apt-get install texmaker |
Si vous êtes sous un autre système d'exploitation
Dans ce cas là je ne vous serai pas d'une grande aide pour l'installation, je vous suggère de suivre ces liens qui vont vous expliquer mieux que moi :
Pour Texmaker je vous renvoie au site : http://www.xm1math.net/texmaker/download.html
On me souffle dans l'oreillette qu'il existe un autre éditeur pour LaTeX qui serait encore mieux (mais je ne l'ai jamais utilisé) : texstudio (http://www.texstudio.org/). Je vous suggère de tester les 2 mais sachez que je vais utiliser Texmaker dans les screenshots et dans les vagues explications de fonctionnement que je vais donner.
Les types de documents LaTeX
Il existe une foule de types de documents que vous pouvez produire avec LaTeX. Voici les quelques types de documents que nous présenterons au fil de la série d'articles :
- la classe
article
qui sert de classe de « base » elle sert aux articles scientifiques, aux rapports, à présenter la documentation d'un programme ou d'un paquet, et d'une manière générale à une foule de choses - la classe
report
qui sert pour les rapports longs contenant des chapitres, les thèses, etc - la classe
beamer
qui sert pour les présentations - la classe
tikzposter
qui sert pour fabriquer des posters - la classe
lettre
qui sert à écrire des lettres (vous ne l'auriez pas deviné…) - la classe
book
qui sert à écrire de vrais livres
Soyez patients, nous allons nous focaliser sur la classe article
pour l'instant parce que c'est celle que vous utiliserez probablement le plus dans votre vie.
D'ailleurs pourquoi est-ce que je vous parle de types de documents comme ça dès le début ? C'est parce que la première chose que vous allez devoir écrire dans votre document LaTeX c'est la commande documentclass
qui va préciser à LaTeX avec quoi il va bosser (et lui dire quelles commandes sont les commandes qu'il peut utiliser).
Place à la pratique !
Hello World !
Pour commencer votre premier document LaTeX vous allez ouvrir Texmaker et cliquer sur l'icône de nouveau document et taper dans le nouveau cadre :
1 2 3 4 5 6 |
\documentclass[paper=a4, fontsize=11pt, ]{article} \begin{document} Hello World ! \end{document} |
Qu'est ce qu'on vient de faire ? On vient de dire à LaTeX qu'on allait travailler avec la classe de document article
, au format A4 et avec une taille de police de 11pt.
Viennent ensuite les balises
1 |
\begin{document} |
et
1 |
\end{document} |
entre lesquelles on écrit le document, ici la phrase Hello World ! (on ne se refait pas…). Par la suite, on appellera préambule toute la partie qui est comprise entre le \documentclass
et le \begin{document}
.
Vous allez maintenant enregistrer votre merveilleux document (je vous laisse trouver le bouton idoine ^^) . Puis vous allez cliquer sur le bouton « Compilation rapide » et sélectionner « PDFLaTeX » qui est le nom du compilateur que nous allons utiliser. Vous pouvez désormais cliquer sur la petite flèche bleue à gauche du bouton « PDFLaTeX » et lancer votre première compilation d'un document LaTeX, à la suite de quoi vous pouvez cliquer sur la petite flèche bleu à gauche du bouton « Voir PDF ».
![Fenêtre de Texmaker le code LaTeX précisé plus haut indiqué plus haut.](https://i0.wp.com/bioinfo-fr.net/wp-content/uploads/2016/11/hello_world.png?resize=1024%2C562&ssl=1)
Après avoir cliqué sur « Voir PDF » une fenêtre devrait s'ouvrir à l'intérieur avec un document qui ressemble à ça :
![PDF dans lequel on peut lire « Hello World! »](https://i0.wp.com/bioinfo-fr.net/wp-content/uploads/2016/11/hello_world_pdf.png?resize=1024%2C561&ssl=1)
Félicitations 🙂
Et si on mettait unE auteurE, un titre, une date ?
Bref, si on ajoutait une « page » de titre… Pour ça on va utiliser la commande \author, la commande \title et la commande \date dont les noms sont suffisamment explicite pour que je ne m'embête pas à les décrire.
1 2 3 |
\author{Pauline Pommeret} \title{Mon premier document \LaTeX} \date{\today} |
On utilise la commande \today qui met la date du jour de compilation ce qui peut s'avérer très pratique et la commande \LaTeX qui permet d'écrire LaTeX comme ce mot est supposé s'écrire (patience vous allez bientôt voir :)).
Mettez tout ceci dans votre préambule et recompilez puis regardez le PDF. Vous voyez un changement ?
Non, parce qu'on a oublié de dire à LaTeX qu'il fallait afficher le titre… En effet, dès qu'on veut faire faire un truc à LaTeX, il faut lui dire. Comment ? En ajoutant ceci \maketitle dans le corps du document, c'est-à-dire après le \begin{document}.
À ce stade, votre document LaTeX devrait ressembler à ça :
1 2 3 4 5 6 7 8 9 10 11 12 13 |
\documentclass[paper=a4, fontsize=11pt, ]{article} \author{Pauline Pommeret} \title{Mon premier document \LaTeX} \date{\today} \begin{document} \maketitle Hello World ! \end{document} |
Et vous devriez avoir un document qui ressemble à ça :
![Document LaTeX avec un titre, un nom d'auteur, et une date… en anglais](https://i0.wp.com/bioinfo-fr.net/wp-content/uploads/2016/11/hello_world_titre_anglais.png?resize=1024%2C560&ssl=1)
Parle moi français steuplaît
Dammit. Il va falloir dire à LaTeX qu'il faut écrire la date (et pas que…) en français. Pour cela il faut ajouter encore une commande dans le préambule : une commande qui lui dit de charger le paquet babel avec l'option (de langage ici) français. Pour cela on tape :
1 |
\usepackage[frenchb]{babel} |
Relancez la compilation et rechargez votre PDF et ça devrait être bon, la date du jour (chez moi 12 novembre 2016) devrait s'afficher correctement en français !
que maintenant on se traîne un Warning de compilation supplémentaire qui nous dit
1 |
Warning : OT1 encoding should not be used for French. |
Vous aurez plein de warnings en LaTeX que vous apprendrez à trier et à ignorer quand ça vous arrange, celui là il faut pas l'ignorer. Vous me faites pas confiance ? OK, tentez de remplacer « Hello World ! » par ce pangramme « Voix ambiguë d'un cœur qui, au zéphyr, préfère les jattes de kiwis. » dans votre document LaTeX. Recompilez et regardez le PDF.
![Même document que précédemment où cette fois ci à la place du « Hello World » on lit « Voix ambigu d'un cur qui, au zphyr, prfre les jattes de kiwis. »](https://i0.wp.com/bioinfo-fr.net/wp-content/uploads/2016/11/pangramme.png?resize=1024%2C560&ssl=1)
Vite le préambule !
Oui, bien vu, il va falloir ajouter des choses au préambule pour que tout se passe correctement. En fait, je vais vous faire rajouter plusieurs choses pour que les choses se passent bien à l'avenir.
Comme vous l'avez certainement compris on va ajouter des tas et des tas de choses au préambule pour faire en sorte que LaTeX fasse ce qu'on exige de lui. Aussi, on va mettre une partie du préambule dans un fichier séparé que vous pourrez linker (avec un lien symbolique si vous êtes sous une distribution GNU/Linux, en copiant/collant le fichier au bon endroit si vous êtes sous un truc que je sais pas comment ça fonctionne) quand vous en aurez besoin de faire un nouveau document.
Alors veuillez enregistrer ce pavé (vous n'êtes pas obligé de tout lire et tout comprendre tout de suite mais sachez que la ligne qui répare le warning est la ligne contenant fontenc) dans un fichier appelé
1 |
preambule.tex |
localisé dans le même dossier que votre fichier de Hello World.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
%–––––––––––––––––––––––––––––––––––––––––––– % PACKAGES DE BASE %–––––––––––––––––––––––––––––––––––––––––––– %-% Bonjour, je parle une langue avec des caractères "étranges", tu peux gérer l'encodage %-% de ce que j'écris et de la police de sortie ? Ça serait cool ! \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} %-% Coucou LaTeX, applique les règles françaises stp \usepackage[frenchb]{babel} %-% Coucou LaTeX, applique les règles britanniques stp %\usepackage[british]{babel} %-% À décommenter si jamais une autre police est demandée %\usepackage{helvet} %\usepackage{courier} %-% Pour rotationner une page %-% http ://tex.stackexchange.com/questions/111648/rotating-vs-lscape-vs-pdflscape \usepackage{pdflscape} %-% Supposons que vous définissiez la macro suivante %-% \newcommand{\apples}{AppleS} %-% si vous laissez tel quel, l'espace entre la macro et le reste du texte va être bouffé : %-% "The nice \apples in my garden." devient "The nice AppleSin my garden." %-% \newcommand{\apples}{AppleS } ne va pas vous sauver : %-% "I love \apples." devient "I love AppleS ." %-% Pour que la vie soit belle, il faut utiliser : %-% \newcommand{\apples}{\textsf{AppleS}\xspace} \usepackage{xspace} %-% Pour remplir avec du "Lorem ipsum", pour cela utiliser la commande \lipsum[1-6] \usepackage{lipsum} |
Note : si vous utilisez babel > 3.0 vous devriez utiliser le paquet babel de la façon suivante :
1 2 3 |
\documentclass[french] \usepackage{babel} |
Changement dans le corps du document
Maintenant qu'on a un preambule.tex
, on va pouvoir l'inclure dans le document et réduire la taille du document qui nous intéresse, il ne contiendra plus que le « contenu » réel et supposé intéressant.
Votre fichier hello_world.tex
devrait ressembler à ça désormais :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
\documentclass[paper=a4, fontsize=11pt, ]{article} \input{preambule} \author{Pauline Pommeret} \title{Mon premier document \LaTeX} \date{\today} \begin{document} \maketitle Voix ambiguë d'un cœur qui, au zéphyr, préfère les jattes de kiwis. \lipsum \end{document} |
Vous remarquerez la commande \input qui nous resservira plus tard à inclure d'autres fichiers (typiquement des sections du texte qui sont longues et qui méritent, par confort principalement, d'être mises dans un fichier à part) ; et la commande \lipsum qui nous sert à rajouter du Lorem ipsum, c'est-à-dire du texte de remplissage pour voir ce que ça donne !
Une petite page de garde toute simple
Pour avoir une page de garde (assez simple je l'admets, mais on travaillera sur ça plus tard, promis) à votre merveilleux document, vous pouvez glisser après le \maketitle la commande \clearpage qui va dire à LaTeX de terminer la page à cet endroit et de passer la suite du texte à la page suivante :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
\documentclass[paper=a4, fontsize=11pt, ]{article} \input{preambule} \author{Pauline Pommeret} \title{Mon premier document \LaTeX} \date{\today} \begin{document} \maketitle \clearpage Voix ambiguë d'un cœur qui, au zéphyr, préfère les jattes de kiwis. \lipsum \end{document} |
Mais comme je suis une flemmarde et que je préfère les options aux commandes, je préfère passer titlepage en option à mon \documentclass qui va me faire l'effet du \clearpage. Mais après, c'est vous qui voyez…
Un peu de structuration du document
Il existe plusieurs niveaux de structuration du document en LaTeX, on va se concentrer sur celles qui sont disponibles dans la classe de document que l'on utilise actuellement : article.
Les voici de la plus « grosse » à la plus « petite » :
- \part{Nom de la partie}
- \section{Nom de la section}
- \subsection{Nom de la sous-section}
- \subsubsection{Nom de la sous-sous-section}
- \paragraph{Nom du paragraphe}
- \subparagraph{Nom du sous-paragraphe}
La granularité est déjà plutôt importante. Voyez un peu le résultat :
![Exemple de structuration du document avec LaTeX](https://i0.wp.com/bioinfo-fr.net/wp-content/uploads/2016/11/hello_world_parties.png?resize=1024%2C560&ssl=1)
Et pour celles ou ceux qui n'auraient pas réussi à obtenir le résultat ci-dessus, voici le code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
\documentclass[paper=a4, fontsize=11pt, titlepage, ]{article} \input{preambule} \author{Pauline Pommeret} \title{Mon premier document \LaTeX} \date{\today} \begin{document} \part{Nom de la partie} \section{Nom de la section} \subsection{Nom de la sous-section} \subsubsection{Nom de la sous-sous-section} \paragraph{Nom du paragraphe} Voix ambiguë d'un cœur qui, au zéphyr, préfère les jattes de kiwis. \subparagraph{Nom du sous-paragraphe} \lipsum[1-2] \end{document} |
D'ailleurs, notez que si vous voulez des éléments de structuration non numérotés, il suffit d'ajouter un astérisque à la fin de la commande :
1 |
\part*{Nom de la partie non numérotée} |
Table des matières
Bon, c'est bien beau la structuration du document mais c'est pas très utile si on ne peut pas faire une table des matières pour naviguer dans le document (même si ok le document ne fait qu'une page pour l'instant, c'est le principe qui compte :o).
Il suffit d'ajouter, de préférence, après le \maketitle si vous voulez votre table des matières au début (vous pouvez la mettre en plein milieu de votre texte si ça vous chante d'ailleurs, ou à la fin de votre document, juste avant le \end{document}) la commande suivante :
1 |
\tableofcontents |
Recompilez deux fois (la table des matières exige la plupart du temps deux compilations pour être exacte, c'est ainsi) et rechargez le PDF pour admirer le résultat !
Vous êtes un peu déçuEs je pense… Où sont passés les paragraphes et les sous-paragraphes ?! Pourquoi n'apparaissent-ils pas dans la table des matières ? Bah c'est comme tout en LaTeX il va falloir lui dire de les faire apparaître. Je vous propose d'ajouter les incantations suivantes dans votre preambule.tex et de faire joujou avec le chiffre indiqué entre {} :
1 2 3 4 5 6 |
%–––––––––––––––––––––––––––––––––––––––––––– % EN-TÊTES, PIEDS DE PAGE, TOC, APPENDIX %–––––––––––––––––––––––––––––––––––––––––––– %-% Profondeur de la ToC \setcounter{tocdepth}{6} |
Et tadà !
On va s'arrêter là pour le premier article, vous avez déjà beaucoup progressé :). La prochaine fois on parlera de comment ajouter des figures et des tables, c'est-à-dire les flottants.
Merci à mes merveilleu.ses.x relecteur.rice.s pour leurs commentaires, ajouts et correction orthographique : Norore, HedJour, Clem_ !
Laisser un commentaire