Aller au contenu

ConTeXt/Table des matières avancée

Un livre de Wikilivres.

ConTeXt — Chapitre 11 : Structuration d’un livre
Frontmatter, bodymatter, backmatterTable des matières avancée


Navigation


Table des matières avancée

La table des matières (ToC) est un élément structurant essentiel pour tout document long. ConTeXt permet non seulement de générer automatiquement une table des matières classique, mais aussi de la personnaliser en profondeur : niveaux inclus, style, indentation, exclusions, versions abrégées ou thématiques. Cette page présente les commandes avancées pour contrôler, adapter et styliser la table des matières dans un document ConTeXt.


Objectifs de cette page

  • Comprendre et configurer les niveaux de la table des matières.
  • Inclure ou exclure des titres selon leur type (préface, appendices, chapitres...).
  • Adapter l’apparence : style, indentation, points de suite, numéros.
  • Créer des tables des matières partielles ou thématiques.
  • Intégrer la ToC dans un document structuré (frontmatter / bodymatter / backmatter).
  • Utiliser des commandes avancées pour personnaliser la ToC.

1. Rappel : table des matières simple

[modifier | modifier le wikicode]

La commande la plus courante pour produire la table des matières est :

\completecontent

Elle affiche :

  • toutes les parties, chapitres, sections (selon réglages),
  • avec numéros de page,
  • dans l’ordre du document.

Cette commande se place généralement dans le frontmatter.


2. Contrôler les niveaux inclus dans la ToC

[modifier | modifier le wikicode]

Par défaut, ConTeXt inclut les éléments standard. Pour restreindre la profondeur :

\setupcombinedlist
  [content]
  [list={chapter,section,subsection}]

Pour n’afficher que les chapitres :

\setupcombinedlist
  [content]
  [list={chapter}]

Pour inclure les sous-sous-sections :

\setuplist[subsubsection][alternative=d, width=3em]

3. Exclure certains éléments de la table des matières

[modifier | modifier le wikicode]

ConTeXt permet d’empêcher un titre d’apparaître dans la ToC :

\startchapter[title={Préface}, list=no]
...
\stopchapter

Ou pour une section :

\section[list=no]{Note technique}

Ceci est pratique pour les avant-propos, avertissements, notes internes, etc.

A contrario, forcer l’ajout manuel dans la ToC :

\writetolist[chapter]{Titre ajouté manuellement}

4. Personnaliser l’apparence de la table des matières

[modifier | modifier le wikicode]

4.1 Style typographique

[modifier | modifier le wikicode]
\setuplist[chapter][style={\bf}]
\setuplist[section][style={\it}]

4.2 Points de suite

[modifier | modifier le wikicode]
\setuplist[chapter][distance=1em,alternative=c]

4.3 Indentation des niveaux

[modifier | modifier le wikicode]
\setuplist[section][margin=2em]
\setuplist[subsection][margin=4em]

4.4 Numérotation

[modifier | modifier le wikicode]

Supprimer les numéros :

\setuplist[chapter][number=no]

Inclure des numéros romains pour les parties :

\setuphead[part][numberconversion=romannumerals]

5. Tables des matières partielles ou thématiques

[modifier | modifier le wikicode]

Il est possible de produire une ToC limitée à certains éléments.

ToC des seules sections :

\placelist[section]

ToC des parties :

\placelist[part]

ToC personnalisée :

\placelist
  [chapter]
  [criterium=all]

Cela peut servir pour :

  • mini-sommaire en début de chapitre ;
  • plan partiel d’une partie du document ;
  • sommaire méthodologique.

Astuce
On peut créer une table des matières en marge à l’aide des fonctionnalités d’encadrement ou de colonnes, pour un document pédagogique ou une mise en page sophistiquée (voir le module columns).


6. Tables des matières et frontmatter / bodymatter / backmatter

[modifier | modifier le wikicode]

Dans un livre structuré, on placera la ToC dans le frontmatter :

\startfrontmatter
  \completecontent
\stopfrontmatter

La ToC peut :

  • inclure ou exclure les éléments du frontmatter (préface...) ;
  • inclure les annexes du backmatter si désiré ;
  • contrôler la numérotation des pages : romain pour frontmatter, arabe pour bodymatter.

On peut forcer l’inclusion d’un élément en frontmatter :

\setuphead[chapter][page=no]

7. Techniques avancées : modifier la commande \completecontent

[modifier | modifier le wikicode]

Vous pouvez redéfinir le rendu :

\definecombinedlist
  [mycontent]
  [chapter,section]
\setupcombinedlist
  [mycontent]
  [alternative=c, level=2]

\placemycontent

Cela permet de créer :

  • des ToC abrégées ;
  • des ToC thématiques ;
  • des ToC insérées à des endroits spécifiques du document.

8. MWE complet : table des matières avancée

[modifier | modifier le wikicode]

Voici un document complet illustrant les techniques essentielles :

\setuppapersize[A4]
\mainlanguage[fr]

\starttext

\startfrontmatter
  \title{Mon ouvrage}

  \startchapter[title={Préface}, list=no]
    Ceci est la préface (non incluse dans la ToC).
  \stopchapter

  \completecontent
\stopfrontmatter

\startbodymatter
  \startchapter[title={Chapitre 1}]
    Premier chapitre.
  \stopchapter

  \startchapter[title={Chapitre 2}]
    Deuxième chapitre.
    \section{Une section}
    \subsection{Une sous-section}
  \stopchapter
\stopbodymatter

\startbackmatter
  \startchapter[title={Annexes}]
    Informations complémentaires.
  \stopchapter
\stopbackmatter

\stoptext

Ce MWE permet d’expérimenter directement les options de la ToC.


Avertissement
Si votre table des matières n’est pas à jour, c’est souvent qu’une recompilation est nécessaire. ConTeXt ne met pas toujours immédiatement à jour les numéros de page après modification de la structure.


ConTeXt — Chapitre 11 : Structuration d’un livre
Frontmatter, bodymatter, backmatterTable des matières avancée

Navigation