![如何使用 cleveref 排版“...(例如公式 6)”?](https://linux22.com/image/388762/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20cleveref%20%E6%8E%92%E7%89%88%E2%80%9C...(%E4%BE%8B%E5%A6%82%E5%85%AC%E5%BC%8F%206)%E2%80%9D%EF%BC%9F.png)
我使用该cleveref
包生成方程式引用,如Figure 3
和Equation (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}