在算法列表的条目中添加冒号

在算法列表的条目中添加冒号

我正在尝试创建一个算法列表,使得每个算法编号后面都出现一个冒号。我在下面包含了一个 MWE,它产生以下内容:

在此处输入图片描述

我想通过在算法编号后添加冒号来修改它,

Algorithm 1.1: Pseudocode caption . . . . 2

我见过类似的问题被问到(格式化 \listoftables 和 \listofalgorithms),但是这个解决方案对我不起作用。我相信这是因为他们的示例使用algorithm而我使用的是algorithm2e。我无法解决这个问题。

“算法列表”标题需要保留,因为它在 MWE 中显示,我不能使用通常出现的默认标题\listofalgorithms

最小工作示例:

\documentclass[10pt]{report}

\usepackage[ruled,vlined,algochapter]{algorithm2e}  
\usepackage{tocloft}

\makeatletter
\newcommand*{\loacontents}{\@starttoc{loa}}
\makeatother

\begin{document}

\begingroup
\renewcommand*{\addvspace}[1]{}
\let\oldnumberline\numberline
\renewcommand{\numberline}{Algorithm~\oldnumberline}
\begin{center}
    \textbf{LIST OF ALGORITHMS}
\end{center}
~\\ % Empty lines
~\\
\loacontents
\endgroup

\pagebreak

\chapter{Introduction}
\begin{algorithm}
    \caption{Pseudocode caption.}
    asdf        
\end{algorithm}
\end{document}

答案1

对 的重新定义进行了微小调整\numberline。相反,收集常规参数,并:在将其传递给 时添加后缀\oldnumberline

在此处输入图片描述

\documentclass{report}

\usepackage[ruled,vlined,algochapter]{algorithm2e}  

\makeatletter
\newcommand*{\loacontents}{\@starttoc{loa}}
\makeatother

\begin{document}

\begingroup
\renewcommand*{\addvspace}[1]{}
\let\oldnumberline\numberline
\renewcommand{\numberline}[1]{Algorithm~\oldnumberline{#1:}}
\begin{center}
  \bfseries LIST OF ALGORITHMS
\end{center}
\vspace{2\baselineskip}
\loacontents
\endgroup

\pagebreak

\chapter{Introduction}
\begin{algorithm}
  \caption{Pseudocode caption.}
  asdf
\end{algorithm}

\end{document}

相关内容