Как сослаться на алгоритм, созданный с помощью algorithm2e, используя cleveref?

Как сослаться на алгоритм, созданный с помощью algorithm2e, используя cleveref?

У меня возникли проблемы с тем, как ссылаться на алгоритм, созданный с помощью algorithm2e. Для своих рисунков я использую:

\begin{figure}
  \includegraphics{...}
  \caption{Test Caption.}
  \label{fig:test_label}
\end{figure}

и ссылка с \Cref{fig:test_label}(использованием пакета cleveref). Все работает отлично.

Однако, похоже, это не работает с algortihm2e:

\begin{algorithm}
  \For{$b\gets 0$ \KwTo $B- 1$}{
      ...
  }
  \caption{Test Caption} 
  \label{alg:test_label}
\end{algorithm}

и затем выполнение \Cref{alg:test_label}результатов в ??. Я хотел бы иметь что-то похожее на Figure 1, т.е. Algorithm 1или Alg. 1.

Как правильно ссылаться на алгоритм, созданный с помощью algorithm2e?

Спасибо!

ПРАВКА: При дальнейшем рассмотрении я заметил, что цифры на самом деле отображаются, но слово Algorithmотсутствует: ?? 1, ?? 2,...

решение1

Я озадачен вашим утверждением, что

Однако, похоже, это не работает с algortihm2e.

Конечно, следующая минималистская тестовая программа

\documentclass{article} 
\usepackage{algorithm2e,cleveref}
\begin{document}

\begin{algorithm}
  \centering\dots \caption{Test a}\label{alg:a}
\end{algorithm}
\begin{algorithm}
  \centering\dots \caption{Test b}\label{alg:b}
\end{algorithm}

\Cref{alg:b}, \cref{alg:a,alg:b}.
\end{document}

после двойной компиляции получается такой результат:

введите описание изображения здесь

Однако не забудьте включить пакетalgorithm2e до cleveref, в противном случае вы получите:

введите описание изображения здесь

Связанный контент