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 :
premier item ;
le deuxième ;
encore un autre ;
le dernier.
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 :
Premier item ;
Le deuxième ;
Encore un autre ;
Le dernier.
Premier item ;
Le deuxième ;
Encore un autre ;
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 :
Un item qui est constitué d'une phrase ou de plusieurs. Dans ce cas on commence par une majuscule et on termine par un point.
Une autre phrase pour le deuxième item.
Là je ne sais plus quoi dire pour faire une troisième phrase.
Pour la dernière je n'en dirais pas plus.
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 :
premier item du premier niveau un point virgule à la fin ;
le deuxième du premier niveau un point virgule à la fin ;
premier item du deuxième niveau une virgule à la fin,
deuxième item du deuxième niveau une virgule à la fin,
dernier item du deuxième niveau un point virgule à la fin ;
le troisième item du premier niveau un point virgule à la fin ;
le dernier item du premier niveau un point à la fin.
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 N
une liste numéroté avec des nombres 1., 2., 3., …
m
Un liste numéroté avec des nombres en style médiéval
a
Items numérotés avec des lettres a., b., c., …
A
Items numérotés avec des lettres majuscules A., B., C., …
AK
Items numérotés avec des lettres en petites capitales A., B., C., …
r
Items numéroté en chiffres romains minuscules.
R
Items numéroté en chiffres romains majuscules.
KR
Items 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
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.