命令 \algorithmic 已定义

命令 \algorithmic 已定义

以下是我为演示加载的软件包列表:

\documentclass{beamer}
\usepackage[frenchb]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{stmaryrd}
\usepackage{amsthm}
\usepackage{color}
\usepackage{mathtools}
\usepackage{tikz}
\usepackage[boxed]{algorithm2e}
\usepackage{algorithmic}
\usepackage[parfill]{parskip}
\usepackage{stmaryrd}
\usepackage{caption}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{bbm}
\usepackage{bm}
\usepackage{empheq}
\usepackage{framed}
\usepackage{mathbbol}
\usepackage{float}
\usepackage{caption,subcaption}%
\usepackage{calc}% http://ctan.org/pkg/calc
\usepackage{hyperref}
\usepackage{multicol}
\usepackage{environ}
\usetikzlibrary{positioning,shapes,shadows,arrows,shapes.multipart}

我使用了 4 个包(如下所示)article,但如果我将它们添加到列表中,它会给出错误Command \algorithmic already defined。我猜有些包与上面的包不兼容:

\usepackage{algpseudocode}
\usepackage[all]{xy}
\usepackage{longtable}
\usepackage{listings,xcolor,lipsum}

如果不加载这 4 个包,一个问题是,我文章中有效的公式abc_\textbf{index}不再起作用,所以我需要将其更改为abc_{\textbf{index}}。我有很多公式都有这个...

那么有人能告诉我哪个包与此相关吗?以及如何将其添加到我的演示文稿列表中?

非常感谢!

答案1

algpseudocode(作为algorithmicx包裹)定义了一个algorithmic环境,因此不兼容。也就是说,algorithmicx.styalgorithmic使用以下方式定义环境

\newenvironment{algorithmic}[1][0]%
  {...}

指定包选项

\usepackage[algcompatible]{algpseudocode}

仅允许与前者兼容algorithmic包裹 符号也就是说,像\REQUIRE\ENSURE\STATE这样的命令\COMMENT旨在暗示\item[\algorithmicrequire]\item[\algorithmicensure]和在\State\Commentalgorithmicx。无论如何,您都不能使用两个都 algorithmicalgorithmicx在您的文件序言中。

beamer文档类不喜欢abc_\textbf{index},而articledocument 类没有抱怨。我猜可能是内部做了一些事情,beamer修改了常规用法。如果这有问题,我相信你可以使用类似sed解析现有.tex文档并将所有出现的 替换<stuff>_<sub-stuff><stuff>_{<sub-stuff>}。无论如何,如果这是 中的限制beamer,那么接受它可能会很有用,无论是字面上还是比喻上。

相关内容