如何避免在算法标题中打印算法编号?

如何避免在算法标题中打印算法编号?

我正在使用该algorithm2e包编写算法。但是,当我一个接一个地编写三个算法时,算法在标题中会自动编号为 1、2 和 3。我使用以下代码:

\begin{algorithm}[H]
 \SetAlgoLined
 \KwData{this text}
 \KwResult{how to write algorithm with \LaTeX2e }
 initialization\;
 \While{not at end of this document}{
  read current\;
 \eIf{understand}{
  go to next section\;
 current section becomes this one\;
 }{
 go back to the beginning of current section\;
 }
}
\caption{How to write algorithms}
\end{algorithm}

我得到的结果是 在此处输入图片描述

如果此包使用三次,算法的标题会提到“算法 3”。我希望每个标题都只提到“算法”,而不是“算法 3”。如何实现?

答案1

如果你愿意使用\TitleOfAlgo(对于算法来说,它比\caption在许多方面都更灵活),那么请参阅John Wickerson 的回答

否则,如果您确实想使用\caption但删除算法编号,只需将其插入\renewcommand{\thealgocf}{}到您的序言中即可。

在此处输入图片描述

\documentclass[10pt]{report} 
\usepackage{algorithm2e}

\renewcommand{\thealgocf}{}

\begin{document}

\begin{algorithm}[H]
 \SetAlgoLined
 \KwData{this text}
 \KwResult{how to write algorithm with \LaTeX2e }
 initialization\;
 \While{not at end of this document}{
  read current\;
 \eIf{understand}{
  go to next section\;
 current section becomes this one\;
 }{
 go back to the beginning of current section\;
 }
}
\caption{How to write algorithms}
\end{algorithm}

\end{document}

答案2

正如 texenthusiast 指出的那样下面的评论,你应该使用

\TitleOfAlgo{How to write algorithms}

而不是

\caption{How to write algorithms}

这使得算法不是默认情况下编号。如果你改变主意,要重新编号算法,您应该titlenumbered在加载algorithm2e包时设置选项 option。 (titlenotnumbered是默认值。)也就是说,

\usepackage[titlenumbered]{algorithm2e}

欲了解更多详情,请参阅软件包文档

答案3

只需使用

\usepackage[ruled,vlined,linesnumberedhidden,algo2e,resetcount,algochapter]{algorithm2e}

代替

\usepackage{algorithm2e}

相关内容