如何让 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
由于您使用了包选项capitalize
(capitalise
也可以使用...),您可以利用由生成的前缀标签\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}}
在您的表格条目中。