使用 algorithm2e 时 MikTeX 中出现奇怪的错误

使用 algorithm2e 时 MikTeX 中出现奇怪的错误

我正在尝试在 MikTeX 中使用该algorithm2e包,但是当我输入以下命令时:

\dontprintsemicolon
\SetLine

它无法识别它们。我不明白为什么;我以前在另一台机器上使用过这些命令,没有问题。包algorithm2e已安装:我检查了包管理器和目录,它似乎已安装。

答案1

尝试用以下方法替换它们

\DontPrintSemicolon
\SetAlgoLined

我认为在某个时间点(版本 4.0 及更新版本)旧语法已被删除。您还可以尝试将选项传递oldcommands给包,这应该会启用命令的旧形式。

答案2

Debian 和 Ubuntu 没有texlive-science针对 的最新版本更新其软件包algorithm2e。因此,如果您在 Windows 和 Linux 环境中使用algorithm2e和编译 LaTeX 文档,您将不断遇到此问题。简单地更改命令并没有多大帮助,因为每次更改平台时您都需要更改它。

我通常的解决方案是包含新版本命令的定义algorithm2e

\providecommand{\SetAlgoLined}{\SetLine}
\providecommand{\DontPrintSemicolon}{\dontprintsemicolon}

因此,当使用旧版本的软件包 (Linux) 时,会定义新版本的命令。如果使用新版本的软件包并且这些命令已经定义 (Windows),\providecommand则 MiKTeX 会忽略这些指令。

您可以将这些命令写入单独的文件,并在您的文档使用时将其包含在内,algorithm2e并在多个平台上不断进行编译。

不要忘记插入/包含这些命令东西\usepackage[...]{algorithm2e}

相关内容