为什么“章节号”和章节标题之间会出现不需要的垂直空间?

为什么“章节号”和章节标题之间会出现不需要的垂直空间?

在我的文档中,其中一个章节标题超过一行,因此我想增加行间距。为此,我使用了\linespread{1.8}\selectfont下面的代码,但使用后,“ Chapter #”和之间的间距Chapter Heading也会增加。我该如何避免后者不必要的间距?顺便说一句,我宁愿不使用像titlesec或 这样的附加包setspace

\documentclass{book}
\makeatletter
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright \normalfont
    \ifnum \c@secnumdepth >\m@ne
      \if@mainmatter
        \huge\bfseries \@chapapp\space \thechapter
        \par\nobreak
        \vskip 20\p@
      \fi
    \fi
    \interlinepenalty\@M
    \Huge \bfseries \linespread{2}\selectfont #1\par\nobreak
    \vskip 40\p@
  }}
\makeatother
\begin{document}
\chapter{Chapter Heading which is very very very long}
Some text ...
‎\end{document}‎

答案1

不是!在您的代码中,您有一个vskip20\p@,并且它保持不变。(请参见下面的最小值,我将其归零。

\documentclass{book}
\makeatletter
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright \normalfont
    \ifnum \c@secnumdepth >\m@ne
      \if@mainmatter
        \huge\bfseries \@chapapp\space \fbox{\thechapter}
        \par\nobreak
        \vskip 0\p@
      \fi
    \fi
    \interlinepenalty\@M
    \fbox{\parbox{\textwidth}{\Huge \bfseries \linespread{1.2}\selectfont #1\par\nobreak}}
    \vskip 40\p@
  }}
\makeatother
\begin{document}
\chapter{Chapter Heading which is very very Hery long}
Some text ...
‎\end{document}‎

在此处输入图片描述

另外不要忘记使用以下命令修改命令的星号版本\@makeschapterhead

相关内容