ConTeXt/Numérotation des titres
← Personnaliser les titres : chapitres, sections et en-têtes
• Organisation de la page : marges, géométrie et cadres simples →
Retour à l’accueil ConTeXt
Numérotation des titres
[modifier | modifier le wikicode]Cette page présente la manière dont ConTeXt numérote les chapitres, sections et autres niveaux de titre. Nous verrons comment activer ou désactiver les numéros, choisir un style de numérotation (1, 2, 3 / I, II, III / A, B, C, etc.), gérer la numérotation hiérarchique et comprendre le lien entre titres, sommaire et listes.
Objectifs de cette section
- Comprendre comment ConTeXt gère la numérotation des titres
- Activer ou désactiver la numérotation pour un niveau donné
- Choisir un style de numérotation (arabes, romains, lettres…)
- Adapter la numérotation hiérarchique (1.1, 1.2, etc.)
- Éviter les confusions fréquentes avec
\writetolistet le sommaire
1. Principes généraux
[modifier | modifier le wikicode]Chaque niveau de titre (chapitre, section, sous-section…) dispose d’un compteur que ConTeXt incrémente automatiquement. Le numéro est ensuite transformé par une conversion (arabe, romain, alphabétique, etc.) et inséré dans le titre et, le cas échéant, dans le sommaire.
La commande principale pour agir sur la numérotation d’un niveau est :
\setuphead
[<niveau>]
[options]
où <niveau> peut être par exemple chapter, section,
subsection, etc.
Quand on ne fait rien, ConTeXt utilise une numérotation raisonnable par défaut : chapitres en chiffres arabes, sections numérotées 1.1, 1.2, etc.
Astuce : il est conseillé de regrouper tous les réglages de numérotation
(\setuphead, conversions, options) dans un fichier d’environnement
par projet, afin de garantir une cohérence d’un bout à l’autre du document.
2. Activer ou désactiver la numérotation
[modifier | modifier le wikicode]Pour supprimer la numérotation d’un niveau de titre, on peut écrire :
% Sections non numérotées
\setuphead[section][number=no]
Cela est utile, par exemple, pour :
- des sections d’introduction ou des interludes ;
- des titres de parties qui ne doivent pas compter dans la numérotation courante ;
- des documents où seul le chapitre porte un numéro explicite.
On peut aussi travailler « au cas par cas » avec des commandes comme
\sectionnumbering ou des variantes plus avancées, mais pour un Wikilivre
d’initiation, number=no suffit largement.
3. Style de numérotation : conversions
[modifier | modifier le wikicode]La forme du numéro (1 / I / A / a, etc.) est contrôlée par l’option
conversion :
\setuphead[chapter][conversion=numbers] % 1, 2, 3...
\setuphead[chapter][conversion=Romannumerals] % I, II, III...
\setuphead[chapter][conversion=romannumerals] % i, ii, iii...
\setuphead[chapter][conversion=Characters] % A, B, C...
\setuphead[chapter][conversion=characters] % a, b, c...
Exemple :
\setuphead[chapter][
conversion=Romannumerals, % Chapitre I, II, III...
style=\bfc,
align=middle,
before={\blank[3*big]},
after={\blank[2*medium]},
]
Dans ce cas, les chapitres apparaîtront comme « Chapitre I », « Chapitre II », etc. (si la commande de construction du titre inclut le mot « Chapitre »).
Pour les sections, on conserve souvent les chiffres arabes :
\setuphead[section][conversion=numbers] % 1, 2, 3...
4. Numérotation hiérarchique (1, 1.1, 1.1.1)
[modifier | modifier le wikicode]Par défaut, ConTeXt gère la hiérarchie de numérotation de façon assez naturelle :
\chapter→ 1, 2, 3…\section→ 1.1, 1.2, 1.3…\subsection→ 1.1.1, 1.1.2, etc.
Selon les projets, on peut souhaiter :
- n’afficher que le numéro de section sans le numéro de chapitre ;
- faire commencer la numérotation des sections à chaque nouveau chapitre ;
- ou, au contraire, avoir une numérotation globale sur le document.
Pour des usages avancés, ConTeXt permet de jouer avec les « segments » (voir la documentation officielle), mais pour la plupart des documents, les réglages par défaut suffisent.
Un simple exemple pour une numérotation plus « plate » des sections :
% Sections numérotées indépendamment (1, 2, 3...) sans référence au chapitre
\setuphead[section][sectionsegments=section]
5. Numérotation indépendante et réinitialisation
[modifier | modifier le wikicode]Dans certains cas, on souhaite qu’un niveau suive sa propre numérotation, sans être subordonné à un niveau supérieur.
5.1. Numérotation indépendante d’un niveau
[modifier | modifier le wikicode]\setuphead[subsection][ownnumber=yes]
Avec cette option, les \subsection peuvent utiliser une logique de numérotation
distincte (par exemple, pour un catalogue de fiches ou des annexes).
5.2. Réinitialiser un compteur
[modifier | modifier le wikicode]On peut réinitialiser manuellement un compteur, par exemple au début de chaque partie :
\resetcounter[section]
À manier avec précaution dans un document long, sous peine de rendre la structure difficile à suivre pour le lecteur.
Avertissement : une numérotation incohérente (réinitialisée trop souvent ou de manière arbitraire) rend la lecture et les références internes difficiles. Il est recommandé de stabiliser une convention simple (chapitres 1, 2, 3 ; sections 1.1, 1.2, etc.) et de s’y tenir pour tout le document.
6. Numérotation et sommaire
[modifier | modifier le wikicode]Le sommaire (table des matières) utilise la numérotation définie par les titres eux-mêmes.
Exemple minimal :
\completecontent % insère la table des matières
Les numéros affichés dans le sommaire sont exactement ceux produits par les
\chapter, \section, etc., en fonction des réglages \setuphead.
Si un titre est number=no, il n’apparaît pas numéroté dans le sommaire.
On peut toutefois jouer sur la manière dont les entrées sont affichées via
\setuplist, mais la numérotation de base provient toujours de la structure
du document.
7. Encadré spécial : que fait (et ne fait pas) \writetolist ?
[modifier | modifier le wikicode]Note importante : la commande \writetolist permet d’ajouter
manuellement une entrée dans une liste (sommaire, liste personnalisée, etc.),
mais elle ne modifie pas la numérotation des titres.
ConTeXt ignore tout numéro que l’on tenterait de lui passer par ce biais :
la numérotation réelle des chapitres et sections est toujours calculée à partir
des commandes structurelles (\chapter, \section, etc.).
Autrement dit :
\writetolistn’est pas un substitut à\section;- on ne peut pas créer « artificiellement » un numéro 3.2 ou 4.5 via
\writetolist; - la cohérence de la numérotation repose sur la structure du document, pas sur la liste.
Exemple minimal avec liste personnalisée
[modifier | modifier le wikicode]\definelist[Reprints]
% Commande de formatage de la liste
\def\ReprintsEntry#1#2#3{#2} % #2 = texte de l'entrée
\setuplist[Reprints][
alternative=command,
command=\ReprintsEntry,
]
\starttext
\chapter{Chapitre normal}
Du texte…
% On tente d'ajouter une entrée avec un "numéro" manuel
\writetolist[Reprints]{1.}{Entrée artificielle}
\writetolist[Reprints]{}{Entrée sans numéro}
\blank[big]
\section{Section normale}
Encore du texte…
\blank[big]
\title{Liste Reprints}
\placelist[Reprints]
\stoptext
Ici, le « 1. » fourni à \writetolist n’est qu’une chaîne de caractères
passée à la macro de la liste ; il ne change en rien les compteurs de chapitres
ou de sections.
8. Exemple complet : configuration de numérotation pour un petit livre
[modifier | modifier le wikicode]L’exemple suivant réunit plusieurs éléments vus ci-dessus :
- chapitres en chiffres romains ;
- sections numérotées 1, 2, 3 (sans rappel du numéro de chapitre) ;
- sous-sections non numérotées ;
- sommaire basé sur cette numérotation.
\setuppapersize[A5][A5]
\mainlanguage[fr]
\setupbodyfont[pagella, 11pt]
% Chapitres : I, II, III...
\setuphead[chapter][
conversion=Romannumerals,
style=\bfc,
align=middle,
before={\blank[3*big]},
after={\blank[2*medium]},
page=yes,
]
% Sections : 1, 2, 3... (sans référence au chapitre)
\setuphead[section][
conversion=numbers,
sectionsegments=section,
style=\bf,
before={\blank[big]},
after={\blank[small]},
]
% Sous-sections : non numérotées
\setuphead[subsection][
number=no,
style=\it,
before={\blank[medium]},
after={\blank[small]},
]
\starttext
\completecontent
\chapter{Premier chapitre}
Un peu de texte pour voir la numérotation des chapitres et des sections.
\section{Première section}
Texte de section…
\subsection{Sous-section non numérotée}
Texte de sous-section…
\section{Deuxième section}
Suite du chapitre…
\chapter{Deuxième chapitre}
Autre texte, avec une nouvelle série de sections.
\section{Encore une section}
Texte…
\stoptext
Dans le sommaire, les chapitres apparaîtront en chiffres romains, les sections en 1, 2, 3, et les sous-sections ne seront pas numérotées.