我正在使用该Cleveref
包,并在我的文档中定义了多个新的交叉引用类型,它们都引用了图形,即
\Crefname{figure}{Fig.}{Figs.}
\Crefname{fig_a}{Fig.}{Figs.}
\creflabelformat{fig_a}{#2{\color{NavyBlue}#1a)}#3}
\Crefname{fig_b}{Fig.}{Figs.}
\creflabelformat{fig_b}{#2{\color{NavyBlue}#1b)}#3}
\Crefname{fig_c}{Fig.}{Figs.}
\creflabelformat{fig_c}{#2{\color{NavyBlue}#1c)}#3}
原因是我的数字包含部分A),b)等,但不是作为子图,而是作为预编译图中的标签。因此,为了引用此类图形的各个部分,我认为可以向同一张图添加多个标签,即
\begin{figure}
...
\caption{Figure with parts a) and b) and c)}
\label{figure}
\label[fig_a]{figure:a}
\label[fig_b]{figure:b}
\label[fig_c]{figure:c}
\end{figure}
现在我希望能够写
\Cref{figure:a,figure:b}
\Cref{figure:a,,figure:c}
并获得一个引用,就好像所有这些引用都是类型figure
,所以类似于如图。3.2a)和3.2b)和如图。3.2a)到3.2c)。然而,由于所有这些参考文献都是不同类型的,我得到的是如图。3.2a)和图。3.2b)和如图。3.2a)至图3.2b)。
我怎样才能摆脱第二个如图。在一系列引用中?我尝试用 来解决这个问题,\crefalias{fig_a}{figure}
但是没有解决问题。
感谢您的帮助!
答案1
问题解决
\usepackage[nameinlink,capitalize]{cleveref}
\Crefname{figure}{fig.}{Fig.}
\Crefname{fig_a}{fig.}{Fig.}
\creflabelformat{fig_a}{#2{\color{NavyBlue}#1a)}#3}
\Crefname{fig_b}{fig.}{Fig.}
\creflabelformat{fig_b}{#2{\color{NavyBlue}#1b)}#3}
\Crefname{fig_c}{fig.}{Fig.}
\creflabelformat{fig_c}{#2{\color{NavyBlue}#1c)}#3}