- Le blog participatif de bioinformatique francophone depuis 2012 -

LaTeX : le premier document !

On s'est ren­du compte sur #bioin­fo-fr et sur #jebif (les canaux IRC sur free­node) qu'au cours des rédac­tions de rap­ports de stage ou même de thèse on avait plein de ques­tions por­tant sur LaTeX et on a déci­dé qu'on allait se fendre de quelques articles sur LaTeX pour avoir une suite de liens appro­priés à don­ner pour répondre aux ques­tions. 🙂

Alors voi­là le pre­mier article, très basique, qui reprend tout (presque) au début pour prendre de bonnes habi­tudes.

Si vous cher­chez de grandes expli­ca­tions sur ce qu'est LaTeX, com­ment ça marche à l'intérieur ou des expli­ca­tions très pous­sées, pas­sez votre che­min, notre but ici est de faire un petit guide de sur­vie en fran­çais pour les jeunes bioin­fos qui découvrent LaTeX juste avant leur stage (ou leur thèse, on sait jamais). 😀

Installation de LaTeX et de Texmaker

La métho­do­lo­gie d'installation de LaTeX dépend de votre OS.

Si vous êtes sous une distribution GNU/​Linux

C'est assez simple, vous ouvrez un ter­mi­nal et vous tapez les com­mandes sui­vantes (si vous n'êtes pas sous Debian ou une de ses déri­vées, adap­tez, vous êtes grands) :

Et pour ins­tal­ler Tex­ma­ker qui est un édi­teur mul­ti-pla­te­forme fait pour LaTeX que je vous sug­gè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 sug­gère de suivre ces liens qui vont vous expli­quer mieux que moi :

https://​open​class​rooms​.com/​c​o​u​r​s​e​s​/​r​e​d​i​g​e​z​-​d​e​s​-​d​o​c​u​m​e​n​t​s​-​d​e​-​q​u​a​l​i​t​e​-​a​v​e​c​-​l​a​t​e​x​/​i​n​s​t​a​l​l​e​r​-​l​a​tex

Pour Tex­ma­ker je vous ren­voie au site : http://​www​.xm1​math​.net/​t​e​x​m​a​k​e​r​/​d​o​w​n​l​o​a​d​.​h​tml

On me souffle dans l'oreillette qu'il existe un autre édi­teur pour LaTeX qui serait encore mieux (mais je ne l'ai jamais uti­li­sé) : texs­tu­dio (http://​www​.texs​tu​dio​.org/). Je vous sug­gère de tes­ter les 2 mais sachez que je vais uti­li­ser Tex­ma­ker dans les screen­shots et dans les vagues expli­ca­tions de fonc­tion­ne­ment que je vais don­ner.

Les types de documents LaTeX

Il existe une foule de types de docu­ments que vous pou­vez pro­duire avec LaTeX. Voi­ci les quelques types de docu­ments que nous pré­sen­te­rons au fil de la série d'articles :

  • la classe article qui sert de classe de « base » elle sert aux articles scien­ti­fiques, aux rap­ports, à pré­sen­ter la docu­men­ta­tion d'un pro­gramme ou d'un paquet, et d'une manière géné­rale à une foule de choses
  • la classe report qui sert pour les rap­ports longs conte­nant des cha­pitres, les thèses, etc
  • la classe beamer qui sert pour les pré­sen­ta­tions
  • la classe tikzposter qui sert pour fabri­quer des pos­ters
  • la classe lettre qui sert à écrire des lettres (vous ne l'auriez pas devi­né…)
  • la classe book qui sert à écrire de vrais livres

Soyez patients, nous allons nous foca­li­ser sur la classe article pour l'instant parce que c'est celle que vous uti­li­se­rez pro­ba­ble­ment le plus dans votre vie.

D'ailleurs pour­quoi est-ce que je vous parle de types de docu­ments comme ça dès le début ? C'est parce que la pre­mière chose que vous allez devoir écrire dans votre docu­ment LaTeX c'est la com­mande documentclass qui va pré­ci­ser à LaTeX avec quoi il va bos­ser (et lui dire quelles com­mandes sont les com­mandes qu'il peut uti­li­ser).

Place à la pratique !

Hello World !

Pour com­men­cer votre pre­mier docu­ment LaTeX vous allez ouvrir Tex­ma­ker et cli­quer sur l'icône de nou­veau docu­ment et taper dans le nou­veau cadre :

Qu'est ce qu'on vient de faire ? On vient de dire à LaTeX qu'on allait tra­vailler avec la classe de docu­ment article, au for­mat A4 et avec une taille de police de 11pt.

Viennent ensuite les balises

  et

entre les­quelles on écrit le docu­ment, ici la phrase Hel­lo World ! (on ne se refait pas…). Par la suite, on appel­le­ra pré­am­bule toute la par­tie qui est com­prise entre le \documentclass et le \begin{document}.

Vous allez main­te­nant enre­gis­trer votre mer­veilleux docu­ment (je vous laisse trou­ver le bou­ton idoine ^^) . Puis vous allez cli­quer sur le bou­ton « Com­pi­la­tion rapide » et sélec­tion­ner « PDFLa­TeX » qui est le nom du com­pi­la­teur que nous allons uti­li­ser. Vous pou­vez désor­mais cli­quer sur la petite flèche bleue à gauche du bou­ton « PDFLa­TeX » et lan­cer votre pre­mière com­pi­la­tion d'un docu­ment LaTeX, à la suite de quoi vous pou­vez cli­quer sur la petite flèche bleu à gauche du bou­ton « Voir PDF ».

Fenêtre de Texmaker le code LaTeX précisé plus haut indiqué plus haut.
Voi­là à quoi devrait res­sem­bler votre Tex­ma­ker !

Après avoir cli­qué sur « Voir PDF » une fenêtre devrait s'ouvrir à l'intérieur avec un docu­ment qui res­semble à ça :

PDF dans lequel on peut lire « Hello World! »
Et voi­là votre pre­mier PDF pro­duit grâce à LaTeX

Féli­ci­ta­tions 🙂

Et si on mettait unE auteurE, un titre, une date ?

Bref, si on ajou­tait une « page » de titre… Pour ça on va uti­li­ser la com­mande \author, la com­mande \title et la com­mande \date dont les noms sont suf­fi­sam­ment expli­cite pour que je ne m'embête pas à les décrire.

On uti­lise la com­mande \today qui met la date du jour de com­pi­la­tion ce qui peut s'avérer très pra­tique et la com­mande \LaTeX qui per­met d'écrire LaTeX comme ce mot est sup­po­sé s'écrire (patience vous allez bien­tôt voir :)).

Met­tez tout ceci dans votre pré­am­bule et recom­pi­lez puis regar­dez le PDF. Vous voyez un chan­ge­ment ?

Non, parce qu'on a oublié de dire à LaTeX qu'il fal­lait affi­cher le titre… En effet, dès qu'on veut faire faire un truc à LaTeX, il faut lui dire. Com­ment ? En ajou­tant ceci \make­title dans le corps du docu­ment, c'est-à-dire après le \begin{document}.

À ce stade, votre docu­ment LaTeX devrait res­sem­bler à ça :

Et vous devriez avoir un docu­ment qui res­semble à ça :

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

Parle moi français steuplaît

Dam­mit. Il va fal­loir dire à LaTeX qu'il faut écrire la date (et pas que…) en fran­çais. Pour cela il faut ajou­ter encore une com­mande dans le pré­am­bule : une com­mande qui lui dit de char­ger le paquet babel avec l'option (de lan­gage ici) fran­çais. Pour cela on tape :

Relan­cez la com­pi­la­tion et rechar­gez votre PDF et ça devrait être bon, la date du jour (chez moi 12 novembre 2016) devrait s'afficher cor­rec­te­ment en fran­çais !

que main­te­nant on se traîne un War­ning de com­pi­la­tion sup­plé­men­taire qui nous dit

Vous aurez plein de war­nings en LaTeX que vous appren­drez à trier et à igno­rer quand ça vous arrange, celui là il faut pas l'ignorer. Vous me faites pas confiance ? OK, ten­tez de rem­pla­cer « Hel­lo World ! » par ce pan­gramme « Voix ambi­guë d'un cœur qui, au zéphyr, pré­fère les jattes de kiwis. » dans votre docu­ment LaTeX. Recom­pi­lez et regar­dez 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 igno­rer ce war­ning…

Vite le préambule !

Oui, bien vu, il va fal­loir ajou­ter des choses au pré­am­bule pour que tout se passe cor­rec­te­ment. En fait, je vais vous faire rajou­ter plu­sieurs choses pour que les choses se passent bien à l'avenir.

Comme vous l'avez cer­tai­ne­ment com­pris on va ajou­ter des tas et des tas de choses au pré­am­bule pour faire en sorte que LaTeX fasse ce qu'on exige de lui. Aus­si, on va mettre une par­tie du pré­am­bule dans un fichier sépa­ré que vous pour­rez lin­ker (avec un lien sym­bo­lique si vous êtes sous une dis­tri­bu­tion GNU/​Linux, en copiant/​collant le fichier au bon endroit si vous êtes sous un truc que je sais pas com­ment ça fonc­tionne) quand vous en aurez besoin de faire un nou­veau docu­ment.

Alors veuillez enre­gis­trer ce pavé (vous n'êtes pas obli­gé de tout lire et tout com­prendre tout de suite mais sachez que la ligne qui répare le war­ning est la ligne conte­nant fon­tenc) dans un fichier appe­lé

  loca­li­sé dans le même dos­sier que votre fichier de Hel­lo World.

Note : si vous uti­li­sez babel > 3.0 vous devriez uti­li­ser le paquet babel de la façon sui­vante :

Changement dans le corps du document

Main­te­nant qu'on a un preambule.tex, on va pou­voir l'inclure dans le docu­ment et réduire la taille du docu­ment qui nous inté­resse, il ne contien­dra plus que le « conte­nu » réel et sup­po­sé inté­res­sant.

Votre fichier hello_world.tex devrait res­sem­bler à ça désor­mais :

Vous remar­que­rez la com­mande \input qui nous res­ser­vi­ra plus tard à inclure d'autres fichiers (typi­que­ment des sec­tions du texte qui sont longues et qui méritent, par confort prin­ci­pa­le­ment, d'être mises dans un fichier à part) ; et la com­mande \lip­sum qui nous sert à rajou­ter du Lorem ipsum, c'est-à-dire du texte de rem­plis­sage 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 tra­vaille­ra sur ça plus tard, pro­mis) à votre mer­veilleux docu­ment, vous pou­vez glis­ser après le \make­title la com­mande \clear­page qui va dire à LaTeX de ter­mi­ner la page à cet endroit et de pas­ser la suite du texte à la page sui­vante :

Mais comme je suis une flem­marde et que je pré­fère les options aux com­mandes, je pré­fère pas­ser tit­le­page en option à mon \docu­ment­class qui va me faire l'effet du \clear­page. Mais après, c'est vous qui voyez…

Un peu de structuration du document

Il existe plu­sieurs niveaux de struc­tu­ra­tion du docu­ment en LaTeX, on va se concen­trer sur celles qui sont dis­po­nibles dans la classe de docu­ment que l'on uti­lise actuel­le­ment : article.

Les voi­ci de la plus « grosse » à la plus « petite » :

  • \part{Nom de la par­tie}
  • \section{Nom de la sec­tion}  
  • \subsection{Nom de la sous-sec­tion}
  • \subsubsection{Nom de la sous-sous-sec­tion}
  • \paragraph{Nom du para­graphe}
  • \subparagraph{Nom du sous-para­graphe}

La gra­nu­la­ri­té est déjà plu­tôt impor­tante. Voyez un peu le résul­tat :

Exemple de structuration du document avec LaTeX
Exemple de struc­tu­ra­tion du docu­ment avec LaTeX

Et pour celles ou ceux qui n'auraient pas réus­si à obte­nir le résul­tat ci-des­sus, voi­ci le code :

D'ailleurs, notez que si vous vou­lez des élé­ments de struc­tu­ra­tion non numé­ro­tés, il suf­fit d'ajouter un asté­risque à la fin de la com­mande  : 

Table des matières

Bon, c'est bien beau la struc­tu­ra­tion du docu­ment mais c'est pas très utile si on ne peut pas faire une table des matières pour navi­guer dans le docu­ment (même si ok le docu­ment ne fait qu'une page pour l'instant, c'est le prin­cipe qui compte :o).

Il suf­fit d'ajouter, de pré­fé­rence, après le \make­title si vous vou­lez votre table des matières au début (vous pou­vez la mettre en plein milieu de votre texte si ça vous chante d'ailleurs, ou à la fin de votre docu­ment, juste avant le \end{document}) la com­mande sui­vante :

Recom­pi­lez deux fois (la table des matières exige la plu­part du temps deux com­pi­la­tions pour être exacte, c'est ain­si) et rechar­gez le PDF pour admi­rer le résul­tat !

Vous êtes un peu déçuEs je pense… Où sont pas­sés les para­graphes et les sous-para­graphes ?! Pour­quoi n'apparaissent-ils pas dans la table des matières ? Bah c'est comme tout en LaTeX il va fal­loir lui dire de les faire appa­raître. Je vous pro­pose d'ajouter les incan­ta­tions sui­vantes dans votre preambule.tex et de faire jou­jou avec le chiffre indi­qué entre {} :

Et tadà !

On va s'arrêter là pour le pre­mier article, vous avez déjà beau­coup pro­gres­sé :). La pro­chaine fois on par­le­ra de com­ment ajou­ter des figures et des tables, c'est-à-dire les flot­tants.

Mer­ci à mes merveilleu.ses.x relecteur.rice.s pour leurs com­men­taires, ajouts et cor­rec­tion ortho­gra­phique : NororeHed­Jour, Clem_​  !




Commentaires

8 réponses à “LaTeX : le premier document !”

  1. Per­so j'utilise pour la ges­tion de carac­tère : \usepackage[utf8, utf8x]{inputenc}

    Il est pos­sible d'utiliser plu­sieur langue mais c'est la der­nière qui est uti­li­sé pour la ges­tion de carac­tère regio­naux (je pense a l'espagnol par exemple ou le cyri­lique)

    Et pour la ges­tion de image \usepackage{graphicx} fait le taf, mais par­fois il faut en ajou­ter d'autre pour une mise en page plus pous­sée

    1. Chopopope

      Tu m'intéresses… Tu penses à quoi en par­ti­cu­lier ?

  2. Pour une prise en main rapide LyX (https://​www​.lyx​.org/) est pra­tique. C'est un édi­teur WYSIWYG qui uti­lise LaTeX pour le ren­du final. Un fichier .lyx contient du LaTeX plus des infos de confi­gu­ra­tion. L'installateur Win­dows inclut une dis­tri­bu­tion LaTeX.

    Je l'utilise encore même si ça fait plus d'une dizaine d'année que je côtoie LaTex. Les rac­cour­cis cla­viers per­mettent la prise de notes rapide. Je ne pour­rais pas prendre mes cours en LaTex sans ce logi­ciel par exemple.

    Ensuite, pour une mise en page plus pous­sée, j'exporte en (pdf)latex les dif­fé­rentes par­ties et je com­pile un docu­ment maître.

    Sinon il est impor­tant de men­tion­ner Sha­re­La­TeX, l’équivalent de Google Docs pour l'édition col­la­bo­ra­tive LaTeX. Il est très uti­li­sé en milieu aca­dé­mique. Ce n'est pas évident sur le site offi­ciel, mais le code source et libre et il est pos­sible de créer sa propre ins­tance de Sha­re­La­TeX sur son ser­veur.

    Pan­doc est un autre outil très utile. Il per­met de conver­tir des docu­ments entre n'importe quel type de for­mat (même Word LaTeX !). C'est pra­tique pour trans­for­mer des notes texte brut (Mark­down, reStruc­tu­red­Text, org-mode) en LaTex. Ce logi­ciel est aus­si la preuve qu'un prof de langue en phi­lo­so­phie peut coder en Has­kell…

  3. Super ini­ti­ta­tive ! LateX devrait être connu de toutes et tous. Je ne com­prends d'ailleurs pas pour­quoi il n'est pas ensei­gné par­tout ;
    Il y à un autre outil encore plus excep­tion­nel et il s'agit de org­mode (qui est un mode emacs).
    Avec lui vous pou­vez … bah tout faire… en mode texte brut !
    Edi­teur de texte, tableur, ges­tion de pro­jet, ges­tion­naire de tâches, agen­da, time­sheets, rap­ports, pré­sen­ta­tions, gra­phiques, des­sins…
    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 twit­ter boots­trap ou en reveal­js ou en wiki…"
    Donc avec un seul logi­ciel vous pou­vez gérer toute votre vie à une vitesse folle moyen­nant comme LaTeX un petit inves­tis­se­ment au départ.
    Bref c'est une tue­rie ! http://​org​mode​.org/​fr/
    ps : même ce post a été écrit dans org­mode puis auto­ma­ti­que­ment balan­cé dans le for­mu­laire !

  4. Avatar de Grain de sel
    Grain de sel

    Pour l'édition de LaTeX on peut éga­le­ment uti­li­ser Kile à la place de Tex­ma­ker.
    http://​kile​.sour​ce​forge​.net/

  5. Concer­nant le pro­blème d'espacement après une macro, la tech­nique « offi­cielle » est de dire à TEX de ne pas par­ser le carac­tère sui­vant.
    Ain­si, au lieu de :

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

    Uti­li­ser la nota­tion com­plète de l'appel de fonc­tion :

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

    Je note ça sur­tout pour évi­ter les trolls qui pour­raient vou­loir insi­nuer que latex a besoin d'un package pour gérer les espaces.

    Mer­ci pour la nota­tion avec xspace, elle est moins lourde 🙂

    Et au pas­sage, j'en pro­fite pour lar­ger une de mes macros pré­fé­rées :

    \newcommand{\Figure}[1]{figure~\ref{fig:#1}} % idem pour Table, Equa­tion, 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}

    Per­met­tant de les réfé­ren­cer sim­ple­ment :

    J'en ai trop pris gros, comme mon­tré 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 pos­sible d'utiliser le même label pour la même don­née. Par exemple, la \Figure{EvolTemperature} est une repré­sen­ta­tion gra­phiques des don­nées dans \Table{EvolTemperature}. Lisible et simple, AMHA.

    Pareil, ne pas hési­ter à col­ler des macros pour les noms dif­fi­ciles à retenir/​écrire :

    \renewcommand{\O}[1]{$\mathcal{O}(#1)$} % big O nota­tion
    \newcommand{\puceronLatin}{\emph{Acyrthosiphon pisum}} % nom latin du puce­ron
    \newcommand{\PMDP}{\emph{La petite mai­son dans la prai­rie}} % nom long à écrire
    \newcommand{\RNA}{\gls{RNA}} % short­cut pour le glos­saire

    Et, par exemple ici pour un docu­ment double page, une com­mande per­met­tant de pas­ser à la page de gauche sui­vante, très utile pour for­cer la mise en page.

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

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

    1. Chopopope

      En fait, c'est un fail de copier/​coller la pré­sence macro avec \xspace (qui est au demeu­rant bien plus pra­tique que la ver­sion « offi­cielle », on est d'accord), elle aurait jamais du être pré­sen­tée dans cet article. On va dire que c'est du tea­sing 🙂

      Sinon, pour le reste… chut… Faut pas spoi­ler !! 😉

      Les macros vien­dront en temps vou­lu, pro­mis, et le glos­saire aus­si, mais pas tout de suite, je suis par­ti­sane de la pro­gres­sion douce 🙂

  6. Il est pos­sible de par­ta­ger un docu­ment à la manière d'un google drive ou google doc avec les site Sha­re­La­TeX et Overleaf(anciennement Wri­te­La­TeX). Ce sys­tème est très pra­tique lors de la rédac­tion de rap­ports de pro­jet de groupe ou qu'un direc­teur de thèse /​ maitre de stage (si celui-ci connait un peu le lan­gage) com­mente direc­te­ment sur le docu­ment, ce qui est impos­sible sur un PDF.

Laisser un commentaire