Les listes ou énumérations

Faire des énumérations avec ConTeXt est très simple, il suffit d'utiliser l'environnement itemize et de précéder chaque item de la commande \item comme ceci :
\startitemize
\item le premier item ;
\item le second.
\stopitemize

Avant d'aller plus loin dans la description de l'environnement itemize, il est nécessaire de faire un petit point typographique car d'office ConTeXt fait des listes avec des puces et pas des tirets.

Règle typographique

Alors accroches-toi car en français c'est jamais simple et il y a toujours des exceptions.

Tout d'abord en français les listes sont à tirets (-) et pas à puces (•), les puces (•) c'est pour les anglo-saxons.

En générale les listes sont introduites par une phrase se terminant par un deux-points (:). Un truc du genre

Les département des Hauts de France sont :

ou bien

Voici les ingrédients d'une bonne bière :

Dans ce cas il n'y a pas de majuscule en début d'item. Les items sont séparés par un point virgules (;) et le dernier item se termine toujours par un point.

Un exemple de liste :

Si ta liste est numérotée (avec des chiffres ou des lettres) alors là il faut mettre une majuscule.

Un exemple de liste numérotée :

  1. Premier item ;
  2. Le deuxième ;
  3. Encore un autre ;
  4. Le dernier.
  1. Premier item ;
  2. Le deuxième ;
  3. Encore un autre ;
  4. Le dernier.

Continuons dans les exceptions à la française ou comment faire compliquer quand on peut faire simple. Si la liste est composée de plusieurs phrases alors dans ce cas chaque item débute par une majuscule et se termine par un point.

Un exemple de liste phrase :

Et les listes de listes c'est simple ? Tu rigoles ! Si le premier niveau se termine par un point virgule les autres niveaux se terminent par une virgule et leur derniers termes par un point virgule. Tu suis ? Avec un exemple ce sera plus clair :

Bon revenons à ConTeXt. Puisque l'on vient d'évoquer les listes imbriquées voici comment les réaliser sous ConTeXt, dans l'exemple ci-dessous j'ai mis 8 niveaux :

\startitemize
\item le premier item du premier niveau ; ;
\item le deuxième du premier niveau ;
\startitemize
\item le premier item du deuxième niveau ;
\startitemize
\item le premier item du troisièmes niveau;
\item le deuxième du troisième niveau ;
\item le troisième du troisième niveau.
\stopitemize
\item le deuxième du deuxième niveau ;
\item le troisième du deuxième niveau.
\stopitemize
\item le troisième du premier niveau.
\stopitemize

Tu peux imbriquer autant de listes que tu veux. Comme tu peux le voir ConTeXt change automatiquement de puces à chaque niveau. On verra ci-dessous comment modifier cela.

Revenons à la francisation. Comment avoir des tirets et pas des puces comme dans le premier exemple ? Contrairement à LATeX avec le package Babel et l'option FrenchB la francisation des listes n'est pas automatique.

Les options de itemize

Il y a bien évidemment plusieurs options pour modifier l'apparence des listes. Tu a deux possibilité pour appliquer ces options, soit à la suite de \startitemize se qui n'affectera que cette liste, soit avec \setupitemize placé dans l'entête de ton document pour affecter toutes les listes.

La première chose que l'on va modifier c'est bien entendu les puces. De base il y a 8 puces différentes notées de 1 à 8. Le 1 est bien sûre la puce par défaut le • et le 2 notre fameux - français.

\startitemize[2]
\item le premier item ;
\item le deuxième ;
\item le troisième.
\stopitemize

Les valeurs suivantes (de 3 à 8) donnent respectivement :

Pour les listes imbriquées si tu veux la même puce à chaque niveau il te suffit de mettre dans l'entête de ton document un :

\setupitemize[2]

Ou bien de préciser à chaque niveau quelle puce tu souhaite :

\startitemize[2]
\item le premier item du premier niveau ; ;
\item le deuxième du premier niveau ;
\startitemize[2]
\item le premier item du deuxième niveau ;
\startitemize[2]
\item le premier item du troisièmes niveau;
\item le deuxième du troisième niveau ;
\item le troisième du troisième niveau.
\stopitemize
\item le deuxième du deuxième niveau ;
\item le troisième du deuxième niveau.
\stopitemize
\item le troisième du premier niveau.
\stopitemize

Si tu veux des listes numérotées au lieu des puces tu as les options suivantes :

n ou Nune liste numéroté avec des nombres 1., 2., 3., …
mUn liste numéroté avec des nombres en style médiéval
aItems numérotés avec des lettres a., b., c., …
AItems numérotés avec des lettres majuscules A., B., C., …
AKItems numérotés avec des lettres en petites capitales A., B., C., …
rItems numéroté en chiffres romains minuscules.
RItems numéroté en chiffres romains majuscules.
KRItems numéroté en chiffres romains en petites capitales.

Voici trois exemples avec les valeur n, m et R :

\startitemize[n]
\item le premier item ;
\item le deuxième ;
\item le troisième.
\stopitemize

Les listes en typographie française sont plus compactes qu'en anglais. Il nous faut pour cela utiliser une autre série d'options que l'on ajoute (ou pas) aux précédentes en les séparant par des virgules.

Pour compacter la liste il faut utiliser packed :

\startitemize[n,packed]
\item le premier item ;
\item le deuxième ;
\item le troisième.
\stopitemize

Les autres options sont :

continue

Qui permet de reprendre la numérotation de la liste précédente :

\starttext
\startitemize[n,packed]
\item le premier item ;
\item le deuxième ;
\item le troisième.
\stopitemize
Du texte pour séparer les deux listes.
\startitemize[n,packed,continue]
\item le premier item ;
\item le deuxième ;
\item le troisième.
\stopitemize
\stoptext

reverse

Pour numéroter en ordre décroissant :

\startitemize[n,packed,reverse]
\item le premier item ;
\item le deuxième ;
\item le troisième.
\stopitemize

inmargin

Pour placer les puces ou les numéros dans la marge :

\starttext
Un peu de texte pour visualiser comment les listes s'intègrent au texte. Voici une liste :
\startitemize[n,packed,inmargin]
\item le premier item ;
\item le deuxième ;
\item le troisième.
\stopitemize
Encore du texte pour visualiser comment les listes s'intègrent au texte.
\stoptext

text

Pour intégrer ta liste dans ton texte :

\starttext
Un peu de texte pour visualiser comment les listes s'intègrent au texte. Voici une liste :
\startitemize[n,packed,text]
\item le premier item ;
\item le deuxième ;
\item le troisième.
\stopitemize
Encore du texte pour visualiser comment les listes s'intègrent au texte.
\stoptext

Attention ne mets pas de ligne blanche entre ton texte et \startitemize car tu retrouveras ce saut dans ton texte.

fit

Permet de supprimer l'espace entre la puce ou le numéro et le texte de l'item :

\startitemize[fit]
\item le premier item ;
\item le deuxième ;
\item le troisième.
\stopitemize

Il n'y a pas qu' \item dans la vie

Il existe d'autre commande pour introduire les items.

\sym {}

Permet de modifier une puce en la remplaçant par un caractère ou un groupe de caractères.

\startitemize
\item le premier item ;
\sym {?} le deuxième ;
\item le troisième.
\stopitemize

\mar {}

Permet de mettre une remarque dans la marge au niveau d'un item.

\startitemize
\item le premier item ;
\mar {Raoul} le deuxième ;
\item le troisième.
\stopitemize

Par défaut la police utilisée par \mar est la typewriter. Si tu veux la modifier tu fais par exemple pour la mettre en italique :

\startitemize[marstyle=italic]
\item le premier item ;
\mar {Raoul} le deuxième ;
\item le troisième.
\stopitemize

\sub

Pour créer des sous-item en ajoutant un + dans la marge

\startitemize[n]
\item le premier item ;
\sub un sous item du premier item ;
\sub un sous item du premier item ;
\item le deuxième ;
\item le troisième.
\stopitemize

\its et \ran

Pour faire des questionnaires. Je me contente de remettre l'exemple du manuel.

\startitemize
[5, % les puces en forme de petits cercles
packed] % pas de blanc entre les items
[width=6em, % la taille de l'espace nécessaire pour placer le petits cercles
distance=2em, % la distance entre le derniers cercle et l'item
items=4] % le nombre de cercles
\ran {yes \hss no } % \hss crée un espace
\its I think Lord Peter Wimsey is the bee's knees.
\its I think Bunter is the caterpillar's waistcoat.
\stopitemize

\head

Pour donner un titre à ta liste.

Attention il faut obligatoirement sauter une ligne ou mettre un \par sous peine d'erreur de compilation entre le \head et le \startitemize qui suis.

\startitemize[3,packed]
\head La meilleure fricadelle

\startitemize[n]
\item Chez Robert
\item La friterie Sensas
\item Ginette la reine de la fricadelle
\stopitemize
\head La meilleure sauce blanche \par
\startitemize[n]
\item Ginette la reine de la fricadelle
\item Chez Robert
\item La friterie Sensas
\stopitemize
\stopitemize

Tu peux modifier le style du titre avec headstyle= avec comme valeur bold pour du gras, italic pour de l'italique et slanded pour une écriture penchée.

Je n'ai pas pu écrire \startitemize[3,packed,headstyle=bold ] car la puce 3 n'est pas prise en compte, il me faut utiliser \setupitemize

\setupitemize[3]
\startitemize[packed,headstyle=bold ]
\head La meilleure fricadelle

\startitemize[n]
\item Chez Robert
\item La friterie Sensas
\item Ginette la reine de la fricadelle
\stopitemize
\head La meilleure sauce blanche \par
\startitemize[n]
\item Ginette la reine de la fricadelle
\item Chez Robert
\item La friterie Sensas
\stopitemize
\stopitemize

Tu peux ajouter du texte entre te titre et la liste :

\setupitemize[3]
\startitemize[packed,headstyle=bold ]
\head La meilleure fricadelle

Comme le dit si bien Dany Boon \quote{la fricandelle, tout le monde sait ce qu'il a dedans mais personne ne le dit !}.
\startitemize[n]
\item Chez Robert
\item La friterie Sensas
\item Ginette la reine de la fricadelle
\stopitemize
\head La meilleure sauce blanche \par
\startitemize[n]
\item Ginette la reine de la fricadelle
\item Chez Robert
\item La friterie Sensas
\stopitemize
\stopitemize

Fleuron

On a fait le tour des modifications de base. On peut aller plus loin dans la configuration des listes, mais dans ce cas tu te rends à cette page.