Créer une liste personnalisée avec LaTeX

L’objectif

Si vous êtes amené à créer des quiz ou des exercices pour vos élèves ou étudiants, peut-être aimeriez-vous utiliser une liste numérotée automatiquement qui soit personnalisée. Pour cela, je vous propose de créer une nouvelle commande qui va afficher le numéro en blanc de la question dans une boîte grise.

Créer une nouvelle commande

Pour créer notre numérotation automatique et personnalisée, nous allons créer une nouvelle couleur, un nouveau compteur et une nouvelle commande. Voici la syntaxe complète à placer dans le préambule bien sûr :

% Création d'une couleur gris foncé
\usepackage{color}
\definecolor{grisfonce}{gray}{0.5}

% Nouvelle commande de numérotation
\newcounter{numQuestion}
\setcounter{numQuestion}{0}

% Nouvelle commande pour les boîtes numérotées
\newcommand{\boiteNum}{%
	\stepcounter{numQuestion}%
	\colorbox{grisfonce}{%
		{\sffamily\bfseries\textcolor{white}{\thenumQuestion}}%
	}%
	\hspace{1em}%
	\vspace{1em}%
}

Vous notez que le code de la nouvelle commande est indenté et sur plusieurs lignes, afin de clarifier sa lecture. C’est pour éviter tout problème de retour à la ligne, donc de création de paragraphes indésirables que chaque ligne se termine par un %. Ainsi mis en commentaire, chaque retour à la ligne est ignoré.

Analyse du code

La nouvelle couleur

Pour la boîte qui inclue la numérotation, nous utilisons le package color, \usepackage{color}, et nous créons une couleur gris foncé : \definecolor{grisfonce}{gray}{0.5}.

Le nouveau compteur

Pour avoir une numérotation automatique, il faut commencer par créer un nouveau compteur avec la commande \newcounter{…}. Le compteur est nommé numQuestion. Ensuite, la commande \setcounter{numQuestion}{0} permet d’initialiser le compteur créé avec la valeur 0, afin que la numérotation automatique commence à 1.

La nouvelle commande

La nouvelle commande personnalisée est nommée boiteNum : \newcommand{\boiteNum}{…}.

La numérotation automatique utilise le compteur numQuestion qui est incrémenté de 1 par défaut : \stepcounter{numQuestion}.

Ensuite, nous créons une boîte qui utilise la couleur précédemment définie : \colorbox{grisfonce}{...}.

Dans cette boîte, le texte est mis en forme avec la police sans-sérif, \sffamily, en gras, \bfseries et en blanc, \textcolor{white}. Le texte affiché dans cette boîte est le compteur nommé numQuestion : {\thenumQuestion}. Le nom du compteur est précédé de la commande the qui permet justement l’affichage d’une valeur dans un document LaTeX.

Enfin, nous terminons la mise en forme par un espace horizontal de 1 em (\hspace{1em}) entre la boîte du numéro et la question qui suivra. Puis, nous insérons un espace vertical de 1 em (\vspace{1em}) entre chaque question afin de mieux les espacer.

Utiliser la nouvelle commande dans le document

Maintenant que tous les nouveaux éléments sont créés, il suffit d’utiliser la nouvelle commande dans le document. À l’endroit souhaité, saisissez la nouvelle commande \boiteNum suivie par le libellé de la question : \boiteNum Bibendum fringilla mollis fusce ornare ?. Et faites de même dès que vous avez besoin d’une question avec cette numérotation personnalisée.