奇怪的 \cref 錯誤

奇怪的 \cref 錯誤

cleverref在我的文檔中使用。不幸的是我收到了一些奇怪的錯誤。透過參考方程\label{eg:hey},我正在寫\cref{eq:hey}並得到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,而是你使用的方式eqnarrayeqnarray已知有一些問題,不應該使用。參見例如

對於您顯示的等式,無論如何都不需要對齊,這是不使用eqnarray: Use 的另一個原因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}

相關內容