小节末尾处有新页面(不是开始!)

小节末尾处有新页面(不是开始!)

为了使文档中的所有内容保持整洁(特别是关于到处浮动的浮动元素),我希望每个子部分都以 \clearpage 结尾。我最初对子部分命令进行了以下重新定义:

\let\oldsubsection\subsection

\renewcommand{\subsection}{
\clearpage
\oldsubsection
}

但是,这会将分页符放在小节标题之前,这意味着节标题和第一个小节标题之间存在分隔符。

有什么方法可以强制在结尾该小节的?

答案1

\clearpage仅当子部分计数器不为零时,您才可以发出。但首先检查\FloatBarrierplaceins包中获取是否是更好的选择。

答案2

我想您可能不会自动将其放在\clearpage小节末尾,因为您不使用任何类似\endsubsection命令的东西。但您可以尝试重新定义\section命令,以标记节标题后的位置并避免在该节的第一个小节的开头中断,然后重新定义subsection以取消标记。例如,

\let\oldsection\section
\let\oldsubsection\subsection

\def\section{\let\subsectionclearpage\empty\oldsection}

\def\subsection{\subsectionclearpage\let\subsectionclearpage\clearpage\oldsubsection}

您可能还想在定义\clearpage之前添加或采用匹配和命令的方式。\let\section\sectionclearpage\section\chapter

另外,请注意,这种方式\subsection以前\section是行不通的。如果你想这样做,你必须添加

\let\subsectionclearpage\empty

或者

\let\subsectionclearpage\clearpage

进入序言。

相关内容