算法跨越两列错误与 \prevdepth

算法跨越两列错误与 \prevdepth

我正在尝试使用该algorithm命令在两列文档中显示跨两列的算法。但是,我收到了一条\prevdepth我无法理解的错误消息。下面是一个说明该问题的最小示例。请注意,此示例使用签名计划配置文件类文件:

\documentclass[preprint]{sigplanconf}
\usepackage{subfigure}
\usepackage{fixltx2e}
\usepackage{algorithm}

\begin{document}

\title{a title } 

\authorinfo{an author}
\maketitle

\begin{abstract}
  abstract 
\end{abstract}

\section{a section }

\begin{algorithm*}
\begin{verbatim}
a long line of text goes here that will take up too much space and need to span columns
\end{verbatim}
\end{algorithm*}

\end{document}

algorithm如果我使用而不是来运行 latex algorithm*(请注意与 的区别*),则不会收到任何错误消息。但是算法文本与右侧列中的文本混合在一起。

但是,如果我使用,algorithm*我会收到以下我无法理解的错误消息:

! Improper \prevdepth. <recently read> \prevdepth 
                            \subfig@end@float ...-\@Miv \@tempdima \prevdepth 
                                                  \vbox {}\prevdepth \@tempd...

\end@dblfloat ...\expandafter \@gobble \end@float 
                                                  \fi \else \end@float \fi  \end #1->\csname end#1\endcsname 
                                 \@checkend {#1}\expandafter \endgroup \if@e... l.291 \end{algorithm*}
                       ?  ! Emergency stop. <recently read> \prevdepth 
                            \subfig@end@float ...-\@Miv \@tempdima \prevdepth 
                                                  \vbox {}\prevdepth \@tempd...

\end@dblfloat ...\expandafter \@gobble \end@float 
                                                  \fi \else \end@float \fi  \end #1->\csname end#1\endcsname 
                                 \@checkend {#1}\expandafter \endgroup \if@e... l.291 \end{algorithm*}

我猜想和的组合存在一些冲突subfigure fixltx2ealgorithm因为当我创建一个示例来说明问题时,我发现如果我删除或fixltx2esubfigure问题就会消失。所以我会检查我的论文,看看我是否需要这两个包(我正在帮助编辑,所以我不确定是否需要它们)。但如果有人碰巧看了这个例子并明白了导致错误的原因,我会有兴趣了解根本原因。

相关内容