我需要编写一些伪代码并使用 IEEE 模板。但是,指南说 algorithmic 应该包含在图形环境中,并且我不应该使用 algorithm 包看这里。
到目前为止没有问题,只需将所有内容都放在图中即可。
\begin{figure}
\begin{algorithmic}[1]
\item[\textbf{Input:}] some input
\item[\textbf{Output:}] Some output
\STATE $P \gets 1$
\STATE $X \gets 2$
\STATE \RETURN$X + P$
\end{algorithmic}
\caption{Algorithm that does stuff}
\label{MagicalAlg}
\end{figure}
问题是,这给了我一个标题读数Fig. 1. Algorithm that does stuff
,我希望它读出来Alg. 1. Algorithm that does stuff
而不是与数字一起编号,而是单独编号。
谢谢您的帮助。
编辑:我发现了一个有点丑陋的解决方法:我根据图形环境定义一个新环境,并将重命名为\figurename
。Alg.
然后我需要引入另外两个计数器,一个作为占位符(PlaceHolder
),一个用于跟踪算法的实际编号(BestAlgorithm
)。否则它会将算法和图形一起编号。
\newcounter{BestAlgorithm}
\newcounter{PlaceHolder}
\newenvironment{BestAlgorithm}
{\setcounter{PlaceHolder}{\value{figure}}
\setcounter{figure}{\value{BestAlgorithm}}\begin{figure}
\renewcommand{\figurename}{Alg.} }
{\end{figure} \setcounter{figure}
{\value{PlaceHolder}} \addtocounter {BestAlgorithm} {1}}
在文档开头定义这个之后,我可以使用它BestAlgorithm
来代替figure
环境。
有没有更好的方法将计数器分配给新环境?