如何使用 algorithmicx 包?

如何使用 algorithmicx 包?

algorithmicx这一页,并尝试从pdf文件编译此示例。

\documentclass{article}
\usepackage{algorithmicx}
\begin{document}

\begin{algorithm}
\caption{Euclid’s algorithm}\label{euclid}
\begin{algorithmic}[1]
\Procedure{Euclid}{$a,b$}\Comment{The g.c.d. of a and b}
   \State $r\gets a\bmod b$
   \While{$r\not=0$}\Comment{We have the answer if r is 0}
      \State $a\gets b$
      \State $b\gets r$
      \State $r\gets a\bmod b$
   \EndWhile\label{euclidendwhile}
   \State \textbf{return} $b$\Comment{The gcd is b}
\EndProcedure
\end{algorithmic}
\end{algorithm}

\end{document}

使用 时pdflatex example.tex,我收到此错误。

! LaTeX Error: Environment algorithm undefined.

这有什么问题?

答案1

您需要删除

\usepackage{algorithmicx}

并在你的序言中使用以下内容:

\usepackage{algorithm}% http://ctan.org/pkg/algorithms
\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx

原因是algorithmicx包裹algorithmic提供(除了通过定义环境之外algorithmicx.sty)一组带有预定义宏(如\Procedure\Comment等)的样式文件,包括algpseudocode.sty。请参阅包装文档(部分2.1 软件包了解更多信息)。

algorithmicx包的作用不是define 是浮动algorithm环境。由algorithms。因此也要求将其包括在内。

答案2

您需要删除

\usepackage{algorithmicx}

并在标题中使用以下内容。

\usepackage{algorithm}
\usepackage{algorithmic}

我不知道为什么。但我知道的是,这个algpseudocode包对我来说不起作用。

我正在使用 CTeX,希望这可以帮助 CTeX 用户。:P

相关内容