使用cleveref
,运行该命令
\cref{e1,e2}
会打印出类似于“eqs. (1) and (2)”或“eqs. (1)—(2)”的内容。如果我需要在特定的交叉引用中使用“and”而不是“or”,该怎么办?我预计我应该使用
\newcommand\crefpairconjunction{<conjunction>}
在序言中,但我不知道如何使这种改变有条件而不是全局的,例如通过像这样的命令访问\cref[or]{e1,e2}
。
答案1
在特定情况下,您应避免\cref{e1} or~\cref{e2}
给读者留下歧义。
如果坚持的话,可以在本地重新定义相关的宏。
\documentclass{article}
\usepackage{amsmath}
\usepackage{cleveref}
\newcommand{\crefor}[1]{%
{% start a group
\providecommand{\crefpairconjunction}{}% initialize
\renewcommand{\crefpairconjunction}{~or~}% want `or'
\cref{#1}%
}% end the group
}
\begin{document}
An equation
\begin{equation}\label{e1}
a=b
\end{equation}
and another one
\begin{equation}\label{e2}
c=d
\end{equation}
Now we reference \crefor{e1,e2}; also \cref{e1,e2}.
\end{document}