我正在排版一份包含 100 多个章节的文档(别问我,这不是我写的!)。目录看起来很难看,因为章节号和章节标题之间的距离似乎只适用于两位数的章节。一旦我们达到三位数的章节号,数字的最后一位数字就会覆盖章节标题。如何修改它?哪些变量控制章节号的宽度?有什么解决办法吗?
答案1
您可以使用标题目录包(是的配套包titlesec
)。
来自titlesec
/titletoc
手册第 18 页:
[编辑:titlesec
/titletoc
手动的第 17 页:]
\titlecontents{<section>}[<left>]{<above>}
{<before with label>}{<before without label>}
{<filler and page>}[<after>]
[也可以看看 titlesec、titleps 和 titletoc 软件包(2016 年 3 月 21 日)第 14、16 页(提供了类似的\titlecontents
命令选项)。
例子:
\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}
答案2
包装tocstyle
(包含在KOMA 脚本)默认会自动计算目录中章节和其他部分编号所需的缩进。(需要多次运行 LaTeX 才能完成此操作。)
\documentclass{report}
\usepackage{tocstyle}
\usetocstyle{standard}
\begin{document}
\tableofcontents
\setcounter{chapter}{5000}
\chapter{foo}
\end{document}
答案3
如果你对书籍类的正常排版感到满意,那么你可以用“最小的”努力来做:
\usepackage{etoolbox}
\makeatletter
\patchcmd{\l@chapter}{1.5em}{2em}{}{}
\makeatother
你也可以看看回忆录类,对于 100 章以上的项目来说,这是必须考虑的;它有定制书籍各个方面的工具,例如
\setlength{\cftchapternumwidth}{2em}
就足够了。