Странная ошибка \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, что вы используете 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

Как говорит Торбьёрн Т., лучше избегать 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}

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