¿Cómo hacer referencia a un algoritmo creado con Algoritm2e usando Cleveref?

¿Cómo hacer referencia a un algoritmo creado con Algoritm2e usando Cleveref?

Tengo problemas para descubrir cómo hacer referencia a un algoritmo creado con algorithm2e. Para mis figuras utilizo:

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

y la referencia con \Cref{fig:test_label}(usando el paquete cleveref). Todo funciona bien.

Sin embargo, esto no parece funcionar con algortihm2e:

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

y luego hacer \Cref{alg:test_label}resultados en ??. Me gustaría tener algo similar a Figure 1, es decir, Algorithm 1o Alg. 1.

¿Cómo hago referencia correctamente a un algoritmo creado con algorithm2e?

¡Gracias!

EDITAR: Tras una inspección más detallada, noté que los números realmente se muestran, pero Algorithmfalta la palabra: ?? 1, ?? 2,...

Respuesta1

Me desconcierta tu afirmación de que

Sin embargo, esto no parece funcionar con algortihm2e.

Sin duda, el siguiente programa de prueba minimalista.

\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}

produce este resultado después de compilar dos veces:

ingrese la descripción de la imagen aquí

Sin embargo, asegúrese de incluir el paquete.algorithm2e antes cleveref, de lo contrario terminarás con:

ingrese la descripción de la imagen aquí

información relacionada