latex-howto-ch3.pdf

Upload: titebin

Post on 16-Oct-2015

12 views

Category:

Documents


0 download

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}