我有以下代码块
\begin{algorithmic}
\State $\mathit{FlatMask}(c)=0$
\If{$\mathit{Inc1}(c)>0$}
\State $\mathit{FlatMask}(c)\;+\!\!=2(\mathit{Inc1}(c)-1)$
\EndIf
\end{algorithmic}
它使用包显示algpseudocode
,但我希望最终打印万一不会显示,只是缩进被重置。
有什么想法吗?
答案1
答案2
在这种情况下,定义一个新的循环很容易,因为它们不需要附带的结束宏:
\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}
上面的例子中,\NoEndIF
是新定义的“循环”结构。