LaTeX : La Mise En Forme Du Texte Et Des Paragraphes - Bioinfo-fr

Bon main­te­nant qu'on sait com­pi­ler et insé­rer des flot­tants, un truc cri­tique à voir c'est com­ment mettre en forme : mettre en ita­lique, en emphase, en gras, sou­li­gner, faire des listes à puces, insé­rer du code…

Pré­pa­rez-vous, ça risque d'être un peu long :). (Et par un peu long je veux aus­si dire un peu enqui­qui­nant, mais il faut y pas­ser…)

Mise en forme du texte

Faire joujou avec la police

Par défaut, LaTeX met les carac­tères en forme droite en minus­cule. On peut chan­ger cela 🙂

Mise en emphase

La com­mande \emph{texte} per­met de mettre de l'emphase sur le texte entre acco­lades. Dans un contexte « nor­mal » c'est-à-dire droit, le texte sera mis en ita­lique, et dans un contexte ita­lique le texte sera mis en forme droite. C'est très pra­tique pour mettre en évi­dence du mot dans un texte.

Tes­tez 🙂

Italique et soulignage

Pour mettre en ita­lique le texte, rien de plus simple, il suf­fit d'utiliser cette com­mande : \tex­tit{texteàmettreenita­lique}.

Si l'on sou­haite, on peut éga­le­ment uti­li­ser l'environnement itshape de la façon sui­vante :

123 \begin{itshape}\lip­sum[1]\end{itshape}

L'utilisation de l'environnement est assez rare, mais il faut l'avoir vu, ce qui est chose faite 🙂

Il est éga­le­ment pos­sible de sou­li­gner du texte avec LaTeX avec la com­mande \under­line{texteàsou­li­gner} mais je trouve ça très moche et ce n'est pas recom­man­dé de l'utiliser, sauf contraintes excep­tion­nelles.

Petites majuscules

Pour mettre les lettres en petites majus­cules (capi­tales), par exemple pour mettre les noms de famille des auteurs dans votre biblio­gra­phie, vous pou­vez uti­li­ser la com­mande \textsc ain­si :

1 Yann\textsc{Pon­ty}

Pour mettre les chiffres en bas de casse, vous pou­vez uti­li­ser la com­mande \old­sty­le­nums{0123456789}.

Lettres supérieures et inférieures

(C'est-à-dire l'équivalent des expo­sants et des indices en mathé­ma­tiques.) Pour cela on a deux com­mandes très expli­cites : \text­su­per­script{super­script} et \text­sub­script{sub­script}.

Mettre en gras

Pour chan­ger la graisse des carac­tères, il suf­fit d'utiliser la com­mande \textbf{texteàmettreengras}. Il existe éga­le­ment un envi­ron­ne­ment, comme pour la mise en ita­lique qui s'appelle bfse­ries. À vous tes­ter, mais il est encore une fois peu uti­li­sé.

Faire joujou avec la taille

Il est pos­sible de modi­fier la taille du texte :

  • {\tinyplop} : minus­cule
  • {\script­sizeplop} : très très petit
  • {\foot­no­te­sizeplop : très petit
  • {\smallplop} : petit
  • {\nor­mal­sizeplop} : nor­male (taille défi­nie dans le \docu­ment­class)
  • {\largeplop} : légè­re­ment grande
  • {\Largeplop} : grande
  • {\LARGEplop} : très grande
  • {\hugeplop} : énorme
  • {\Hugeplop} : gigan­tesque

Récapitulatif et aspects visuels

Tableau récapitulatif de la mise en forme de texte en LaTeX
Tableau réca­pi­tu­la­tif de la mise en forme de texte en LaTeX

À titre de révi­sion, et parce qu'il y a une com­mande inté­res­sante dedans, je vous four­nis le code source de ce tableau :

123456789101112131415161718192021222324252627282930313233343536373839404142434445 \begin{table}\cen­te­ring\begin{tabu­lar}{|c|c|c|}\hline\mul­ti­co­lumn{2}{|c|}{Com­mande}&\mul­ti­row{2}{*}{Ren­du}\\\cline{1-2}àargu­ment&décla­ra­tive&\\\hline$\backs­lash$emph\{Plop\}&\{$\backs­lash$emPlop\}&\emph{Plop}\\\hline$\backs­lash$tex­tit\{Plop\}&\{$\backs­lash$itPlop\}&\tex­tit{Plop}\\\hline$\backs­lash$under­line\{Plop\}&&\under­line{Plop}\\\hline$\backs­lash$textsc\{Plop\}&\{$\backs­lash$scPlop\}&\textsc{Plop}\\\hline$\backs­lash$text­su­per­script\{Plop\}&&\text­su­per­script{Plop}\\\hline$\backs­lash$text­sub­script\{Plop\}&&\text­sub­script{Plop}\\\hline$\backs­lash$textbf\{Plop\}&\{$\backs­lash$bfPlop\}&\textbf{Plop}\\\hline&\{$\backs­lash$tinyPlop\}&{\tinyPlop}\\\hline&\{$\backs­lash$script­sizePlop\}&{\script­sizePlop}\\\hline&\{$\backs­lash$foot­no­te­sizePlop\}&{\foot­no­te­sizePlop}\\\hline&\{$\backs­lash$smallPlop\}&{\smallPlop}\\\hline&\{$\backs­lash$nor­mal­sizePlop\}&{\nor­mal­sizePlop}\\\hline&\{$\backs­lash$largePlop\}&{\largePlop}\\\hline&\{$\backs­lash$LargePlop\}&{\LargePlop}\\\hline&\{$\backs­lash$LARGEPlop\}&{\LARGEPlop}\\\hline&\{$\backs­lash$hugePlop\}&{\hugePlop}\\\hline&\{$\backs­lash$HugePlop\}&{\HugePlop}\\\hline\end{tabu­lar}\label{tab :plop}\end{table}

Les guillemets

Les guille­mets c'est toute une affaire… Vous avez déjà dû avoir à faire à des trolls qui vous ont dit que vous n'utilisiez pas les guille­mets fran­çais quand vous le devriez etc. Heu­reu­se­ment, vous ne ferez plus l'erreur avec LaTeX !

Pour cela, vous allez devoir ajou­ter un paquet à votre pré­am­bule (avouez que ça vous man­quait…) :

1 \use­pa­ckage[babel=true]{csquotes}

Vous signi­fiez ain­si au paquet csquotes d'utiliser la langue que vous avez pas­sé à babel (soit en para­mètre, soit dans le docu­ment­class, selon votre ver­sion de babel).

Vous pou­vez alors uti­li­ser la com­mande sui­vante :

1 \begin{docu­ment}

Je vais citer une phrase mau­dite : \enquote{J'ai per­du !} qui va auto­ma­ti­que­ment avoir les bons guille­mets !

1 \end{docu­ment}

Alter­na­ti­ve­ment, vous pou­vez uti­li­ser les com­mandes \ogplop\fg{} du paquet babel, je ne vous en tien­drai pas rigueur 🙂

Points de suspension

Pour écrire des points de sus­pen­sion, vous pou­vez soit uti­li­ser le carac­tère idoine …, soit uti­li­ser la com­mande \ldots.

Tirets

Il existe plu­sieurs types de tirets en LaTeX (dont le signe moins en mathé­ma­tiques qu'on ver­ra plus tard) :

  • - : le trait d'union
  • -- : le tiret demi-cadra­tin (uti­li­sé pour mar­quer un inter­valle ou les incises)
  • --- : le tiret cadra­tin (uti­li­sé pour mar­quer l'alternance des per­son­nages dans les dia­logues)
Mise en forme des paragraphes

Comme vous l'avez sûre­ment remar­qué, par défaut, le texte est jus­ti­fié et com­mence par un ali­néa. Pour com­men­cer un nou­vel ali­néa, il suf­fit de pas­ser une ou plu­sieurs lignes vides (LaTeX s'en contre­fiche du nombre, mais vous pas, ça peut vous aider à vous retrou­ver dans votre code source).

Alignement des paragraphes

Si vous sou­hai­tez modi­fier l'alignement de votre texte, c'est-à-dire qu'il ne soit plus jus­ti­fié, LaTeX vous pro­pose trois envi­ron­ne­ments (avec les com­mandes équi­va­lentes) :

Ali­gne­ment des para­graphes en LaTeX
123456789101112131415 \begin{table}\cen­te­ring\begin{tabu­lar}{|c|c|c|}\hlineAli­gne­ment&Envi­ron­ne­ment&Com­mande\\\hlineJus­ti­fiéàgauche&\texttt{flu­sh­left}&\texttt{$\backs­lash$rag­ged­left}\\\hlineJus­ti­fiéàdroite&\texttt{flush­right}&\texttt{$\backs­lash$rag­ge­dright}\\\hlineCen­tré&\texttt{cen­ter}&\texttt{$\backs­lash$cen­te­ring}\\\hline\end{tabu­lar}\label{tab :para­graphes}\end{table}

Paragraphe de résumé (abstract)

Il est clas­sique dans un article (ou un report) de com­men­cer par un résu­mé (un abs­tract dans le jar­gon). Pas de panique ! LaTeX a juste le bon envi­ron­ne­ment pour vous :

123 \begin{abs­tract}Ceciestunabs­tract.Ouiilesttrèscourt.J'avaisgravelaflemme.\end{abs­tract}

Ce qui donne :

Aspect du résumé (qui dépend encore une fois de babel)
Aspect du résu­mé (qui dépend encore une fois de babel)

Le résu­mé prend une page entière et est tra­di­tion­nel­le­ment mis avant le début du texte.

Mise en forme de code

Il existe envi­ron douze mil­liards de façon de mettre en forme du code avec LaTeX, je vais vous pré­sen­ter exclu­si­ve­ment ma pré­fé­rée : min­ted.

Installation de minted

Pour cela il va vous fal­loir Python >= 2.6 parce qu'on a besoin de Pyg­ments. Vous pou­vez ins­tal­ler Pyg­ments de la façon sui­vante :

1 sudo easy_​install Pyg­ments

ou encore

1 pip ins­tall Pyg­ments

Puis uti­li­sez votre ges­tion­naire de paquets pour ins­tal­ler le paquet min­ted.

Préparation de Texmaker à l'utilisation de minted

Alors en fait puisque min­ted cause au monde exté­rieur (à savoir Pyg­ments), il faut pas­ser une option à pdfla­tex pour que ça puisse se faire : l'option -shell-escape.

Pour cela, allez dans Options, Confi­gu­rer Tex­Ma­ker et ajou­ter l'option -shell-escape après la com­mande pdfla­tex.

Bon, faites gaffe à ce que vous faites avec cette option parce que l'option -shell-escape auto­rise LaTeX à exé­cu­ter des com­mandes arbi­traires sur votre machine, du coup faites-le sur des docu­ments en qui vous avez confiance…

Utilisation de minted

C'est très simple d'utiliser min­ted :

1234567 \begin{min­ted}{python}deffah­ren­heit(T_​in_​cel­sius):"""Returnsthetem­pe­ra­tureindegreesFah­ren­heit."""return(T_​in_​cel­sius*9/​5)+32\end{min­ted}

Main­te­nant, com­pi­lez et vous obtien­drez :

Et hop ! De la colo­ra­tion syn­taxique.

Si vous vou­lez insé­rer une seule ligne de code, vous pou­vez uti­li­ser la com­mande sui­vante :

1 \mint{python}|importthis|

Ce qui donne exac­te­ment le même résul­tat qu'avec l'environnement :

Tou­jours de la colo­ra­tion syn­taxique !

Si vous vou­lez inli­ner du code, la com­mande appro­priée est \min­tin­line qui s'utilise de la façon sui­vante :

1 Lala­laj'écrisdutexteetpuispoufjemetsducodepython\min­tin­line{python}{importthis}lala­la.

Ce qui donne :

Du code inli­né \o/​

Et si, comble du luxe, vous vou­lez insé­rer un fichier entier de code (sait-on jamais pour un cor­ri­gé de TD ça peut ser­vir…), vous pou­vez uti­li­ser la com­mande sui­vante :

1 \input­min­ted{python}{exo1.py}

Les styles minted

Il existe une foule de styles min­ted que vous pou­vez uti­li­ser pour colo­rer votre code. Je vous sug­gère de consul­ter http://​pyg​ments​.org/​d​e​mo/ d'y envoyer un bout de code et de tes­ter les dif­fé­rents styles qui vous seront pro­po­sé après avoir cli­qué sur High­light !

Pour voir la liste des styles dis­po­nible (ain­si qu'une brève des­crip­tion), vous pou­vez taper dans votre ter­mi­nal la com­mande sui­vante :

1 pyg­men­tize-Lstyles

Une fois que vous avez trou­vé le style qui vous convient, vous pou­vez le sélec­tion­ner dans le pré­am­bule de la manière sui­vante :

1 \use­min­ted­style[lan­gages]{nom_​du_​style}

Vous pou­vez mettre dans votre pré­am­bule autant de \use­min­ted­style que vous vou­lez pour autant de lan­gage que vous sou­hai­tez.

Vous pou­vez aus­si mettre le style que vous vou­lez en pas­sant cela en option à l'environnement :

1234567 \begin{min­ted}[style=manni]{python}deffah­ren­heit(T_​in_​cel­sius):"""Returnsthetem­pe­ra­tureindegreesFah­ren­heit."""return(T_​in_​cel­sius*9/​5)+32\end{min­ted}

Ce qui donne un style légè­re­ment dif­fé­rent :

Uti­li­sa­tion du thème man­ni alors que le thème vim a été uti­li­sé pour l'ensemble du docu­ment.

Encore un peu de flottants…

min­ted donne accès à l'environnement lis­ting qui mets le code dans un envi­ron­ne­ment flot­tant, ce qui per­met d'avoir une légende (via \cap­tion) et une réfé­rence (via \label), tout comme pour les tables ou les figures.

Voi­ci com­ment pro­cé­der :

1234567891011 \begin{lis­ting}\begin{min­ted}{python}deffah­ren­heit(T_​in_​cel­sius):"""Returnsthetem­pe­ra­tureindegreesFah­ren­heit."""return(T_​in_​cel­sius*9/​5)+32\end{min­ted}\cap­tion{Exempledecodeflot­tant}\label{lst :exemple}\end{lis­ting}

Ce qui donne :

Et tada, un envi­ron­ne­ment flot­tant pour le code !!

Bon, et vous savez ce qui vient :). La com­mande magique pour obte­nir la liste des lis­tings :

1 \lis­to­flis­tings

Ce qui donne :

Hor­reur et dam­na­tion, c'est en anglais, babel nous a tra­his !

Dam­mit.

Heu­reu­se­ment, c'est réglable. Pour cela il va fal­loir bidouiller un peu, et pour faire ça il faut char­ger le paquet min­ted avec une option et cus­to­mi­ser ça comme ça (dans le pré­am­bule) :

12 \use­pa­ckage[new­float]{min­ted}\Setup­Floa­tin­gEn­vi­ron­ment{lis­ting}{listname=ListedesCodes}%

Et après com­pi­la­tion, on obtient :

Ouf, nous voi­là sau­vés 🙂

Pour chan­ger le nom de la légende en « Code » au lieu de « Lis­ting » (parce que je pré­fère et que c'est plus expli­cite), il suf­fit d'utiliser la même méthode :

1 \Setup­Floa­tin­gEn­vi­ron­ment{lis­ting}{name=Code}

Et on obtient après com­pi­la­tion :

Et voi­là, on a cus­to­mi­sé le nom de l'environnement !

Numéroter les lignes

Il est pos­sible de numé­ro­ter les lignes en uti­li­sant l'option line­nos (soyez atten­tif, il y a un truc coolish ^^) :

1234567891011121314151617 \begin{lis­ting}[h]\begin{min­ted}[line­nos]{python}deff(x):returnx**2\end{min­ted}\\begin{min­ted}[line­nos]{ruby}deffuncputs"mes­sage"end\end{min­ted} \begin{min­ted}[line­nos,firstnumber=last]{python}defg(x):return2*x\end{min­ted}\end{lis­ting}

Voyez :

Vous voyez à quel point c'est trop cool LaTeX ?

Des maths dans les commentaires ? Sure why not !

Je sais que j'ai pas encore par­lé de maths en LaTeX, donc reve­nez à cette sous-sec­tion plus tard 🙂 ! L'important c'est que vous ayez une réfé­rence de com­ment faire 🙂 :

123456 \begin{min­ted}[mathes­cape]{python}defsum_​from_​one_​to(n):#Returns$\sum_{i=1}^{n}i$r=range(1,n+1)returnsum(r)\end{min­ted}

Ce qui donne :

Une jolie somme ! \o/​

Bon, je pour­rais conti­nuer long­temps à vous par­ler des trucs coolish que peut faire min­ted, mais l'article est déjà long et il reste d'autres trucs cool à voir, on y revien­dra peut être plus tard !

Mise en forme d'algorithmes

Il existe envi­ron douze mil­liards de façon de for­ma­ter des algo­rithmes avec LaTeX, je vais vous pré­sen­ter mon pré­fé­ré. Pour com­men­cer, allons mettre ce qu'il faut dans le pré­am­bule :

12 \use­pa­ckage[lines­num­be­red,lined,boxed,com­ments­num­be­red]{algorithm2e}\SetAl­go­rithm­Name{Algo­rithme}{Listedesalgo­rithmes}

L'utilisation de base est assez simple, comme vous pou­vez le consta­ter avec cet exemple tiré de la docu­men­ta­tion :

1234567891011121314151617 \begin{algo­rithm}\SetAl­go­Li­ned\KwDa­ta{Cetarticle}\KwRe­sult{Com­mentfairedufor­mat­tagedetexteetdepara­grapheavec\LaTeX}ini­tia­li­sa­tion\;\While{pasàlafindudocu­ment}{lirepara­graphecou­rant\;\eIf{com­prendre}{alleraupara­graphesui­vant\;para­graphecou­rantdevientceluilà\;}{retour­neraudébutdupara­graphe\;}}\cap­tion{Com­mentécrireunalgo­rithme}\label{alg :algo-com­prendre}\end{algo­rithm}

Ce qui donne :

Et un pre­mier algo tout beau tout propre

On peut faire des choses plus com­plexes comme celle-ci :

123456789101112131415161718192021222324252627282930313233343536373839404142 \begin{algo­rithm}\KwDa­ta{Lesdon­nées\\quipeuventêtremisessurplu­sieurslignes…\\\Indpetinden­tées}\KwRe­sult{Mêmechosepourlesrésul­tats}%-%Défini­tiond'unedonnéecus­tom\SetKw­Da­ta{data1}{data1}%-%Défini­tiond'unefonc­tioncus­tom\SetKw­Func­tion{function1}{function1}\tcc{Uncom­men­tairepourdirequ'oncom­mencelecode}\If(\tcc*[h]{unsimpleifmaisavecuncom­men­taire}){ceciestvrai}{onfaitça,sinonrien\;\tcc{Onvaintro­duired'autresifpourmon­trerquec'estpos­sible}\eIf{onestd'accord}{onfaitça\;}{sinon,onfaitdeschosespluscom­pli­quées\;\uIf{cettepre­mièrepro­po­si­tionestvraie}{onfaitça\;}\uEl­seIf{cetteautrepro­po­si­tionestvrai}{onfaitcela\tcc*[r]{elseif}}\Else{}}}\tcc{main­te­nantlesboucles}\For{\for­cond}{unebouclefor\;}\While{i<n}{unebouclewhileconte­nantunrepeat--until\;\Repeat{condi­tiond'arrêt}{fairecettechose\;}}\tcc{etonter­mine}\Return0\end{algo­rithm}

Ce qui donne :

Un bel algo­rithme avec tout plein de key­words

Bon bah je pense que c'est tout pour cette fois, on se retrouve bien­tôt !

Un grand mer­ci à mes relecteur.rice.s : Max, Nisaea, et Pau Ssrls !

Vous avez aimé ? Dites-le nous !

Soumettre

Moyenne : 3.7 /​ 5. Nb de votes : 6

Pas encore de vote pour cet article.

We are sor­ry that this post was not use­ful for you !

Let us improve this post !

Tell us how we can improve this post ?

Submit Feedback

Tag » Alinéa Début Paragraphe Latex