我对 Latex 很陌生,我想编写一个像下图这样的算法:
我怎样才能像这样编写算法的函数?我看到了诸如\Procedure
或之类的替代方案\function
,但它们在前面给出了“函数”或“过程”字样。我怎样才能为我的函数包装器实现如下所示的标题结果?
还有其他标签吗?
下面是我使用的乳胶代码的示例
\begin{algorithm}
\caption{recursiveAlgo}
\begin{algorithmic}[1]
\Function{recursiveAlgo}{$mst, path, currentNode, drilled$}
\State stop <- false
\While{$!stop$}
\If{currentNode.childNumber != 0}{
\For {$i=0$ to currentNode.childNumber - 1}
\State drilled ++
\State path.push\_back(currentNode.coord, currentNode.child[i].coord)
\State recursiveAlgo(path, currentNode.child[i])
\EndFor}
\EndIf
\State \Return path;
\EndWhile
\EndFunction
\end{algorithmic}
\end{algorithm}
我想要的是改变结果:
\Function{recursiveAlgo}{$mst, path, currentNode, drilled$}
显示为:
如何显示不带类型声明的函数名称,并以粗体显示,如第一张图片中的示例一样?
答案1
答案2
在algpseudocode.sty
函数中被称为
\algdef{SE}[FUNCTION]{Function}{EndFunction}%
[2]{\algorithmicfunction\ \textproc{#1}\ifthenelse{\equal{#2}{}}{}{(#2)}}%
{\algorithmicend\ \algorithmicfunction}
改成
\algdef{SE}[FUNCTION]{Function}{EndFunction}%
[2]{\algorithmicfunction\ \textproc{}\ifthenelse{\equal{}{}}{}{()}}%
{\algorithmicend\ \algorithmicfunction}
在你的 tex 文件的序言部分