我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