I found the algorithmicx package on this page, and tried to compile this example from the pdf file.


\caption{Euclid’s algorithm}\label{euclid}
\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$
   \State \textbf{return} $b$\Comment{The gcd is b}


With pdflatex example.tex, I got this error.

! LaTeX Error: Environment algorithm undefined.

What's wrong with this?

2 Answers 2


You need to remove


and use the following in your preamble:

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

The reason for this is because the algorithmicx package provides (in addition to just defining the algorithmic environment through algorithmicx.sty) a bundle of style files with predefined macros (like \Procedure, \Comment, etc), including algpseudocode.sty. See the package documentation (section 2.1 The package for more on this).

One thing the algorithmicx package does not define is the floating algorithm environment. That is provided by the algorithms bundle. Hence the requirement to include that as well.


You need to remove


and use the following in your header.


I don't why. But what I do know is that the algpseudocode package don't work for me.

I'm using CTeX, hope this would help CTeX user. :P

  • 1
    algpseudocode defines the algorithmic environment - that's why. Why does algpseudocode not work for you?
    – Werner
    Jun 5, 2012 at 16:00
  • 1
    Both didn't work for me. i am using winedit and elsevier.cls Please how o get it right
    – user17474
    Aug 11, 2012 at 9:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .