减少副标题前后的空间

减少副标题前后的空间

如何减少 \subsection 和其后文本之间的间距,以及 \subsubsection 之间的间距。目前,它上面有 2 行间距,两个标题前后有 3 行间距。我正在使用\documentclass{scrreprt}\usepackage{savetrees}

\subsubsection 中的一些

\documentclass{scrreprt} 
\usepackage{savetrees}
\usepackage{lipsum}

 \begin{document}

 \subsection{Indications}

 \subsubsection{Prices}

 \end{document}

答案1

文档scrreport类定义宏\subsection并通过调用具有以下设置的\subsubsectionLaTeX 内核命令:\@startsection

\newcommand\subsection{%
  \@startsection{subsection}{\subsectionnumdepth}{\z@}%
  {-3.25ex\@plus -1ex \@minus -.2ex}%
  {1.5ex \@plus .2ex}%
  {\ifnum \scr@compatibility>\@nameuse{scr@[email protected]}\relax
    \setlength{\parfillskip}{\z@ plus 1fil}\fi
    \raggedsection\normalfont\sectfont\nobreak\size@subsection
  }%
}
\newcommand\subsubsection{%
  \@startsection{subsubsection}{\subsubsectionnumdepth}{\z@}%
  {-3.25ex\@plus -1ex \@minus -.2ex}%
  {1.5ex \@plus .2ex}%
  {\ifnum \scr@compatibility>\@nameuse{scr@[email protected]}\relax
    \setlength{\parfillskip}{\z@ plus 1fil}\fi
    \raggedsection\normalfont\sectfont\nobreak\size@subsubsection
  }%
}

\@startsection在这两种情况下,第五个参数{1.5ex \@plus .2ex}-- 控制垂直空间量以下节标题。要将此数量减少一半,即,减少到{0.75ex \@plus .1ex},您可以加载etoolbox包并按如下方式使用它的\patchcmd宏(在序言中插入代码):

\usepackage{etoolbox}
\makeatletter
\patchcmd{\subsection}{1.5ex \@plus .2ex}{0.75ex \@plus 0.1ex}{}{}
\patchcmd{\subsubsection}{1.5ex \@plus .2ex}{0.75ex \@plus 0.1ex}{}{}
\makeatother

如果你还需要减少空间多于子节和子节标题,您可以通过使用\patchcmd来改变第四各个\@startsection命令的参数。

最后一点:由于您也在使用该savetrees包,因此您需要使用选项加载该包sections=normal,以使上述代码生效。(如果没有此选项,该savetrees包将调用该titlesec包来修改分段标题周围的间距,导致上述代码不执行任何操作。)

相关内容