AAAI 模板:稍长的算法被推到下一列

AAAI 模板:稍长的算法被推到下一列

在里面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}

相关内容