Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I am typesetting algorithms with the algorithm package, and I would like to add unnumbered lines in them. Is there a way to create a \State* command, the same way there is an equation* environment?

Here is an example of algorithm. I would like the \State {} line to be unnumbered, and therefore \State Step 3. to be number 3.

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

\begin{document}

\begin{algorithm}
\caption{A title.} 
\begin{algorithmic}[1] 
\State Step 1.
\State Step 2. 
\State {}
\State Step 3.
\end{algorithmic}
\end{algorithm}

\end{document}
share|improve this question
add comment

1 Answer 1

up vote 4 down vote accepted

By virtue of the fact that you are using algpseudocode, it looks like you are actually using the algorithmicx package. From page 4 of its manual, it looks like you want the \Statex command.

If for some reason that doesn't work, a solution can be nastily hacked by forcing suppression of the line number:

\def\NoNumber#1{{\def\alglinenumber##1{}\State #1}\addtocounter{ALG@line}{-1}}

You can then use \NoNumber like \State:

\begin{algorithm}
\caption{A title.} 
\begin{algorithmic}[1] 
\State Step 1.
\State Step 2. 
\NoNumber{This line will not have a number!}
\State Step 3.
\end{algorithmic}
\end{algorithm}
share|improve this answer
    
This works perfectly. It seems I didn't look in the right manual... Thanks! –  Drude Feb 17 '11 at 23:53
    
This solution does not work in case I want to put \NoNumber in the first line of the pseudocode, or just after \EndIf. But \Statex works perfectly. –  user25635 Feb 7 '13 at 13:43
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.