Bug estranho \cref

Bug estranho \cref

Estou usando cleverrefno meu documento. Infelizmente estou recebendo alguns bugs estranhos. Ao me referir à equação \label{eg:hey}, estou escrevendo \cref{eq:hey}e obtenho equation (1,1). Muitas vezes isso resulta em equação, mas às vezes dá erro e se transforma em arquivo section 1.1.1.

Alguma idéia do porquê? Eu verifiquei e verifiquei duas vezes/triplamente se não tenho nenhuma referência múltipla definida.

Meu código de referência:

\hypersetup{colorlinks = true,citecolor = title,linkcolor = title,urlcolor = title}
\usepackage[noabbrev]{cleveref}
\creflabelformat{figure}{\color{tudelft-dark-blue} \textbf{#1#2#3}}
\crefname{figure}{figure}{figures}
\creflabelformat{table}{\color{tudelft-dark-blue} \textbf{#1#2#3}}
\crefname{table}{table}{table}
\creflabelformat{equation}{[#1#2#3]}
\creflabelformat{equation}{\color{tudelft-dark-blue}(#1#2#3)}
\crefname{equation}{\color{tudelft-dark-blue}equation}{equations}
\crefrangeformat{equation}{eq. #3[#1]#4--#5[#2]#6}
\crefrangeformat{equation}{equation #3#1#4--#5#2#6}

Meu código:

 \cref{eq:K1}
\begin{eqnarray}
K_1 &=&\sigma_n Y\sqrt{\pi a}\label{eq:K1}
\end{eqnarray}

O resultado:

insira a descrição da imagem aqui

Meu resultado ao mudar \crefpara\ref

insira a descrição da imagem aqui

Por favor ajude!

Responder1

O problema não é realmente \cref, mas sim que você está usando eqnarray. eqnarrayé conhecido por ter problemas com diversas coisas e não deve ser usado. Veja, por exemplo

Para a equação que você mostra, não há necessidade de alinhamento, o que é outro motivo para não usar eqnarray: Use equationem vez disso.

Conforme mencionado em algumas das perguntas vinculadas, use os ambientes fornecidos por amsmathem vez de eqnarray.

Exemplo mínimo mostrando o problema:

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{cleveref}    
\begin{document}
\section{ABC}
\cref{a,b}
\begin{eqnarray}
\mathit{wrong} \label{a}
\end{eqnarray}
\begin{equation}
\mathit{right} \label{b}
\end{equation}
\end{document}

Responder2

Como Torbjørn T. diz, é melhor evitar eqnarrayrealmente (roubar o MWE), se você realmente precisar usá-lo, você pode dar \crefuma ajudinha para pegar o equationcontador:

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{cleveref}    
\begin{document}
\section{ABC}
\cref{a,b}
\begin{eqnarray}
\mathit{wrong}
%set up \label for \cref
\addtocounter{equation}{-1}\refstepcounter{equation}
\label{a}
\end{eqnarray}
\begin{equation}
\mathit{right} \label{b}
\end{equation}
\end{document}

informação relacionada