章节标题和文本/目录之间的距离相同

章节标题和文本/目录之间的距离相同

通过以下示例,我得到了“Contents”和“1 bar 5”以及“foo”和“Lorem”之间的不同垂直距离。如何使 TOC 的第一个条目与“Lorem ipsum”的高度相同,即基线应为下图中的红色规则:

在此处输入图片描述

\documentclass{book}
\begin{document}
\tableofcontents

\chapter*{foo}
Lorem ipsum

\chapter{bar}
Lorem ipsum 

\end{document}

答案1

\l@chapter命令中的命令book.cls排版目录中的章节条目。它在条目前垂直添加 1.0 em。因此,要删除第一个条目前的空格,您可以重新定义该宏或在开始第一章之前添加负垂直跳过,例如

\addtocontents{toc}{\vskip -1.0em}
\tableofcontents
\chapter*{foo}

实际上,宏还包含 1 pt 的胶水。来自book.cls

\newcommand*\l@chapter[2]{%
  \ifnum \c@tocdepth >\m@ne
    \addpenalty{-\@highpenalty}%
    \vskip 1.0em \@plus\p@
    \setlength\@tempdima{1.5em}%
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \bfseries
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
      \penalty\@highpenalty
    \endgroup
  \fi}

相关内容