我怎样才能使 cleveref 输出(1)
而不是eq. (1)
仅仅引用方程式?
答案1
使用(请注意,只需使用from\crefformat
即可实现相同的格式):\eqref
amsmath
\documentclass{article}
\usepackage{amsmath}
\usepackage{cleveref}
\crefformat{equation}{(#2#1#3)}
\begin{document}
\ref{eq:test}\eqref{eq:test}\cref{eq:test}
\begin{equation}
\label{eq:test}
a=b.
\end{equation}
\end{document}
您可能还希望对范围使用类似的格式:
\crefrangeformat{equation}{(#3#1#4) to~(#5#2#6)}
对于多个引用,在它们之间使用“and”(例如(1), (2) and (3)
):
\crefmultiformat{equation}{(#2#1#3)}%
{ and~(#2#1#3)}{, (#2#1#3)}{ and~(#2#1#3)}
笔记:在crefmultiformat
空间中很重要。
两个例子都取自官方文件,eq
部分则被简单移除。
答案2
更简单,只需
\crefname{equation}{}{}
在您的序言中。然后所有格式都会自动为您定义。(无需重新定义所有\crefformat
、\crefmultiformat
、\crefrangeformat
、\labelcrefformat
!)
如今,cleveref
如果您定义了一个空名称,那么...足够聪明的是省略交叉引用名称后的通常不间断空格。
答案3
如果只想在本地执行此操作,而不是对整个文档执行此操作,请使用\labelcref{…}
而不是\cref{…}
。
(这与使用相同\ref{…}
,但它还可以受益于 cleveref 的多引用功能)。