我正在尝试遵循 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
。此外,我认为在章节标题后直接开始小节并不是好的风格。