Rien de plus facile que de faire des listes en LaTeX. Il suffit d’utiliser les environnements suivant :
Un environnement commence par un : \begin{unEnvironement} et se termine par un \end{unEnvironement}
C’est une liste d’item, non numérotés commençant par un tiret (–) (c’est un • en anglais).
Un petit rappel de typographie française : Tu mets une minuscule en début d’alinéa lorsqu’il commence par un tiret, ce qui est le cas des listes non numérotées, le premier niveau se termine par un point-virgule (;), le second niveau par une virgule (,) et le dernier item par un point(.).
\begin{itemize} \item premier élément ; \item deuxième élément ; \item le troisième. \end{itemize}
Tu peux, bien évidemment imbriquer les listes (faire des listes de listes).
\begin{itemize} \item premier élément ; \begin{itemize} \item sous liste 1, \item sous liste 2, \begin{itemize} \item sous sous liste A \item sous sous liste B \end{itemize} \end{itemize} \item deuxième élément. \end{itemize}
C’est une liste d’item numérotés.
Un petit rappel de typographie française : tu mets une majuscule en début d’alinéa lorsqu’il commence par un numéro ou une lettre de classification.
\begin{enumerate} \item Premier élément ; \item Deuxième élément ; \item Le troisième. \end{enumerate}
Tu peux faire des énumérations d’énumérations. Dans ce cas la sous liste est numérotée avec des lettres minuscules, la suivante en chiffres romains en minuscules, ensuite des lettres majuscules.
\begin{enumerate} \item Premier élément; \begin{enumerate} \item Sous liste 1, \item Sous liste 2, \begin{enumerate} \item Sous sous liste 1, \item Sous sous liste 2, \end{enumerate} \end{enumerate} \item Deuxième élément. \end{enumerate}
L’environnement description permet d’associer une définition à un terme.
\begin{description} \item[mot1 :] définition1 ; \item[mot2 :] définition2. \end{description}
Tu peux imbriquer des listes de types différents.
\begin{description} \item[mot 1:] \begin{enumerate} \item Premier élément ; \begin{itemize} \item sous liste 1, \item sous liste 2, \end{itemize} \item Deuxième élément. \end{enumerate} \item[mot 2 :] définition du mot 2. \begin{itemize} \item sous liste 1, \item sous liste 2, \end{itemize} \end{description}
Tu trouves le tiret trop sérieux, et tu veux le remplacer par un coeur. Pas de problème, il y a même plusieurs façon de le faire. Je te conseille toutefois d’utiliser le package enumitem de Javier Bezos, qui possède beaucoup de possibilité et est simple à utiliser. De toute manière je te laisse pas trop de choix car c’est son utilisation que je vais expliquer. N’oublies pas de le charger avec la commande
\usepackage{enumitem}
Conflit entre enumitem et frenchb babel : Chez les anglo-saxons (créateur de LaTeX) les listes ont des puces ronde (•) et chez nous des tirets (–). L’option frenchb du package babel se charge habituellement de la transformation. Le rôle du package enumitem est également de modifier les puces des listes. Deux packages qui font la même chose ne cohabitent par forcement bien. La solution (si tu charges enumitem) est de demander à frenchb de ne pas s’occuper des listes, par la commande
\frenchbsetup{StandardLists=true}
à placer dans l’entête de ton source (avant le \begin{document}).
Alors commençons par remplacer le – par un coeur ($\heartsuit$). La commande \heartsuit qui permet de dessiner un coeur est issu des caractères mathématiques d'où les $ qui l'encadre et qui permettent de passer en mode mathématique. Le package enumitem permet d’ajouter des options à itemize. Comme toutes les options en LATEX elles sont entourées de [ ]. Pour changer la puce on utilise l’option label.
\begin{itemize}[label=$\heartsuit$] \item pomme ; \item radis ; \item choucroute. \end{itemize}
Attention
\begin[label=$\heartsuit$]{itemize}
provoque une erreur de compilation !
Tu utilises les mêmes commandes que pour changer la taille du texte \Huge \huge \LARGE \Large \large \normal \small \footnotesize \scriptsize \tiny. Comme on change l’aspect de la puce on utilise l’option font=
. Le \textbullet dessine le petit rond.
\begin{itemize}[label=\textbullet,font=\Huge] \item pomme ; \item radis ; \item choucroute. \end{itemize}
Une fiche expliquera plus en détail la gestion des couleurs. Il faut juste que tu saches pour l’exemple qui va suivre qu’il te faut charger le package xcolor et que tu attribues une couleur avec la commande \color{nomCouleur} avec nomCouleur = red, blue, green, black, white, cyan, magenta, violet, yellow, . . .
\begin{itemize}[label=\textbullet,font=\color{red}] \item pomme ; \item radis ; \item choucroute. \end{itemize}
Toujours plus fort !
\begin{itemize}[font=\color{magenta} \Large, label=\ding{43}] \item pomme ; \item radis ; \item choucroute. \end{itemize}
Les ciseaux que l'on vient d'écrire avec la commande \ding{43}, font partis d'une font qui s'appelle Zapf dingbats. Pour l'utiliser avec LaTeX, il faut charger le package pifont et appeler le symbole par la commande \ding{numéro}. Le tableau ci-dessous te donne les correspondances. Par exemple \ding{37} dessine un téléphone (%) et \ding{168} un trèfle (¨).
Te voici avec une collection de puces. Il en existe d’autres notament en utilisant le mode mathématique.
Une numérotation avec des lettres se fait avec \alph* (minuscules : a, b, c, . . .) et \Alph* (majuscules : A, B, C, . . .), en chiffres arabe \arabic* (par défaut : 1, 2, 3, . . .) et en chiffres romain \roman* (minuscules : i, ii, iii, iv, . . .) et \Roman* (majuscules : I, II , III, IV, . . .).
\begin{enumerate}%orange[label=\Roman*] \item pomme ; \item radis ; \item choucroute. \end{itemize}
\begin{enumerate}[label=\alph*] \item pomme ; \item radis ; \item choucroute. \end{enumerate}
On peut compliquer en définissant un mot, un compteur et un séparateur.
\begin{enumerate}[label=Exercice \Roman* —] \item pomme ; \item radis ; \begin{enumerate}[label=\alph*)] \item \item rat , \item \item mouton , \item \item araignée , \end{enumerate} \item choucroute. \end{enumerate}
Comme pour itemize tu peux modifier l'apparence de la puce à l'aide de font=.
\begin{enumerate}[label=\arabic* — , font=\color{red}] \item pomme ; \item radis ; \begin{enumerate}[label=\alph*), font=\color%red{blue} \Huge] \item \item rat , \item \item mouton , \item \item araignée , \end{enumerate} \item choucroute. \end{enumerate}
Si tu veux que les changements s’appliquent à toutes tes listes, tu utilises la commande :
\setenumerate[profondeur]{font=mesChangements, label=mesChangements}
L’option profondeur est un nombre correspondant à la sous liste que tu veux modifier : 1 pour la liste principale, 2 pour la première sous liste, 3 pour la liste de liste de liste et ainsi de suite. Comme toutes options tu peux la supprimer :
\setenumerate{font=mesChangements, label=mesChangements}
dans ce cas les modifications s’appliquent à toutes les sous listes. Tu places cette commande dans le préambule de ton source (avant le \begin{document}), pour l’appliquer à tout ton document, où à l’endroit du texte à partir duquel tu veux que la modification s’applique.
\setenumerate[1]{font= \bfseries \color{blue}, label= \Roman*.} \setenumerate[2]{font= \itshape \color{red}, label*= \alph*} \begin{enumerate} \item pomme ; \item radis ; \begin{enumerate} \item chien, \item rat, \item mammouth, \end{enumerate} \item choucroute. \end{enumerate}
La commande 'label* permet de numéroter la sous liste suivante en reprenant la numérotation de la liste mère. Un petit exemple pour comprendre :
\setenumerate{label*=\arabic*.} \begin{enumerate} \item pomme ; \item radis ; \begin{enumerate} \item chien, \begin{enumerate} \item rouge, \item noire, \item gris, \end{enumerate} \item rat, \item mammouth, \end{enumerate} \item choucroute. \end{enumerate}
Tu peux utiliser la commande \fbox{} qui crée un cadre autour d'un texte pour encadrer tes numérotations :
\begin{enumerate}[blue%\fbox{\arabic*}}] \item pomme ; \item radis \item choucroute. \end{enumerate}
Avec le package xcolor, tu peux créer un cadre jaune à bord bleu.
\fcolorbox{couleurCadre}{couleurFond}{texte} \begin{enumerate}[label=\fcolorbox{blue}{yellow}{\arabic*}] \item pomme ; \item radis ; \item choucroute. \end{enumerate}
Imaginons que pour un document tu aies besoin de deux listes :
À la place de taper les options qui vont bien à chaque fois que tu as besoin d'une liste, avec les risques d'erreurs que cela peut entraîner, il est préférable de créer son propre type de liste.
On va commencer par la liste au flèches bleues. On va donc créer une nouvelle liste de type itemize que l'on va appeler fleche (ce nom est libre tu mets ce que tu veux) par la commande
\newlist{fleche}{itemize}{1}
Le 1 indique la profondeur de liste. Pour cette liste on a pas besoin de sous liste d'où le 1. Maintenant on va indiquer le format de cette liste par la commande
\setlist[fleche]{label=\ding{220},font=\color{blue}}
Tu places ces deux commandes dans le préambule de ton source (avant le \begin{document}). Tu fais appel à cette liste de la façon suivante :
\begin{fleche} \item pomme ; \item radis ; \item choucroute. \end{fleche}
Maintenant nous allons voir comment créer notre liste d'exercices. On va donc créer une nouvelle liste de type enumerate que l'on va appeler exo par la commande :
\newlist{exo}{enumerate}{2}
Pour cette liste on a besoin d'une sous liste (question a), question b), . . .) d'où le 2. Maintenant on va indiquer le format de la liste principale par la commande :
\setlist[exo,1]{label=Exercice \arabic* :}
Le 1 après exo indique la profondeur. Pour le format de la sous liste tu tapes :
\setlist[exo,2]{label=question \alph*)}
Le 2 après exo indique la profondeur de la sous liste. Tu places ces trois commandes dans le préambule de ton source (avant le \begin{document}). Tu fais appel à cette liste de la façon suivante :
\begin{exo} \item pomme ; \item radis ; \begin{exo} \item chien, \item rat, \item mammouth, \end{exo} \item choucroute. \end{exo}
L'une des supériorités de LaTeX est la possibilité de créer facilement ses propres commandes. Cette faculté présentent plusieurs avantages. Tout d'abord de séparer la forme et le fond. Une fois que tu as créé l'ensemble de tes commandes, tu peux te concentrer uniquement sur ce que tu écris. Tu n'as plus à te préoccuper de la forme, tes commandes le feront à ta place. L'autre avantages est la facilité avec laquelle tu peux modifier ton document. Finalement une flèche bleue ne te semble plus appropriée pour ta liste, mais un carré rouge te semble plus adapté. Il te suffis de modifier ta commande (une seule ligne) et toutes les listes de ton document sont changées.
Comme tu as pu le remarquer les listes ne sont pas alignées sur le texte, elles sont en léger retrait. La commande leftmargin=* supprime ce retrait, leftmargin=2cm augmente le retrait et leftmargin=-2cm le diminue (la liste se retrouve dans la marge).
Les exemples sont donnés avec itemize mais le résultat est identique avec enumerate, et tu peux utiliser toutes les unités accepté par LaTeX (mm, em, \textwidth. . .).
Lorem ipsum dolor sit amet, consectetuer, \begin{itemize}[label=--,leftmargin=*] \item pomme ; \item radis ; \item choucroute. adipiscing elit. Ut purus elit, vestibulum ut \end{itemize} \begin{itemize}[label=--,leftmargin=2cm] \item pomme ; \item radis ; \item choucroute. \end{itemize}% placerat ac, adipiscing vitae, felis. \begin{itemize}[label=--,leftmargin=-1.5cm] \item pomme ; \item radis ; \item choucroute. \end{itemize}%
La commande itemsep modifie l'espace interligne d'une liste.
Lorem ipsum dolor sit amet, consectetuer, \begin{itemize}[label=--,itemsep=0pt] \item pomme ; \item radis ; \item choucroute. adipiscing elit. Ut purus elit, vestibulum ut \end{itemize} \begin{itemize}[label=--,itemsep=10pt] \item pomme ; \item radis ; \item choucroute. \end{itemize} placerat ac, adipiscing vitae, felis.
start permet de modifier le numéro de début de l'énumération.
\begin{enumerate}[label=\arabic* --,start=5] \item pomme ; \item radis ; \item choucroute \end{enumerate}
Tu peux interrompre la numérotation et de la reprendre un peu plus loin avec l'option resume
\begin{enumerate}[label=\arabic* --] \item pomme ; \item radis ; \item choucroute. \end{enumerate} Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. \begin{enumerate}[label=\arabic* --,resume] \item lapin : \item mammouth ; \item truie. \end{enumerate}
De la même façon tu peux modifier les descriptions. Par exemple en rouge, avec une font sans sériation et en emphase :
\begin{description}[font= \color{red} \sffamily \em] \item[Raoul :] le plus cool ; \item[Robert :] le plus vert ; \item[Raymond :] le plus con. \end{description} \end{verbatim}