使用宏在节和小节之间插入 \bigskip?

使用宏在节和小节之间插入 \bigskip?

我正在尝试遵循 IoP 指南,但从他们提供的 IoP latex 文件来看,这些指南似乎不符合 IoP 指南。我的几位同事修改了这些文件,使它们符合指南,但需要注意的是,需要将\bigskip{}章节和子章节放在一个紧接另一个的位置。

是否可以使用宏来自动执行此操作,这样我就不需要浏览我的文档并手动插入/记住插入一个了?

我已经在使用这样的宏:

\makeatletter
\g@addto@macro\@floatboxreset\centering
\makeatother

我是否遵循该格式?如何完成?

答案1

您可以尝试以下代码

\makeatletter

\let\iop@section\section
\def\section{\@ifstar\mod@ssection\mod@section}
\def\mod@ssection#1{\iop@section*{#1}\check@subsection}
\def\mod@section{\@dblarg{\mod@s@ction}}
\def\mod@s@ction[#1]#2{%
  \iop@section[#1]{#2}\ignore@par}
\def\ignore@par{\@ifnextchar\par{\afterassignment\ignore@par\let\next}\check@subsection}
\def\check@subsection{\@ifnextchar\subsection\bigskip{}}

\makeatother

但是,当然,你不能\label在后面放命令\section:为此你必须说

\section{A section\label{a-label}}

无论如何,我相信最安全的方法是检查手稿中是否\subsection直接在 后面有命令\section。此外,我认为在章节标题后直接开始小节并不是好的风格。

相关内容