如何使用 cleveref 排版“...(例如公式 6)”?

如何使用 cleveref 排版“...(例如公式 6)”?

我使用该cleveref包生成方程式引用,如Figure 3Equation (12)。方程式引用的括号大多数情况下都没问题,但当引用已经用括号括起来时,这似乎很愚蠢。

当我使用时...(e.g. \Cref{eqn:ExampleEqn}),它会将其排版为...(e.g. Equation (6))。我想要的是它看起来像...(e.g. Equation 6)

我知道\citep{}能够以不同的方式排版引文:\citep[e.g.][]{Author2019}产生(至少使用 Elsevier 作者-年份引文样式)(e.g. Author, 2019)。我希望 也能有类似的效果cleveref

是否cleveref有一种“聪明”的方法来引用括号内的内容,以便不添加额外的括号?如果是,该怎么做?如果不是,这次有什么好办法吗(类似 SX 问题的答案通常针对整个文档)?

答案1

使括号可以通过宏插入,您可以随意重新定义它。

\documentclass{article}
\usepackage{amsmath}
\usepackage{cleveref}

\crefformat{equation}{Equation~\textup{\OPEN#2#1#3\CLOSE}}
\newcommand{\OPEN}{(}
\newcommand{\CLOSE}{)}
\newcommand{\tcref}[1]{%
  \begingroup
  \renewcommand{\OPEN}{}%
  \renewcommand{\CLOSE}{}%
  \cref{#1}%
  \endgroup
}

\begin{document}

\begin{equation}
a=b \label{test}
\end{equation}

\cref{test}

\tcref{test}

\end{document}

在此处输入图片描述

相关内容