4

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?

Werner
  • 603,163
Richard
  • 5,723

2 Answers2

4

The following is a simple method to do this:

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

An expanded answer is available here.

Richard
  • 5,723
2

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

enter image description here

\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.

Werner
  • 603,163