Didacticiel :
LaTeX : le premier document !

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) :

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 :

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 :

https://openclassrooms.com/courses/redigez-des-documents-de-qualite-avec-latex/installer-latex

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 :

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 \begin{document}  et \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.

Voilà à quoi devrait ressembler votre Texmaker !

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! »

Et voilà votre premier PDF produit grâce à LaTeX

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.

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

dans le corps du document, c'est-à-dire après le \begin{document} .

À ce stade, votre document LaTeX devrait ressembler à ça :

Et vous devriez avoir un document qui ressemble à ça :

Document LaTeX avec un titre, un nom d'auteur, et une date… en anglais

Document LaTeX avec un titre, un nom d'auteur, et une date… en anglais

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 :

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

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. »

Je vous avais bien dit de pas ignorer ce warning…

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é preambule.tex  localisé dans le même dossier que votre fichier de Hello World.

Note : si vous utilisez babel > 3.0 vous devriez utiliser le paquet babel de la façon suivante :

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 :

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 :

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

Exemple de structuration du document avec LaTeX

Et pour celles ou ceux qui n'auraient pas réussi à obtenir le résultat ci-dessus, voici le code :

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  :  \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 :

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 {} :

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 : NororeHedJour, Clem_  !

  • À propos de
  • Après un master en bioinformatique et biostatistiques (master BIBS - Université Paris-Sud), j'ai débuté une thèse sur la structure secondaires des ARNs de bovin, entre le LIX (Laboratoire d'Informatique de Polytechnique) et l'unité G2B (Génétique et Génomique Bovine) de l'INRA Jouy-en-Josas.

Catégorie: Didacticiel, Suivez l'guide | Tags: ,

8 commentaires sur “LaTeX : le premier document !

  1. Perso j'utilise pour la gestion de caractère : \usepackage[utf8, utf8x]{inputenc}

    Il est possible d'utiliser plusieur langue mais c'est la dernière qui est utilisé pour la gestion de caractère regionaux (je pense a l'espagnol par exemple ou le cyrilique)

    Et pour la gestion de image \usepackage{graphicx} fait le taf, mais parfois il faut en ajouter d'autre pour une mise en page plus poussée

    • Tu m'intéresses… Tu penses à quoi en particulier ?

  2. Pour une prise en main rapide LyX (https://www.lyx.org/) est pratique. C'est un éditeur WYSIWYG qui utilise LaTeX pour le rendu final. Un fichier .lyx contient du LaTeX plus des infos de configuration. L'installateur Windows inclut une distribution LaTeX.

    Je l'utilise encore même si ça fait plus d'une dizaine d'année que je côtoie LaTex. Les raccourcis claviers permettent la prise de notes rapide. Je ne pourrais pas prendre mes cours en LaTex sans ce logiciel par exemple.

    Ensuite, pour une mise en page plus poussée, j'exporte en (pdf)latex les différentes parties et je compile un document maître.

    Sinon il est important de mentionner ShareLaTeX, l’équivalent de Google Docs pour l'édition collaborative LaTeX. Il est très utilisé en milieu académique. Ce n'est pas évident sur le site officiel, mais le code source et libre et il est possible de créer sa propre instance de ShareLaTeX sur son serveur.

    Pandoc est un autre outil très utile. Il permet de convertir des documents entre n'importe quel type de format (même Word LaTeX !). C'est pratique pour transformer des notes texte brut (Markdown, reStructuredText, org-mode) en LaTex. Ce logiciel est aussi la preuve qu'un prof de langue en philosophie peut coder en Haskell...

  3. Super inititative ! LateX devrait être connu de toutes et tous. Je ne comprends d'ailleurs pas pourquoi il n'est pas enseigné partout;
    Il y à un autre outil encore plus exceptionnel et il s'agit de orgmode (qui est un mode emacs).
    Avec lui vous pouvez ... bah tout faire... en mode texte brut !
    Editeur de texte, tableur, gestion de projet, gestionnaire de tâches, agenda, timesheets, rapports, présentations, graphiques, dessins...
    Et le miracle dans tout ça c'est qu'à la fin vous lui dites : "Sors moi tout ça en LaTeX ou en odt ou en ooxml ou en html ou en twitter bootstrap ou en revealjs ou en wiki..."
    Donc avec un seul logiciel vous pouvez gérer toute votre vie à une vitesse folle moyennant comme LaTeX un petit investissement au départ.
    Bref c'est une tuerie ! http://orgmode.org/fr/
    ps : même ce post a été écrit dans orgmode puis automatiquement balancé dans le formulaire !

  4. Pour l'édition de LaTeX on peut également utiliser Kile à la place de Texmaker.
    http://kile.sourceforge.net/

  5. Concernant le problème d'espacement après une macro, la technique «officielle» est de dire à TEX de ne pas parser le caractère suivant.
    Ainsi, au lieu de :

    \newcommand{\apples}{apples\xspace}
    j'ai des \apples in mein bag.

    Utiliser la notation complète de l'appel de fonction :

    \newcommand{\apples}{apples}
    j'ai des \apples{} in mein bag.

    Je note ça surtout pour éviter les trolls qui pourraient vouloir insinuer que latex a besoin d'un package pour gérer les espaces.

    Merci pour la notation avec xspace, elle est moins lourde 🙂

    Et au passage, j'en profite pour larger une de mes macros préférées:

    \newcommand{\Figure}[1]{figure~\ref{fig:#1}} % idem pour Table, Equation, etc...

    Qui s'utilise lorsqu'on a des figures du type :

    \begin{figure}
    % bla bla bla image bla bla bla
    \label{fig:MesVacancesPendantLaThèse}
    \end{figure}

    Permettant de les référencer simplement :

    J'en ai trop pris gros, comme montré en \Figure{MesVacancesPendantLaThèse}.

    L'intérêt de préfixer par «fig:», c'est que les tables sont préfixées par «tab:», etc… Et donc il est possible d'utiliser le même label pour la même donnée. Par exemple, la \Figure{EvolTemperature} est une représentation graphiques des données dans \Table{EvolTemperature}. Lisible et simple, AMHA.

    Pareil, ne pas hésiter à coller des macros pour les noms difficiles à retenir/écrire :

    \renewcommand{\O}[1]{$\mathcal{O}(#1)$} % big O notation
    \newcommand{\puceronLatin}{\emph{Acyrthosiphon pisum}} % nom latin du puceron
    \newcommand{\PMDP}{\emph{La petite maison dans la prairie}} % nom long à écrire
    \newcommand{\RNA}{\gls{RNA}} % shortcut pour le glossaire

    Et, par exemple ici pour un document double page, une commande permettant de passer à la page de gauche suivante, très utile pour forcer la mise en page.

    \newcommand*\cleartoleftpage{%
    \clearpage
    \ifodd\value{page}\hbox{}\newpage\fi
    }

    Les macros c'est l'ordinateur qui travaille à la place de l'humain.
    Donc les macros, c'est la vie.

    • En fait, c'est un fail de copier/coller la présence macro avec \xspace (qui est au demeurant bien plus pratique que la version « officielle », on est d'accord), elle aurait jamais du être présentée dans cet article. On va dire que c'est du teasing 🙂

      Sinon, pour le reste… chut… Faut pas spoiler !! 😉

      Les macros viendront en temps voulu, promis, et le glossaire aussi, mais pas tout de suite, je suis partisane de la progression douce 🙂

  6. Il est possible de partager un document à la manière d'un google drive ou google doc avec les site ShareLaTeX et Overleaf(anciennement WriteLaTeX). Ce système est très pratique lors de la rédaction de rapports de projet de groupe ou qu'un directeur de thèse / maitre de stage (si celui-ci connait un peu le langage) commente directement sur le document, ce qui est impossible sur un PDF.

Laisser un commentaire