在里面AAAI 模板,如果算法稍微长一点,但比列的高度短很多,那么它会被推到下一列,无论当前文本有多短。我该如何避免这种情况?
以下是一个例子:
\documentclass[letterpaper]{article}
\usepackage{aaai17} %Required
\usepackage{times} %Required
\usepackage{helvet} %Required
\usepackage{courier} %Required
\usepackage{url} %Required
\usepackage{graphicx} %Required
\frenchspacing %Required
\setlength{\pdfpagewidth}{8.5in} %Required
\setlength{\pdfpageheight}{11in} %Required
\usepackage[vlined,ruled,linesnumbered]{algorithm2e}
\begin{document}
some texts.
\begin{algorithm}[htb]
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\KwRet{A}\;
\end{algorithm}
\end{document}
答案1
由于 algorithm2e 中存在一个长期报告但显然尚未修复的错误,您会收到有关未封闭组的警告
然后浮动元素会变得过大,因此最终会位于浮动列中并垂直居中,而不是位于顶部。在这种情况下,您可以使用!
来覆盖通常的限制,并让它h
像上面一样放置在顶部。
所以我刚刚把你的例子改成
\begin{algorithm}[!htb]
将 algorithm2e 的第 1061 行从
\newboolean{algocf@displaygroupmarkers}{\setboolean{algocf@displaygroupmarkers}{false}
到
\newboolean{algocf@displaygroupmarkers}\setboolean{algocf@displaygroupmarkers}{false}