# Algorithm not showing the end loop statement

I'm using algorithm package for writing algorithms. I'm using following code for generating a loop

\begin{algorithm}
\caption{My algorithm}\label{alg:myalgo}
\begin{algorithmic}[1]
\Procedure{Algo1}{}
\For{\texttt{<condition>}}
\State \texttt{<my stuff>}
\EndFor
\EndProcedure
\end{algorithmic}
\end{algorithm}


This code on compilation gives the output

The problem with this output is it is not showing the end for after line 3 as shown in this example.

Could someone tell me what is the problem with the above code.

• – Werner Dec 9 '14 at 6:39

The only reason for not having the "end for" is that you are using the noend option when loading algpseudocode.

In fact, the following MWE

\documentclass{article}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\begin{document}
\begin{algorithm}
\caption{My algorithm}\label{alg:myalgo}
\begin{algorithmic}[1]
\Procedure{Algo1}{}
\For{\texttt{<condition>}}
\State \texttt{<my stuff>}
\EndFor
\EndProcedure
\end{algorithmic}
\end{algorithm}
\end{document}


gives

while, if you replace

\usepackage[noend]{algpseudocode}


with

\usepackage{algpseudocode}


you obtain

Something like this. Need algpseudocode package.

Code

\documentclass{article}
\usepackage{algorithm}
\usepackage{algpseudocode}
\begin{document}

\begin{algorithm}
\caption{My algorithm}\label{alg:myalgo}
\begin{algorithmic}[1]
\Procedure{Algo1}{}
\For{\texttt{<condition>}}
\State \texttt{<my stuff>}
\EndFor
\EndProcedure
\end{algorithmic}
\end{algorithm}

\end{document}