如果我使用 algorithmicx 包排版一个简单的算法,比如
\documentclass{article}
\usepackage{algpseudocode}
\usepackage{algorithm}
\begin{document}
\begin{algorithm}[H]
\caption{Bisection}
\label{alg:1}
\begin{algorithmic}
\Repeat
\State $t\gets \frac{a+b}{2}$
\State and so on...
\Until{$f(t)>\epsilon$}
\end{algorithmic}
\end{algorithm}
\end{document}
结果类似于:
如何在算法的数字后面添加冒号,即我想要得到
算法A.1:二分法
我的第一个想法是重新定义thealgorithm
为
%\renewcommand{\thealgorithm}{\thechapter.\arabic{algorithm}:}
但是,在这种情况下,每次我引用算法时,我也会增加冒号。algorithm
这是个坏主意。当然,我可以在算法环境之前和之后重新定义命令,或者创建自己的环境来封装并进行相应的定义。但是有没有更好的方法呢?
答案1
加载caption
包并定义
\captionsetup[algorithm]{labelsep=colon}
梅威瑟:
\documentclass{article}
\usepackage{algpseudocode}
\usepackage{algorithm}
\usepackage{caption}
\captionsetup[algorithm]{labelsep=colon}
\begin{document}
\begin{algorithm}[H]
\caption{Bisection}
\label{alg:1}
\begin{algorithmic}
\Repeat
\State $t\gets \frac{a+b}{2}$
\State and so on...
\Until{$f(t)>\epsilon$}
\end{algorithmic}
\end{algorithm}
\end{document}
输出: