在算法编号后的算法标题中添加冒号

在算法编号后的算法标题中添加冒号

如果我使用 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}

结果类似于:

编译 latex

如何在算法的数字后面添加冒号,即我想要得到

算法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} 

输出:

在此处输入图片描述

相关内容