latex-howto-ch3.pdf
TRANSCRIPT
-
VersionPD
Fgratuite
http://www.latex-howto.be/
CHAPITRE 3
Listes
Ce chapitre dcrit comment insrer des listes dlments dans un do-cument. On verra tout dabord les listes puces, numrotes et dedescription. On verra ensuite comment personnaliser les puces ou le stylede la numrotation. On terminera en regardant comment dfinir sespropres listes.
3.1 Insrer une liste
Les listes dlments sont reprsentes par les environnements itemize,enumerate et description. Chaque lment de la liste est ensuite insrgrce la commande \item.
3.1.1 Liste puces
On insre une liste puces avec lenvironnement itemize. On peut changerles puces via loption de la commande \item, ou de manire plus gnraleen redfinissant la commande \labelitemi.
Premier Second- Troisime
Comme vous pouvez le voir sur lexemple, vous pouvez redfinir lacommande \labelitemi localement afin que le changement ne sappliquequ cette liste.
41
-
VersionPD
Fgratuite
http://www.latex-howto.be/
42 CHAPITRE 3. LISTES
Code\begin{itemize }\ renewcommand {\ labelitemi }{$\bullet$}
\item Premier\item Second\item[-] Troisime
\end{itemize}
3.1.2 Liste numrote
On insre une liste numrote avec lenvironnement enumerate. On peutchanger le style de la numrotation des lments de la liste en redfinissantla commande \theenumi et en utilisant le compteur enumi.
a. Premierb. Secondc. Troisime
La numrotation par dfaut utilise les chires arabes. Dans lexempleci-dessusx, on a chang le compteur pour avoir des lettres romainesminuscules (\alph).
Code\begin{enumerate }\ renewcommand {\ theenumi }{\ alph{enumi}}
\item Premier\item Second\item Troisime
\end{enumerate}
3.1.3 Liste de dfinitions
Enfin, on insre une liste de description avec lenvironnement description.Les termes sont indiqus par loption de la commande \item et les dfini-tions suivent.
mtophobie Peur de vomirVillophobie Peur des animaux velusPantophobie
Peur de toutComme vous pouvez le voir sur lexemple, la dfinition se trouve pardfaut sur la mme ligne que le mot dfini. Si vous souhaitez lavoirsur une ligne spare, il sut de commencer la dfinition par \hfill \\comme on la fait pour le troisime mot.
-
VersionPD
Fgratuite
http://www.latex-howto.be/
3.2. STYLE DES LISTES 43
Code\begin{description}
\item[mtophobie] Peur de vomir\item[Villophobie] Peur des animaux velus\item[Pantophobie] \hfill \\ Peur de tout
\end{description}
3.2 Style des listes
Dans cette section, on va voir comment personnaliser dirents aspectsdes listes. On va commencer par sintresser au style des listes numrotes.Ensuite, on verra comment personnaliser laspect des listes (espacement,indentation . . .).
3.2.1 Numrotation
On a dj vu, la section 3.1.2, comment on pouvait modifier le stylede la numrotation en redfinissant la commande \theenumi. Une autrepossibilit consiste utiliser le package enumerate qui ajoute une option lenvironnement enumerate. Cette dernire dcrit la numrotation appliquer, o on utilise les lettres A, a, I, i et 1 pour reprsenter lecompteur dans dirents styles.Art. 1. Il est strictement interdit de fumer.Art. 2. Il est autoris daller une fois aux toilettes.Art. 3. Il est strictement interdit de regarder par la fentre.
Vous remarquerez que pour avoir la lettre A, et pas le compteur en stylelettre romaine majuscule, il a fallu lentourer daccolades.
Code enumerate\begin{enumerate }[\bf{A}rt. 1.]
\item Il est strictement interdit de fumer.\item Il est autoris daller une fois aux toilettes.\item Il est strictement interdit de regarder par la fentre.
\end{enumerate}
On peut obtenir exactement le mme eet en utilisant le package enumitemqui permet galement de faire beaucoup dautres choses comme on leverra dans la suite du chapitre.
-
VersionPD
Fgratuite
http://www.latex-howto.be/
44 CHAPITRE 3. LISTES
Ce dernier ajoute la possibilit de spcifier des options aux environnementsitemize, enumerate et description. Il est incompatible avec le packageenumerate. Les options prennent la forme cl=valeur et, pour modifierla numrotation, il faut utiliser loption label=desc. Notez on utilise lescommandes \Alph* \alph* \Roman* \roman* et \arabic* pour reprsenterle compteur dans dirents styles.
Code enumitem\begin{enumerate }[ label =\bf{A}rt. \arabic *.]
\item Il est strictement interdit de fumer.\item Il est autoris daller une fois aux toilettes.\item Il est strictement interdit de regarder par la fentre.
\end{enumerate}
3.2.2 Espacement
On peut modifier diverses dimensions des listes. On peut modifier les-pacement entre lments dune liste en redfinissant la commande delongueur \itemsep.
Premier
Second
TroisimeOn peut crire \setlength{\itemsep}{5mm} ou utiliser la notation raccour-cie \itemsep=5mm.
Code\begin{itemize }\ setlength {\ itemsep }{3mm}
\item Premier\item Second\item Troisime
\end{itemize}
On peut modifier beaucoup dautres choses en utilisant le packageenumitem. Lexemple suivant montre une liste qui a t modifie grce plusieurs options.
Premier Second Troisime
-
VersionPD
Fgratuite
http://www.latex-howto.be/
3.2. STYLE DES LISTES 45
Loption label permet de changer ltiquette de chaque lment de laliste. Avec itemsep, on change lespacement entre les lments. Ensuite,labelsep permet de changer la distance entre ltiquette et le textedes lments, tandis que font change la police des tiquettes. Enfin,leftmargin spcifie la marge gauche de la liste.
Code enumitem\begin{itemize }[ label=$\triangleright$,itemsep =0pt,
font=\bf\Large ,labelsep =5mm,leftmargin =2cm]\item Premier\item Second\item Troisime
\end{itemize}
Si vous utilisez galement le package [french]{babel}, vous devrez ajouterla commande suivante aprs ajout du package babel pour pouvoir utiliserle package enumitem :
\frenchbsetup{CompactItemize=false}
Notez galement quon peut spcifier des options qui seront appliques toutes les listes en utilisant les commandes \setitemize, \setenumerate,\setdescription et \setlist. Par exemple, pour fixer lespacement entreles lments de toutes les listes dun document cinq millimtres, il sutdajouter :
\setlist{itemsep=5mm}
3.2.3 Liste dans le texte
Parfois, on souhaite insrer une liste numrote, mais qui se trouve dansla continuit du texte. Pour faire cela, on peut utiliser lenvironnementinparaenum disponible dans le package paralist. Voici un exemple dunetelle liste :Pour installer le programme, il faut (a) dsinstaller toute ancienne version,(b) dfragmenter le disque et (c) lancer linstallateur.
Code paralistPour installer le programme , il faut\begin{inparaenum }[(a)]
\item dsinstaller toute ancienne version ,\item dfragmenter le disque et\item lancer linstallateur.
\end{inparaenum}
-
VersionPD
Fgratuite
http://www.latex-howto.be/
46 CHAPITRE 3. LISTES
3.3 Grer la numrotation
Les numros des lments des listes numrotes sont contrls par lecompteur enumi. Vous pouvez changer sa valeur afin de personnaliser lesnumros qui seront achs.
1. Premier2. Second6. Troisime-9. Quatrime-8. Cinquime
Dans lexemple ci-dessus, on a chang deux fois la valeur du compteur.Entre le deuxime et le troisime lment, on a chang la valeur ducompteur en 5, ce qui fait que le troisime lment est numrot 6. Entrele troisime et le quatrime lment, on a chang le compteur en 10.
Code\begin{enumerate}
\item Premier\item Second
\setcounter{enumi }{5}\item Troisime
\setcounter{enumi }{ -10}\item Quatrime\item Cinquime
\end{enumerate}
Le package enumitem propose des options pour modifier facilement lanumrotation. Loption start indique le numro auquel il faut commencerla liste. Loption resume permet de fixer la numrotation de manire cequelle continue celle de lenumerate prcdent.10. Premier11. Second
Bla bla bla
12. Troisime13. Quatrime
Dans cet exemple, on veut commencer la premire liste numrote 10(start=10). Ensuite, on a du texte et la numrotation de la liste suivantedoit tre dans la continuit de la premire liste (resume).
-
VersionPD
Fgratuite
http://www.latex-howto.be/
3.4. DFINIR UNE LISTE 47
Code enumitem\begin{enumerate }[start =10]
\item Premier\item Second
\end{enumerate}
Bla bla bla
\begin{enumerate }[ resume]\item Troisime\item Quatrime
\end{enumerate}
3.4 Dfinir une liste
En plus des environnements itemize, enumerate et description, il existegalement lenvironnement list qui permet dinsrer une liste gnrique.On va notamment lutiliser pour dfinir de nouveaux types de liste.
Premier Deuxime Troisime
Dans lexemple ci-dessus, on a simplement dfini une liste puces dont lespuces sont dfinies par la commande \star (une toile cinq branches).Le premier paramtre de lenvironnement indique ltiquette ajouter chaque lment, et le second paramtre permet de dfinir les espacements appliquer.
Code\begin{list }{$\star$}{}
\item Premier\item Deuxime\item Troisime
\end{list}
Pour dfinir un nouveau type de liste partir de cela, il sut dutiliserla commande \newenvironment. Voici comment on dfinit une nouvelleliste mylist :
\newenvironment{mylist}{\begin{list}{$\star$}{}}{\end{list}}
-
VersionPD
Fgratuite
http://www.latex-howto.be/
48 CHAPITRE 3. LISTES
On peut maintenant crire :
Code\begin{mylist}
\item Premier\item Deuxime\item Troisime
\end{mylist}
On peut galement dfinir des listes numrotes. Pour cela, il faut daborddfinir un nouveau compteur dans le prambule du document avec :
\newcounter{mycounter}
Ensuite, on doit indiquer quon souhaite utiliser ce compteur avec lacommande \usecounter. Enfin, pour faire apparaitre la valeur du comp-teur, on utilise \Alph \alph \Roman \roman ou \arabic en fonction du styledsir. On peut par exemple dfinir :
\ newenvironment{mynumberedlist }{\begin{list }{\ alph{mycounter })}{\ usecounter{mycounter }}
}{\end{list}
}
Vous remarquerez que le compteur utilis doit tre prcis dans le secondparamtre de lenvironnement list. Avec cette nouvelle liste, on peut parexemple obtenir :
a) Premierb) Deuximec) Troisime
Voici le code quon a utilis pour obtenir cette liste :
Code\begin{mynumberedlist}
\item Premier\item Deuxime\item Troisime
\end{mynumberedlist}
On peut galement modifier dirents paramtres despacement. Il y atout dabord les espacements verticaux qui peuvent tre modifis avec
-
VersionPD
Fgratuite
http://www.latex-howto.be/
3.5. MISE EN PAGE AVANCE 49
\parskip, \topsep, \parsep, \itemsep et \partopsep. En ce qui concerneles espacements horizontaux, on peut utiliser \leftmargin, \rightmargin,\labelwidth, \labelsep, \listparindent et \itemindent. Consultez la do-cumentation pour avoir plus dinformations sur ces longueurs.
3.5 Mise en page avance
Dans cette section, on va voir quelques mises en page avances de listes.On verra tout dabord comment imbriquer des listes. Ensuite, on verracomment insrer des listes dexercices.
3.5.1 Liste imbrique
On peut imbriquer des listes les unes dans les autres. On pourrait parexemple insrer une liste de tches pour la semaine :
Lundi Faire les courses Passer la banque
Mercredi Passer la poste
Samedi Chercher carte didentit la commune
Code\renewcommand {\ labelitemi }{$\star$}\renewcommand {\ labelitemii }{$\diamond$}\begin{itemize}
\item Lundi\begin{itemize}
\item Faire les courses\item Passer la banque
\end{itemize}\item Mercredi
\begin{itemize}\item Passer la poste
\end{itemize}\item Samedi
\begin{itemize}\item Chercher carte didentit la commune
\end{itemize}\end{itemize}
-
VersionPD
Fgratuite
http://www.latex-howto.be/
50 CHAPITRE 3. LISTES
Il sagit ici de deux listes puces qui ont t imbriques. Remarquezquon a redfini les tiquettes des lments de la liste de premier niveauen changeant la commande \labelitemi. Pour les lments des listesde second niveau, cest la commande \labelitemii qui contrle leurstiquettes.Les tiquettes des listes puces et celles des listes numrotes sontcontrles par une srie de commandes, correspondant au niveau de laliste :
\labelitemi, \labelitemii, \labelitemiii et \labelitemiv\labelenumi, \labelenumii, \labelenumiii et \labelenumiv
Comme vous pouvez le constater, il nest pas possible davoir un niveaudimbrication suprieur 4 pour les listes. On peut dpasser cette limiteen utilisant lenvironnement outline du package de mme nom. Celui-ci fonctionne comme lenvironnement enumerate et permet un niveaudimbrication de 6.Enfin, la dernire solution consiste utiliser lenvironnement easylistdu package de mme nom. Avec cet environnement, la dfinition duneliste imbrique sera plus claire et on na plus la limite des niveaux.
1. un lment1.1. lment suivant1.2. encore un autre
1.2.1. et un troisime2. on revient au premier niveau
On peut modifier le style grce la commande \ListProperties. Lepackage est trs riche et nous vous conseillons daller lire sa documentationpour en savoir plus.
Code easylist\ ListProperties(Progressive =5mm)\begin{easylist}
un lment lment suivant encore un autre et un troisime on revient au premier niveau
\end{easylist}
-
VersionPD
Fgratuite
http://www.latex-howto.be/
3.5. MISE EN PAGE AVANCE 51
3.5.2 Liste en colonnes
Lenvironnement tabenum du package tablists permet dinsrer des listesdlments courts qui seront prsents en colonnes. Il est par exempleparticulirement adapt pour insrer une liste dexercices comme le montrelexemple suivant :
1) y = x2 + 3 2) y =x 1 3) y = 2x+2
4) y = sin(2x 1) 5) y = x+1xLoption de lenvironnement est identique celle de lenvironnementenumerate une fois le package de mme nom import (voir section 3.2.1).Une ligne vide permet dindiquer quil faut passer la ligne suivante dela liste.
Code tablists\begin{tabenum }[\ bfseries 1)]
\tabenumitem $y = x^2 + 3$\tabenumitem $y = \sqrt{x - 1}$\tabenumitem $y = 2^{x + 2}$
\tabenumitem $y = \sin (2x - 1)$\tabenumitem $y = \frac{x + 1}{x}$
\end{tabenum}
3.5.3 Mise en page des listes de dfinitions
On peut modifier la mise en page des listes de dfinitions en utilisantlenvironnement desclist dfini dans le package de mme nom. Lenviron-nement prend deux paramtres et une option. Les paramtres contiennentdes commandes insrer avant et aprs le mot dfini. Loption de lenvi-ronnement contient un mot qui sera utilis comme rfrence pour eectuerlalignement des dfinitions.
Mot 1 DfinitionMot 2 DfinitionLong mot DfinitionPlus long mot Dfinition
Dans notre cas, on a utilis Long mot pour faire lalignement. Les troispremires dfinitions sont donc alignes. Cependant, la dernire dborde,le mot dfini tant plus long que Long mot.
-
VersionPD
Fgratuite
http://www.latex-howto.be/
52 CHAPITRE 3. LISTES
Code desclist\begin{desclist }{\sf}{\rm\;\ hfill ---}[Long mot]
\item[Mot 1] Dfinition\item[Mot 2] Dfinition\item[Long mot] Dfinition\item[Plus long mot] Dfinition
\end{desclist}