algorithm2e 丢失文档之谜

algorithm2e 丢失文档之谜

我正在尝试使用该algorithm2e包。我从 CTAN 下载了该包,并确认我可以排版其自己的文档(algorithm2e.tex)。然后我尝试编写自己的使用文档algorithm2e,如下所示

\documentclass[12pt]{amsart}
\usepackage{algorithm2e}
\begin{document}
test
\end{document}

algorithm2e此 TeX 文件与我从网上复制的所有文件位于同一目录中。我删除了所有aux文件和其他临时文件。

我得到了Latex error: Missing documentSee the LaTeX manual...等等。我在 Mac Book Pro 上的 TeXWorks、TeXShop 和 Texmaker 下尝试过这个,结果都一样。我读过 TeX 的详细日志和输出,试图找出 TeX 认为缺少了什么,但我没有找到。我尝试排版的所有其他文档都运行正常。

如果我删除该\usepackage{algorithm2e}命令,一切都会好起来。我使用许多其他软件包也没有遇到任何问题,例如

\usepackage[all]{xy}
\usepackage{noindent}
\usepackage{multirow}
\usepackage{amssymb,amsmath,latexsym,amsbsy,comment,pifont}
\usepackage{amscd}
\usepackage{palatino}
\usepackage{stmaryrd}
\usepackage{eulervm}
\usepackage{fullpage}
\usepackage[usenames,dvipsnames]{color}
\usepackage{fancybox}
\usepackage{graphicx}

一切正常。唯一似乎导致问题的是algorithm2e,并且只出现在我自己的文档中。重申一下,它在排版自己的文档时效果很好。我尝试将以下内容放在该 usepackage 命令块的每个位置

\usepackage[vlined]{algorithm2e}

无论我把它放在哪里,它都会产生同样的错误。

我已将其归结为我能做的最小的例子,但我却感到困惑。

答案1

问题是由relsize包(由 内部加载algorithm2e)引起的;前一个包与 AMS 文档类不兼容;处理以下文档:

\documentclass[12pt]{amsart}
\usepackage{relsize}
\begin{document}
test
\end{document}

产生了问题中提到的确切问题;该过程以许多警告结束,获得的.pdf 如下:

在此处输入图片描述

为了防止这种情况发生,请使用包选项加载algorithm2enorelsize,如下所示:

\usepackage[norelsize]{algorithm2e}

完整示例:

\documentclass[12pt]{amsart}
\usepackage[norelsize]{algorithm2e}

\begin{document}

\begin{algorithm}[H]
\SetAlgoLined
\KwData{this text}
\KwResult{how to write algorithm with \LaTeX2e }
initialization\;
\While{not at end of this document}{
read current\;
\eIf{understand}{
go to next section\;
current section becomes this one\;
}{
go back to the beginning of current section\;
}
}
\caption{How to write algorithms}
\end{algorithm}

\end{document}

在此处输入图片描述

也许algorithmicx包可能会引起您的兴趣(它提供了许多定制算法布局的可能性),可以代替algorithm2e

相关内容