I'm typesetting a document with more than 100 chapters in it (don't ask, I didn't write it!). The table of contents comes out ugly, because it seems the distance between the chapter number and the chapter title is intended for two-digit chapters only. Once we hit a three digit chapter number, the last digit of the number overwrites the chapter title. How can this be modified? What variables control the width of the chapter number? Any fixes?
4 Answers
The tocstyle package (included in KOMA-script) by default automatically calculates the needed indentation for chapter and other sectioning numbers in the ToC. (It needs several LaTeX runs to do so.)
\documentclass{report}
\usepackage{tocstyle}
\usetocstyle{standard}
\begin{document}
\tableofcontents
\setcounter{chapter}{5000}
\chapter{foo}
\end{document}
- 250,273
You could use the titletoc package (which is a companion for titlesec).
From the titlesec/titletoc manual page 18:
[Edit: titlesec/titletoc manual page 17:]
\titlecontents{<section>}[<left>]{<above>}
{<before with label>}{<before without label>}
{<filler and page>}[<after>]
[See also The titlesec, titleps, and titletoc Packages (2016 Mar 21) pp.14, 16 (which provides a similar \titlecontents command option).]
Example:
\documentclass[a4paper]{book}
\usepackage[english]{babel}
\usepackage{titletoc}
\usepackage{blindtext}
\titlecontents{chapter}[1.5em]{\addvspace{1pc}\bfseries}{\contentslabel{5em}}{}
{\titlerule*[0.3pc]{.}\contentspage}
\begin{document}
\tableofcontents
\blinddocument
\end{document}
- 371
- 12,872
If you are satisfied with the normal typesetting of the book class, you can do with "minimal" effort:
\usepackage{etoolbox}
\makeatletter
\patchcmd{\l@chapter}{1.5em}{2em}{}{}
\makeatother
You may also have a look at the memoir class, which must be considered for a 100+ chapter project; it has tools for customizing every aspect of a book, for example
\setlength{\cftchapternumwidth}{2em}
would suffice.
- 1,121,712
It depends on which class you are using and can be found in the class source file (or in LaTeX's base source files).
However, you could use the extensive tocloft package for designing the layout of the table of contents or titletoc, which is a companion to titlesec.
- 231,401