我希望浮动块位于algorithm2e
页面顶部而不是中间。这是我的示例代码此 Tex SX 链接的帮助:
\documentclass{article}
\usepackage{lipsum,mathtools}
\usepackage[noend,ruled,lined]{algorithm2e}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{float}
\makeatletter
\setlength{\@fptop}{0pt}
\setlength{\@fpbot}{0pt plus 1fil}
\makeatother
\setlength{\intextsep}{13pt}
\newenvironment{SpacingAlgorithm}[2]{
\begin{algorithm}[ht]
\caption{#1}\label{alg:#2}
}
{
\end{algorithm}
}
\begin{document}
\lipsum[1]
\begin{SpacingAlgorithm}{1}{1}
\If{$1<2$}{
test
}
\end{SpacingAlgorithm}
\lipsum[1]\par
\lipsum[1]\par
\begin{itemize}
\item test
\end{itemize}
% \clearpage
\begin{SpacingAlgorithm}{2}{2}
\If{$1<2$}{
test
}
\end{SpacingAlgorithm}
\begin{SpacingAlgorithm}{3}{3}
\If{$1<2$}{
test
}
\end{SpacingAlgorithm}
\begin{itemize}
\item test
\end{itemize}
\end{document}
然后 pdf 显示(这里我发布了一张小图像,以便移动用户更好地查看):
然后我跟着此 Tex SX 链接但是这样会使之后的内容\begin{SpacingAlgorithm}
也放在一个新页面中,如果浮动块很大的话,可能会很不方便,导致离开页面时出现一大片空白(参见上面的注释% \clearpage
)。
我也读过此 Tex SX 链接,但H
中的选项\usepackage{float}
不适用于algorithm
块。
问:如何让上述两个算法块在新页面上更加紧凑,即它们之间不出现一大片空白?
編輯:
看完这个之后评论
- 我检查了文档。
H
中的选项\usepackage{float}
不能与其他参数组合。此外,虽然H
会使上述算法块压缩,但我发现上面的方法\setlength{\intextsep}{13pt}
无法使用,尽管文档没有明确说明,但我需要该\setlength{\intextsep}{13pt}
功能。 - 我通过删除和其他内容更新了上述代码
!
,但图形仍然与以前相同。
答案1
我在 David Carlisle 的帮助下找到了两个解决方案,分别展示在我的第二条评论和第三条评论中。如果有人有更好的解决方案或发现我的解决方案存在问题,欢迎帮助改进此答案。