LaTeX : documentation et tutoriels


Créer et personnaliser des listes sous LaTeX

Sommaire :


A) Listes standards 

Préalable : les environnements et commandes citées ci-dessous sont accessibles sous Texmaker via le menu "LaTeX" et via l'auto-complétion.

1. Liste non numérotée

Principe : on utilise l'environnement itemize et on fait précéder chaque élément de la liste par la commande item.
Exemple :

Code de l'exemple :
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\begin{document}
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla
\begin{itemize}
\item premier item;
\item deuxième item;
\item troisième item.
\end{itemize}
Blabla Blabla Blabla Blabla Blabla
\end{document}

Fichier de l'exemple : listes1.tex

Note : le fait d'utiliser l'extension \usepackage[french]{babel} modifie l'aspect des listes par rapport aux normes anglo-saxonnes auxquelles LaTeX se conforme par défaut.
La forme des listes présentées dans les exemples de cette partie serait différente sans cette extension.
Nous verrons plus loin comment personnaliser l'aspect des listes (l'aspect sera alors le même avec ou sans \usepackage[french]{babel}).

2. Liste numérotée

Principe : on utilise l'environnement enumerate et on fait précéder chaque élément de la liste par la commande item.
Exemple :

Code de l'exemple :
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\begin{document}
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla
\begin{enumerate}
\item premier item;
\item deuxième item;
\item troisième item.
\end{enumerate}
Blabla Blabla Blabla Blabla Blabla
\end{document}

Fichier de l'exemple : listes2.tex

3. Listes imbriquées

Il est bien sur possible d'imbriquer des listes (numérotées ou non).
Exemple :

Code de l'exemple :
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\begin{document}
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla
\begin{itemize}
\item premier item;
\item deuxième item;
	\begin{enumerate}
	\item premier sous-item
	\item deuxième sous-item
	\end{enumerate}
\item troisième item.
\end{itemize}
Blabla Blabla Blabla Blabla Blabla
\end{document}

Fichier de l'exemple : listes3.tex


B) Personnalisation des listes 

Préalable : la personnalisation des listes se base sur l'extension enumitem. Il faut donc inclure \usepackage{enumitem} au préambule du document.
De plus, si on utilise l'extension \usepackage[french]{babel}, il faut ajouter juste après (toujours dans le préambule) le code \frenchbsetup{StandardLists=true} afin d'éviter tout conflit entre les deux extensions.

1. Changer les puces (environnement itemize)

Cela peut se faire grâce à l'option label de l'environnement itemize.
Exemple où la puce standard est remplacée par un carré :

Code de l'exemple :
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\frenchbsetup{StandardLists=true} % à inclure si on utilise \usepackage[french]{babel}
\usepackage{enumitem}
\usepackage{amssymb}
\begin{document}
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla
\begin{itemize}[label=$\square$]
\item premier item;
\item deuxième item;
\item troisième item.
\end{itemize}
Blabla Blabla Blabla Blabla Blabla
\end{document}

Fichier de l'exemple : listes4.tex

Note : \usepackage{amssymb} a été ajouté au préambule afin de pouvoir utiliser le symbole \square.

2. Changer les marges (environnement itemize ou enumerate)

Cela peut se faire grâce aux options suivantes (valables pour les environnements itemize et enumerate) :
  • leftmargin : décalage horizontal par rapport au reste du texte.
    leftmargin=* permet d'annuler ce décalage.
  • parsep et itemsep : permettent de régler la marge verticale entre deux items.
  • topsep : marge verticale entre le texte qui précède la liste et le premier élément de la liste.
Exemple avec les marges réduites à 0 : (que l'on peut comparer à l'exemple précédent)

Code de l'exemple :
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\frenchbsetup{StandardLists=true} % à inclure si on utilise \usepackage[french]{babel}
\usepackage{enumitem}
\usepackage{amssymb}
\begin{document}
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla
\begin{itemize}[label=$\square$,leftmargin=* ,parsep=0cm,itemsep=0cm,topsep=0cm]
\item premier item;
\item deuxième item;
\item troisième item.
\end{itemize}
Blabla Blabla Blabla Blabla Blabla
\end{document}

Fichier de l'exemple : listes5.tex

3. Changer la numérotation (environnement enumerate)

Cela peut se faire grâce à l'option label de l'environnement enumerate et à l'utilisation des codes habituels pour représenter les compteurs sous LaTeX.
  • Avec \arabic* les éléments de la liste seront numérotés 1, 2,...
  • Avec \alph* les éléments de la liste seront numérotés a, b,...
  • Avec \Alph* les éléments de la liste seront numérotés A, B,...
  • Avec \roman* les éléments de la liste seront numérotés i, ii,...
  • Avec \Roman* les éléments de la liste seront numérotés II, II,...
On peut bien sur ajouter d'autres caractères (et des instructions LaTeX) dans le label.
Premier exemple avec numérotation de la forme A), B),... :

Code de l'exemple :
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\frenchbsetup{StandardLists=true} % à inclure si on utilise \usepackage[french]{babel}
\usepackage{enumitem}
\begin{document}
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla
\begin{enumerate}[label=\Alph*)]
\item premier item;
\item deuxième item;
\item troisième item.
\end{enumerate}
Blabla Blabla Blabla Blabla Blabla
\end{document}

Fichier de l'exemple : listes6.tex

On peut aussi mixer les types de numérotation quand on imbrique des listes.
Deuxième exemple avec numérotation de la forme A) pour le premier niveau et 1. pour le deuxième niveau :

Code de l'exemple :
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\frenchbsetup{StandardLists=true} % à inclure si on utilise \usepackage[french]{babel}
\usepackage{enumitem}
\begin{document}
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla
\begin{enumerate}[label=\Alph*)]
\item premier item;
\item deuxième item;
\begin{enumerate}[label=\arabic*.]
\item premier sous-item
\item deuxième sous-item
\end{enumerate}
\item troisième item.
\end{enumerate}
Blabla Blabla Blabla Blabla Blabla
\end{document}

Fichier de l'exemple : listes7.tex

4. Numérotation continue sur plusieurs listes (environnement enumerate)

Il est aussi possible de reprendre la numérotation d'une première liste dans une seconde liste plus loin dans le texte avec l'option resume.
Exemple :

Code de l'exemple :
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\frenchbsetup{StandardLists=true} % à inclure si on utilise \usepackage[french]{babel}
\usepackage{enumitem}
\begin{document}
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla
\begin{enumerate}[label=\arabic*)]
\item premier item ;
\item deuxième item;
\item troisième item.
\end{enumerate}
Blabla Blabla Blabla Blabla Blabla
\begin{enumerate}[label=\arabic*),resume]
\item item nouvelle liste
\item item nouvelle liste
\end{enumerate}
\end{document}

Fichier de l'exemple : listes8.tex

Note : l'extension enumitem offre beaucoup d'autres moyens pour personnaliser des listes. Voir la documentation de cette extension pour plus de détails.