cleveref 无法显示带有 subnumcases 的正确方程标签

cleveref 无法显示带有 subnumcases 的正确方程标签

在此处输入图片描述

标签排版符合预期,但交叉引用却不符合。

\documentclass{elsarticle}

\usepackage{amsmath}
\usepackage{cases}

\usepackage[nameinlink]{cleveref}

\begin{document}
    
\begin{subnumcases}{f(x)=}
    1 & $x\geq0$
    \label{positive-subnum}
    \\
    0 & $x<0$
    \label{negative-subnum}
\end{subnumcases}
    
See the second case \cref{negative-subnum} or the first \cref{positive-subnum}

\end{document}

答案1

我不知道为什么,但是常规标签是正确的,而cleveref的辅助标签却不正确。这是我们在 MWE 的辅助文件中找到的内容:

\newlabel{positive-subnum}{{1a}{1}{}{}{}}
\newlabel{positive-subnum@cref}{{[subequation][1][1]1a}{[1][1][]1}}
\newlabel{negative-subnum}{{1b}{1}{}{}{}}
\newlabel{negative-subnum@cref}{{[subequation][1][1]1a}{[1][1][]1}}

因此negative-subnum具有正确的默认引用1b,但在negative-subnum@cref我们发现。因此,和[subequation][1][1]1a之间似乎存在某种不良交互,缺乏对它们一起使用的支持。casescleveref

如果你愿意,zref-clever请正确理解这一点:

\documentclass{elsarticle}

\usepackage{amsmath}
\usepackage{cases}

\usepackage{zref-clever}
\zcsetup{abbrev}

\begin{document}

\begin{subnumcases}{f(x)=}
    1 & $x\geq0$
    \label{positive-subnum}
    \\
    0 & $x<0$
    \label{negative-subnum}
\end{subnumcases}

See the second case \zcref{negative-subnum} or the first \zcref{positive-subnum}

\end{document}

在此处输入图片描述

相关内容