更改目录中章节号和章节标题之间的距离

更改目录中章节号和章节标题之间的距离

我正在排版一份包含 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}

就足够了。

答案4

这取决于您正在使用哪个类,并且可以在类源文件(或 LaTeX 的基本源文件)中找到。

不过,你可以使用广泛的托克洛夫特用于设计目录布局的包或标题目录,这是标题安全

相关内容