我想编写一些与下面显示的算法非常相似的东西,但使用 algorithmicx 包。(此示例来自本书第 152 页近端算法作者:Boyd 和 Parikh。)如何使用 algorithmicx 获得没有相应“until”语句的“repeat”语句?
(我特别提到 algorithmicx 包是因为我认为它比其他算法包更具可定制性。)
答案1
这里有一个选项,用于\algblockdefx
定义一个块,然后\algonotext
抑制对该块的结束部分进行排版:
\documentclass{article}
\usepackage{algorithmicx,algpseudocode}
\algblockdefx{MRepeat}{EndRepeat}{\textbf{repeat}}{}
\algnotext{EndRepeat}
\begin{document}
\begin{algorithmic}[1]
\State $sum\gets 0$
\State $i\gets 1$
\MRepeat
\State $sum\gets sum+i$
\State $i\gets i+1$
\EndRepeat
\State $i\gets 100$
\end{algorithmic}
\end{document}