Cleveref:在本地缩写标签以供参考

Cleveref:在本地缩写标签以供参考

如何让 cleveref 使用我的参考文献的缩写版本,仅用于一个(几个)参考文献?我通常更喜欢写完整的标签(因此有这个noabbrev选项),但是我目前在表格标题中使用了一些参考文献,空间不足

平均能量损失

\documentclass{article}
\usepackage[nameinlink,noabbrev,capitalize]{cleveref}
\begin{document}
\begin{equation}
   c^2 = a^2 + b^2
   \label{eqn}
\end{equation}

\cref{eqn} shows an interesting result.
\end{document}

我更愿意在本地更改表范围内的标签名称(即缩写它们)。

我尝试在环境\crefname内部调用table,但没有成功。

 \begin{table}
 \crefname{equation}{Eq.}{Eqs.} % trying -- unsuccessfully -- to run '\crefname'
 \centering
    \begin{tabular}{cc}
        Assumption & \cref{eqn}
    \end{tabular}   
 \end{table}

编辑:正如 egreg 指出的那样,\crefname表格内的解决方案确实有效。我的版本中有一个拼写错误。

答案1

由于您使用了包选项capitalizecapitalise也可以使用...),您可以利用由生成的前缀标签\Cref永远不会缩写的事实。

具体来说,我建议您(a)不再指定选项noabbrev,(b)将\cref文档中的所有实例替换为\Cref,以及(c)如果您希望使用缩写前缀标签,则更改\Cref回。\cref

在此处输入图片描述

\documentclass{article}
\usepackage[colorlinks,allcolors=blue]{hyperref} % optional
\usepackage[capitalize,nameinlink]{cleveref} % note: 'noabbrev' option not specified
\begin{document}
\begin{equation}\label{pyth} c^2 = a^2 + b^2 \end{equation}
\begin{equation}\label{triv} 1+1=2 \end{equation}

\Cref{pyth,triv} show that \dots 

\cref{pyth,triv} show that \dots
\end{document}

答案2

使用hyperref,您可以使用\hyperref命令并动态自定义:\hyperref[eqn]{Eq.~\ref*{eqn}}在您的表格条目中。

相关内容