如何从 \function 中删除文本“Function”?

如何从 \function 中删除文本“Function”?

我对 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

根据手册,您可以更改关键字:

3.1.10 更改命令名称

伪代码的一个常见做法是更改命令名称。许多人使用许多不同类型的伪代码命令名称。在 算法伪代码所有关键字均声明为\algorithmic<keyword>

如果要更改关键字,则\Function必须声明:

\algrenewcommand\algorithmicfunction{\textbf{whatever}}

在此处输入图片描述

当然,你也可以将其留空:

\algrenewcommand\algorithmicfunction{}

在此处输入图片描述

答案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 文件的序言部分

相关内容