使用 placeins 来展示子部分

使用 placeins 来展示子部分

我想将文档中的图形放置在某个位置subsections。通常我会float使用来实现这一点[H]。但这意味着图形位于文本中的固定点,有时这看起来不太好。

我已经发现了这个问题:我如何确保图形出现在与其相关的部分中?

我怎样才能告诉 LaTeX 使用subsectionsasfloat barriers而不是sections

答案1

placeins带有选项的包重新section定义了\section。您可能会成功使用\usepackage{placeins}

\makeatletter
\AtBeginDocument{%
  \expandafter\renewcommand\expandafter\subsection\expandafter
    {\expandafter\@fb@secFB\subsection}%
  \newcommand\@fb@secFB{\FloatBarrier
    \gdef\@fb@afterHHook{\@fb@topbarrier \gdef\@fb@afterHHook{}}}%
  \g@addto@macro\@afterheading{\@fb@afterHHook}%
  \gdef\@fb@afterHHook{}%
}
\makeatother

这将执行与section选项相同的操作,但是\subsection不是\section

未经测试。顺便提一下,使用[H]:这是导致浮标放置出现问题的一个必然原因。

答案2

如果\subsection隐式调用\FloatBarrier,那么也\section应该这样做:

\usepackage[section]{placeins}

下面将隐式添加\FloatBarrier\subsection

\makeatletter
\AtBeginDocument{%
  \expandafter\renewcommand\expandafter\subsection\expandafter{%
    \expandafter\@fb@secFB\subsection
  }%
}
\makeatother

相关内容