如果不大于则浮动,否则可分页

如果不大于则浮动,否则可分页

algpseudocode在我的论文中,我使用和包嵌入了一些伪代码算法algorithm。因此,一个典型的例子如下

\begin{algorithm}
  \caption{My caption}
  \label{alg:MyAlg}

  \begin{algorithmic}[1]
    ...
  \end{algorithmic}
\end{algorithm}

包的浮动行为algorithm对于小型算法非常有用,因为最好在我的算法中没有分页符,而是让算法浮动到下一页并插入那里。

然而,我还有一些较大的算法,这些算法需要我的文档中有多个页面,此时浮动环境显然不再起作用,因为浮动不能跨页面分解。

我已经发现这个问题它提供了一种定义可破坏的、类似算法的环境的方法,效果很好。

但是我想知道是否有办法让决定使用浮动环境还是可破坏环境的过程自动化。我正在考虑这样的逻辑:“如果内容高于当前页面高度的 x%,则使用可破坏环境并插入到源代码中定义的准确位置,但如果内容小于该位置,则使用浮动环境”。

我认为可以通过抓取整个内容、将其放置在一个盒子中、获取盒子的尺寸、然后基于此做出决定(将其高度与之进行比较)来实现这样的事情\textheight

我主要感兴趣的是是否已经存在某种可以解决这个特定问题的包(无需重新发明轮子)。

相关内容