如何从 algorithmicx 算法的标题中删除/更改“算法 X”标签?

如何从 algorithmicx 算法的标题中删除/更改“算法 X”标签?

我正在使用algpseudocode来编写算法,我想在添加标题时从标题中删除“算法 X”。我该怎么做?

例子:

\documentclass{article}

\usepackage{algorithmicx, algpseudocode, algorithm}

\begin{document}

\begin{algorithm}
    \textbf{Input:} Placeholder input \\
    \textbf{Output:} Placeholder output
    \begin{algorithmic}[1]
        \Function{foo}{x} \\
        \Return $x+1$
        \EndFunction
    \end{algorithmic}
    \caption{Placeholder caption}
    \label{placeholder}
\end{algorithm}

\end{document}

输出:输出

我怎样才能从标题中删除“算法 1”,并将其替换为我自己的文本,例如“我的文本 1”,其中计数器也会增加?我仍然希望在顶部有一个标题,我只想用其他内容替换“算法 1”。我尝试使用figure而不是algorithm,但我希望使用环境提供的其他格式(水平线)algorithm

我见过,但指的是algorithmic,而不是algorithmicx。此外,我更喜欢一种可以应用于特定算法而不是整个文档的解决方案,因为我有其他算法,我想保持标题完整。

谢谢。

答案1

移除标题标签进入\listofalgorithms

如果你想完全删除标题标签,你可以使用caption包然后\caption*(但请注意,这将从中删除算法\listofalgorithms):

\documentclass{article}

\usepackage{caption}

\usepackage{algorithmicx, algpseudocode, algorithm}

\begin{document}

\begin{algorithm}
\textbf{Input:} Placeholder input \\
\textbf{Output:} Placeholder output
\begin{algorithmic}[1]
    \Function{foo}{x} \\
    \Return $x+1$
    \EndFunction
\end{algorithmic}
\caption*{Placeholder caption} % <-- CHANGED LINE
\label{placeholder}
\end{algorithm}

\end{document}

截屏

删除标题标签(\listofalgorithms不变)

使用caption再次打包,我们可以使用\captionsetup{labelformat=empty}(参见caption文档第 6 页)。

\documentclass{article}

\usepackage{algorithmicx, algpseudocode, algorithm}

\usepackage{caption}

\begin{document}

\begin{algorithm}
\captionsetup{labelformat=empty} % <-- CHANGED LINE
\textbf{Input:} Placeholder input \\
\textbf{Output:} Placeholder output
\begin{algorithmic}[1]
    \Function{foo}{x} \\
    \Return $x+1$
    \EndFunction
\end{algorithmic}
\caption{Placeholder caption}
\label{placeholder}
\end{algorithm}

\listofalgorithms

\end{document}

截屏

本地更改标题标签(\listofalgorithms未改变)

如果要在本地更改标题标签,可以使用命令\floatname(请参阅algorithms文档第 4.4 节)为此,你甚至不需要caption包裹。

\documentclass{article}

\usepackage{algorithmicx, algpseudocode, algorithm}

\begin{document}

\begin{algorithm}
\floatname{algorithm}{Something} % <-- CHANGED LINE
\textbf{Input:} Placeholder input \\
\textbf{Output:} Placeholder output
\begin{algorithmic}[1]
    \Function{foo}{x} \\
    \Return $x+1$
    \EndFunction
\end{algorithmic}
\caption{Placeholder caption}
\label{placeholder}
\end{algorithm}

\end{document}

截屏

相关内容