我正在寻找类似的命令:
\alwaysFloatBarrier
这样,每当我写一个正常的章节或小节或小子节时:
\section{Example 1}
\subsection{Example 2}
\subsubsection{Example 3}
它们会自动转换为:
\FloatBarrier
\section{Example 1}
\FloatBarrier
\FloatBarrier
\subsection{Example 2}
\FloatBarrier
\FloatBarrier
\subsubsection{Example 3}
\FloatBarrier
答案1
您可以通过加载placeins
包(用于\FloatBarrier
宏)以及etoolbox
包(用于\pretocmd
宏)并发出指令来实现您的目标
\pretocmd{\section}{\FloatBarrier}{}{}
\pretocmd{\subsection}{\FloatBarrier}{}{}
\pretocmd{\subsubsection}{\FloatBarrier}{}{}
在序言中。如果你需要以宏形式实现,你可以这样写
\newcommand\alwaysFloatBarrier{%
\pretocmd{\section}{\FloatBarrier}{}{}%
\pretocmd{\subsection}{\FloatBarrier}{}{}%
\pretocmd{\subsubsection}{\FloatBarrier}{}{}%
}
然后发出指令\alwaysFloatBarrier
。
答案2
你没有说,但我认为你的意思是来自placeins
包的命令,在这种情况下,\usepackage[section]{placeins}
它会满足你的需要。
lat 会按照标题的要求对章节执行操作,但不会自动对小节执行相同的操作,但在较低顺序的标题处强制分页通常是不可取的。