# Unnumbered lines in algorithm

My question is similar to this one, I need to skip number for some lines of the algorithm. However the solution from that question does not work for me. How can I disable numbers for some lines using the algorithmic package?

This is what I have tried:

\documentclass{article}
\usepackage{algorithmic}
\usepackage{algorithm}

\begin{document}

\begin{algorithmic}[1]
\STATE Compute $Pr(X_i < x)$ and $Pr(x < X_i)$ for all $i = 1, \dots, M$ and
\FOR {$i = 1, \dots, n$}
\STATE with a number
\NoNumber{ without number}
\ENDFOR
\end{algorithmic}

\end{document}

-
The way algorithmic numbers lines makes it very difficult to leave off a line. –  egreg Apr 7 '13 at 23:28
@msh I added a final remark to my answer. –  Gonzalo Medina Apr 7 '13 at 23:51

One option would be to use the more versatile algorithmicx package, with its algcompatible format (allowing you to use algorithmic syntax); you can use \STATEx for unnumbered lines:

\documentclass{article}
\usepackage{algcompatible}

\begin{document}

\begin{algorithmic}[1]
\IF{some condition is true}
\STATE do some processing
\ELSIF{some other condition is true}
\STATEx do some different processing
\ELSIF{some even more bizarre condition is met}
\STATEx do something else
\ELSE
\STATE do the default actions
\ENDIF
\end{algorithmic}

\end{document}


Of course, the use of algcompatible was suggested only if you already have your algorithms written using the algorithmic syntax and want to switch to algorithmicx without major traumatism; if you are just starting to write your algorithms, then use the algpseudocode format instead from the beginning:

\documentclass{article}
\usepackage{algpseudocode}

\begin{document}

\begin{algorithmic}[1]
\If{some condition is true}
\State do some processing
\ElsIf{some other condition is true}
\Statex do some different processing
\ElsIf{some even more bizarre condition is met}
\Statex do something else
\Else
\State do the default actions
\EndIf
\end{algorithmic}

\end{document}

-