如何在 algorithmicx 中定义新的循环?

如何在 algorithmicx 中定义新的循环?

如何在 algorithmicx 中定义新循环?例如,像这样的代码:

例1)

PreLoop 所做的

--语句1

--语句2

例2)

PostLoop 的作用

--语句1

--语句2

是否可以将其定义为命令?

答案1

是的,可以使用命令完成\algdef。这是一个例子:

\documentclass{article}
\usepackage{algpseudocode}
\algdef{SE}{PreLoop}{EndPreLoop}[1]{\textbf{preloop} \(\mbox{#1}\) \textbf{do}}{\textbf{end}}%

\begin{document}
\begin{algorithmic}[1]
\Procedure{Euclid}{$a,b$}\Comment{The g.c.d. of a and b}
\State $r\gets a\bmod b$
\PreLoop{$r\not=0$}\Comment{We have the answer if r is 0}
\State $a\gets b$
\State $b\gets r$
\State $r\gets a\bmod b$
\EndPreLoop\label{euclidendwhile}
\State \textbf{return} $b$\Comment{The gcd is b}
\EndProcedure
\end{algorithmic}

\end{document}

有关详细信息,请参阅 algorithmicx 手册,例如,http://mirror.unl.edu/ctan/macros/latex/contrib/algorithmicx/algorithmicx.pdf

相关内容