项目和页码之间的目录间距奇数

项目和页码之间的目录间距奇数

我在目录中遇到了一个非常奇怪的间距问题。前 25-30 个条目与相应的页码之间有一个空格。此后,空格消失了!

ToC 异常

参见第 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}

在此处输入图片描述

相关内容