如何更改 \paragraph 命令前后的间距?

如何更改 \paragraph 命令前后的间距?

\paragraph{}我尝试在使用以下命令之前控制间距

\setlength{\parskip}{3pt plus 1pt minus 1pt}

但这不会对其产生影响。(它会影响常规段落之间的间距)。

我该如何控制之前的空间\paragraph

答案1

正如 egreg 在他的评论中所述,\paragraph不应该用它来开始一个文本段落,而应该(如果有的话)使用已经在下面的结构级别“段落” subsubsection

如果有subsubsection层次,减少空间是可以的(在某种意义上),但这是一个品味问题。

我使用 来\xpatchcmd替换段落间距

{3.25ex \@plus1ex \@minus.2ex}

经过

{3pt plus 1pt minus 1pt}

看一下截图!

\documentclass{report}
\usepackage{xpatch}


\usepackage{blindtext}



\begin{document}

\noindent Unpatched 

\paragraph{First}

\paragraph{Second}


\blindtext[1]


Now patching it... compare!

\makeatletter
\xpatchcmd{\paragraph}{3.25ex \@plus1ex \@minus.2ex}{3pt plus 1pt minus 1pt}{\typeout{success!}}{\typeout{failure!}}
\makeatother

\paragraph{First}
\paragraph{Second}

\blindtext[1]


\end{document}

在此处输入图片描述

答案2

\paragraph以下是from的代码report.cls

不要忘记使用\renewcommand\makeatletter \makeatother

\makeatletter
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
                                    {3.25ex \@plus1ex \@minus.2ex}%
                                    {-1em}%
                                    {\normalfont\normalsize\bfseries}}

\makeatother

您可以通过改变第二行来控制空间。

相关内容