使用 Cleveref 引用 Algorithm2e 中编写的算法时,会打印单词“Line+Number”而不是“Algorithm+Number”

使用 Cleveref 引用 Algorithm2e 中编写的算法时,会打印单词“Line+Number”而不是“Algorithm+Number”

我正在使用该包algorithm2e编写一些算法。但是,当我使用引用特定算法时cleveref,我得到 [1号线] 代替 [算法 1有没有办法让它cleveref检测算法环境并赋予它正确的标签名称?

这是一个简单的例子:

   \documentclass[12pt,makeidx]{amsbook}
   \usepackage[ruled,vlined]{algorithm2e}
   \usepackage[capitalise]{cleveref}
   \begin{document}
   \chapter{First chapter}
   \section{First section}
   \begin{center}
       \begin{algorithm}[H] \label{label-for-algorithm-1}
         code
       \caption{Algorithm}
       \end{algorithm}
   \end{center}
   \section{Second section}
   (See \Cref{label-for-algorithm-1})
   \end{document}

答案1

\label应始终使用该命令设置要引用的元素的计数器的命令。对于图形、表格以及算法,这就是命令\caption。Cleveref 也从最近的计数器更新中获取名称。

梅威瑟:

\documentclass[12pt,makeidx]{amsbook}
\usepackage[ruled,vlined]{algorithm2e}
\usepackage[capitalise]{cleveref}
\begin{document}
\chapter{First chapter}
\section{First section}
\begin{center}
\begin{algorithm}[H]
code
\caption{Algorithm}\label{label-for-algorithm-1}
\end{algorithm}
\end{center}
\section{Second section}
(See \Cref{label-for-algorithm-1})
\end{document}

结果:

在此处输入图片描述

相关内容