我在目录中遇到了一个非常奇怪的间距问题。前 25-30 个条目与相应的页码之间有一个空格。此后,空格消失了!
参见第 4.2 节及以后的行。该章中没有间距或\cft
命令。事实上,如果我完全删除第 3 章和第 4 章,间距直到前 25 个条目都是正确的,然后又扭曲了。
我检查了.toc
文件,没有发现任何奇怪的东西。不管怎样,我使用的是memoir
文档类。
你知道为什么会发生这种情况吗?我尝试了各种\cft
命令,但都无济于事。
以下是\cft
我的 TeX 文件中的命令:
\renewcommand{\cftchapterfont}{\normalfont}
\renewcommand{\cftsectionfont}{\itshape}
\renewcommand{\cftchapterpagefont}{\normalfont}
\renewcommand{\cftchapterpresnum}{\bfseries}
\renewcommand{\cftchapterleader}{}
\renewcommand{\cftsectionleader}{}
\renewcommand{\cftchapterafterpnum}{\cftparfillskip}
\renewcommand{\cftsectionafterpnum}{\cftparfillskip}
答案1
间距与目录中的条目数无关,但与页码中的位数有关。
在大多数文档类别中,都有一个固定宽度的框用于显示页码。
看起来您正在使用一个为长度少于 100 页的文章设计的类,因为只要页码超过两位数,它就会填满可用空间。为了测试这一点,您可以人为地将页码重置为,看看当页码超过一千时会发生什么。根据定义,它要么向右延伸(日志中出现过满的 hbox 警告,如果您已将选项应用于该行\setcounter{page}{999}
,则会出现黑色标记),要么将条目文本的末尾叠印在左侧。[draft]
\documentclass
要解决这个问题,最简单的方法可能是使用一个用于修改 toc 格式的包,尽管我也会研究一下文档类本身,并考虑增加格式化页码的字段的容量以允许更多数字。因为在显示的格式中页码不是右对齐的,所以也许只需在页码的开头添加一个固定宽度的空格,并将数字左对齐到该空格就是你想要的——你没有显示任何一位数的页码,所以没有任何线索表明你喜欢什么,除了保证你确实想要一些分离。
答案2
这就是我要做的。正如 Barbara 提到的,它是围绕页码的框。在下面的示例中,我们只需重新定义提供此框的宏,这样该框就消失了(因为在这个应用程序中它没有意义)
\documentclass[a4paper]{memoir}
\renewcommand{\cftchapterfont}{\normalfont}
\renewcommand{\cftsectionfont}{\itshape}
\renewcommand{\cftchapterpagefont}{\normalfont}
\renewcommand{\cftchapterpresnum}{\bfseries}
\renewcommand{\cftchapterleader}{}
\renewcommand{\cftsectionleader}{}
\renewcommand{\cftchapterafterpnum}{\cftparfillskip}
\renewcommand{\cftsectionafterpnum}{\cftparfillskip}
\renewcommand\cftchapterformatpnum[1]{~{\cftchapterpagefont #1}}
\renewcommand\cftsectionformatpnum[1]{~{\cftsectionpagefont #1}}
\begin{document}
\tableofcontents*
\clearforchapter
\setcounter{page}{51}
\chapter{chapter}
\section{section}
\clearforchapter
\setcounter{page}{101}
\chapter{chapter}
\section{section}
\end{document}