[Tex/LaTex] “For” loop without “do”; “if” statement without “then”


How can I get rid of the do in a for loop and the then in an if statement when typesetting algorithms using the algorithm and algorithmicx packages?

Best Answer

You can redefine \algorithmicthen and \algorithmicdo:


Adding the previous lines in the preamble (respectively, before a particular algorithmic environment enclosing the construct inside a group) will remove the "then" and "do" from all the algorithmic environments (for the particular environment, respectively). If the change has to be applied only to some structures of a particular algorithm while others still will have the "then" and "do", then you can define commands to "switch on/off" the expressions:




\caption{Calculate $y = x^n$}
\STATE $y \leftarrow 1$
\IF{$n < 0$}
\STATE $X \leftarrow 1 / x$
\IF{$n > 0$}
\STATE $X \leftarrow 1$
\FOR{$N \neq 0$}
\STATE $X \leftarrow X \times X$
\WHILE{$N \neq 0$}
\STATE $X \leftarrow X \times X$


enter image description here