在目录中的章节与其第一节之间添加垂直间距

在目录中的章节与其第一节之间添加垂直间距

我在论文中使用大学提供的样式文件,但它们太旧了(eethesis 文档类)。在我的 PDF 输出中,目录中主要标题前后的垂直空间不一致。

我想在章节标题和其第一节之间插入一个垂直空格(参考:相关问题) 但前提是该章节包含任何章节。目前,eethesis.cls 中的定义l@chapter如下

\def\l@chapter#1#2{\pagebreak[3]
\vskip 0.75em plus 1pt   % space above chapter line
{\leftskip 2em\relax \rightskip \@tocrmarg \parfillskip -\rightskip
 \parindent 2em\relax\@afterindenttrue
\interlinepenalty\@M
\leavevmode
\@tempdima 4em\relax       % width of box holding chapter number
\advance\leftskip \@tempdima \hbox{}\hskip -\leftskip
 \uppercase{#1}\nobreak\leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern 
   \@dotsep mu$}\hfill \nobreak \hbox to\@pnumwidth{\hfil\rm #2}\par}
\vskip 0em}  % space below chapter line

@chaptereethe12.sty 中的定义是

\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
    \refstepcounter{chapter}
    \typeout{\@chapapp\space\thechapter.}
    \addcontentsline{toc}{chapter}{\protect
    \numberline{\thechapter}\uppercase{#1}}
  \else\addcontentsline{toc}{chapter}{#1}\fi
\chaptermark{#1}
%   \addtocontents{toc}{\protect\vskip{0.75em plus 1pt}} % Add vertical space line
\if@twocolumn                                 % Tests for two-column mode.
       \@topnewpage[\@makechapterhead{#2}]
 \else \@makechapterhead{\uppercase{#2}}
       \@afterheading                  % Routine called after chapter and
 \fi}                                  % section heading.

取消注释上述定义中的行 - 添加垂直空间行 - 确实会在章节标题和第一节之间添加垂直空间,但它也会增加没有节的章节之间的空间。

为了使所有章节标题前后的间距保持一致,需要做哪些更改?

答案1

这是一个可能的解决方案,使用重新定义 \section 来测试是否必须添加空格(我使用了文件论文集自定义快捷方式.sty在提供的链接中找到);您可以根据需要通过更改标有以下内容的行中的参数\addvspace(我选择10pt的示例)来调整垂直空间% change here

\documentclass[phdthesis]{eethesis}

\makeatletter
\renewcommand\section{\@startsection {section}{1}{\z@}%
  {-3.5ex \@plus -1ex \@minus -.2ex}%
  {2.3ex \@plus.2ex}%
  {\sectiontitlefont%
    \ifnum\value{section}>1 
    \else 
      \addtocontents{toc}{\protect\addvspace{10pt}}% change here
    \fi}}
\makeatother

\title{The Title}
\author{The Author}

\begin{document}

\tableofcontents

\chapter{Test Chapter With Sections}
\section{Test Section One One}
\section{Test Section One Two}
\chapter{Test Chapter Without Sections}
\chapter{Another Test Chapter Without Sections}
\chapter{Another Test Chapter With Sections}
\section{Test Section Three One}
\section{Test Section Three Two}

\end{document}

相关内容