自定义 \cref 引用

自定义 \cref 引用

我通常使用该cleveref包来引用方程式,例如以下内容:

\documentclass{article}
\usepackage[noabbrev]{cleveref}

\begin{document}

\begin{equation}\label{equation1}
1 + 1 = 2.
\end{equation}

A reference to \cref{equation1}.

\end{document}

结果为“对公式 (1) 的引用”。

但有时我在方程式环境中写的东西不是方程式,例如:

\documentclass{article}
\usepackage[noabbrev]{cleveref}

\begin{document}

\begin{equation}\label{isomorphism1}
G \cong C_2 \times C_2
\end{equation}

A reference to \cref{isomorphism1}.

\end{document}

我怎样才能更改我的代码,使其显示为:“对同构的引用 (1)。”

更一般地,如果方程环境中的对象是同伦等价、同态,任何给定的等价关系,ETC

到目前为止,我一直按照以下方式手动进行操作:

\documentclass{article}
\usepackage[noabbrev]{cleveref}

\begin{document}

\begin{equation}\label{isomorphism1}
G \cong C_2 \times C_2
\end{equation}

A reference to isomorphism (\ref{isomorphism1}).

\end{document}

这是可行的,但并不理想,原因有二:

(1)它是手动的。

(2)“同构”部分无法被超链接,如果你想的话。

感谢您的关注。

答案1

以下是我的建议:

\documentclass{article}
\usepackage{hyperref}
\usepackage[noabbrev]{cleveref}
\crefname{isomorphism}{isomorphism}{isomorphisms}
\creflabelformat{isomorphism}{#2\textup{(#1)}#3}
\begin{document}

\begin{equation}\label[isomorphism]{equation1}
1 + 1 = 2.
\end{equation}

A reference to \cref{equation1}.


\begin{equation}\label{equation2}
1 + 1 = 2.
\end{equation}

A reference to \cref{equation2}.

\end{document}

相关内容