Il peut être parfois utile d'ajouter des chapitres ou sections non numérotées dans un document : par exemple, une préface, des remerciements, un résumé. Là, l'apparition des titres de ces éléments peut se révéler importante.
Dans ce cadre, les solutions passant par l'utilisation des commandes de sectionnement étoilées comme ''\section*'' peuvent être approximatives car, si la suppression de la numérotation se fait bien, l'ajout en table des matières peut poser difficulté. Voir sur ce point la question « [[3_composition/annexes/tables/ajouter_une_entree_a_une_table_des_matieres|Comment ajouter une entrée dans la table des matières ?]] ». Les méthodes ci-dessous évitent ces approximations.
La façon dont fonctionnent les commandes de sectionnement permet d'y voir plus clair. Voici comment la commande ''\chapter'' procède par le biais du compteur ''secnumdepth'' (décrit dans l'annexe C du //[[1_generalites/documentation/livres/documents_sur_latex|LaTeX - A Document Preparation System]]//) :
- mettre quelque chose dans le fichier ''aux'', qui apparaîtra dans la ''toc'' ;
- si le compteur ''secnumdepth'' est supérieur ou égal à zéro, augmenter le compteur du chapitre et l'écrire ;
- écrire le titre du chapitre.
Les autres commandes de sectionnement sont similaires, mais avec d'autres valeurs utilisées dans le test.
Ainsi, un moyen simple d'obtenir dans la table des matières des titres de sectionnement non numérotés consiste à utiliser le compteur :
<code latex>
\setcounter{secnumdepth}{-1}
\chapter{Préface}
</code>
Malheureusement, vous devez remettre ''secnumdepth'' à sa valeur habituelle (qui est 2 dans les styles standard) avant de faire un titre de sectionnement que vous souhaitez numéroter.
La valeur du compteur ''tocdepth'' contrôle quels en-têtes seront finalement imprimés dans la table des matières. Il est normalement défini dans le préambule et devrait être une constante du document. L'extension [[ctanpkg>tocvsec2]] vous évite d'avoir à changer les valeurs du compteur ''secnumdepth'' et/ou ''tocdepth'' à n'importe quel point du corps du document : les commandes ''\setsecnumdepth'' et ''\settocdepth'' effectuent les changements en fonction du //nom// de l'unité de sectionnement (''chapitre'', ''section'', etc.).