이상한 \cref 버그

이상한 \cref 버그

cleverref내 문서에서 사용하고 있습니다 . 불행히도 이상한 버그가 발생했습니다. Equation 을 참조하여 \label{eg:hey}쓰고 \cref{eq:hey}있으며 get 입니다 equation (1,1). 종종 이는 방정식으로 이어지지만 때로는 버그가 발생하여 section 1.1.1.

이유가 무엇인가요? 여러 번 정의된 참조가 없는지 확인하고 이중/삼중으로 확인했습니다.

내 참조 코드:

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

내 코드:

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

결과:

여기에 이미지 설명을 입력하세요

내 결과 \cref\ref

여기에 이미지 설명을 입력하세요

도와주세요!

답변1

문제는 실제로 가 아니라 \cref을 사용하고 있다는 것입니다 eqnarray. eqnarray여러 가지 문제가 있는 것으로 알려져 있으므로 사용해서는 안 됩니다. 예를 참조하십시오

표시된 방정식의 경우 어쨌든 정렬이 필요하지 않습니다. 이는 다음을 사용하지 않는 또 다른 이유입니다 eqnarray. equation대신 사용하십시오.

연결된 질문 중 일부에서 언급 amsmath했듯이 eqnarray.

문제를 보여주는 최소한의 예:

여기에 이미지 설명을 입력하세요

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

답변2

Torbjørn T.가 말했듯 eqnarray이 MWE를 훔치는 것은 실제로 피하는 것이 가장 좋습니다. 하지만 꼭 사용해야 한다면 카운터 \cref를 선택하는 데 약간의 도움을 줄 수 있습니다 equation.

여기에 이미지 설명을 입력하세요

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

관련 정보