# algpseudocode without visible EndIf

I have the following chunk of code

\begin{algorithmic}
\State $\mathit{FlatMask}(c)=0$
\If{$\mathit{Inc1}(c)>0$}
\State $\mathit{FlatMask}(c)\;+\!\!=2(\mathit{Inc1}(c)-1)$
\EndIf
\end{algorithmic}


It displays using the algpseudocode package, but I would like that the final printed End If not be displayed, just the indentation to be reset.

Any thoughts?

-
Please, embed the code in a MWE. –  egreg Apr 3 '12 at 21:28
Great space-saver for papers ! –  Ioannis Filippidis Apr 20 '14 at 5:55

The following is a simple method to do this:

\algtext*{EndIf}% Remove "end if" text


An expanded answer is available here.

-

In this instance it is easy enough to define a new loop, since they do not require an accompanying ending macro:

\documentclass{article}
\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
\begin{document}
\algloopdefx{NoEndIf}[1]{\textbf{If} #1 \textbf{then}}
\begin{algorithmic}
\State $\mathit{FlatMask}(c)=0$
\NoEndIf{$\mathit{Inc1}(c)>0$}
\State $\mathit{FlatMask}(c)\;+\!\!=2(\mathit{Inc1}(c)-1)$
\State Some code
\end{algorithmic}
\end{document}​


In the above example, \NoEndIF is the newly-defined "loop" structure.

-