无法修改 algorithm2e 标题编号

无法修改 algorithm2e 标题编号

我想将一个算法的编号从算法 5 更改为算法 2.1。

我已经尝试过所有这些方法:

更改算法的标题编号

https://github.com/hadizadeh/Latex_algorithm

无论我如何修改代码,结果始终是一样的。以下是一个例子。

\usepackage[ruled, vlined, linesnumbered, nofillcomment]{algorithm2e}
\usepackage{algpseudocode}

...

\begin{algorithm}[H]
    \renewcommand{\thealgorithm}{2.1}
    \caption{Name of the algorithm}
    test1\\
    test2
\end{algorithm}

在此处输入图片描述

\renewcommand{\thealgorithm}{2.1}无论我把它放在算法环境内部还是外部都没有关系。

提前致谢。

答案1

此代码将使算法编号为节号.算法编号

A

\documentclass[12pt,a4paper]{article}

\usepackage[ruled, vlined, linesnumbered, nofillcomment]{algorithm2e}
\usepackage{algpseudocode}

%****************************************** added <<<<<<<<<<<<<<
\makeatletter
\renewcommand{\fnum@algocf}{\AlCapSty{\AlCapFnt\algorithmcfname\nobreakspace\thesection.\thealgocf}}%
\makeatother
%******************************************

\begin{document}
    
    \setcounter{section}{3}% test section numbers   
    \setcounter{algocf}{5}% test algo numbers
        
    \section{A section} 
    
    \begin{algorithm}
        \caption{Name of the algorithm}
        test1\\
        test2
    \end{algorithm}

\end{document}

\SetAlgoCaptionSeparator{sep}可以使用(默认:)控制标题分隔符

如果要在章节开头重置算法计数器,请添加到序言中

\let\oldsection\section
\renewcommand{\section}{\setcounter{algocf}{0}\oldsection}

选项

这是使用该dcounter包的另一种选择,使用部分编号并且还将重置算法计数器以开始所需的新部分。

d

\documentclass[12pt,a4paper]{article}

\usepackage[ruled, vlined, linesnumbered, nofillcomment]{algorithm2e}
\usepackage{algpseudocode}

 \SetAlgoCaptionSeparator{} % default :

\usepackage{dcounter} % added <<<<<<<<<<<<<<<<<
\countstyle{section}%
\DeclareDynamicCounter{algocf}%  reset the algorithm counter starting a new section
 
\begin{document}
    
    \setcounter{section}{3}% test section numbers   
                
    \section{A section} 
    
    \begin{algorithm}
        \caption{Name of the algorithm 1}
        test1\\
        test2
    \end{algorithm}

    \begin{algorithm}
        \caption{Name of the algorithm 2}
        test1\\
        test2
    \end{algorithm}
    
    \section{Another section}   
    
    \begin{algorithm}
        \caption{Name of the algorithm 3}
        test1\\
        test2
    \end{algorithm}

\end{document}

相关内容