从 algorithmicx 过程/函数中删除行号

从 algorithmicx 过程/函数中删除行号

我希望“procedure”和“end procedure”、“function”和“end function”等行不被编号。

例如,默认行为会产生这样的结果:

1 procedure hasNext(v,V,s)
2  solution <-- findSolution()
3 end procedure

但我想要这个:

  procedure hasNext(v,V,s)
1    solution <-- findSolution()
  end procedure

这可能吗?

答案1

以下是一个解决方法,因为这个软件包似乎没有提供任何选项来显示这种行为。

\Procedure和控制序列\EndProedure被 替换\Statex,导致行不被编号。缺点是需要手动插入过程标记。

\documentclass{article}
\usepackage{algpseudocode}

\begin{document}

\begin{algorithmic}[1]
\Statex{{\bf procedure} Euclid ($a,b$)}\Comment{The g.c.d. of a and b}
\State $r\gets a\bmod b$
\While{$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$
\EndWhile\label{euclidendwhile}
\State \textbf{return} $b$\Comment{The gcd is b}
\Statex{\bf end procedure}
\end{algorithmic}

\end{document}

相关内容