我过去常常将短正合序列排版为方程式。现在我想用“seq.”而不是“eq.”来引用短正合序列。因此,我定义了一个新环境“ses”,并带有一个别名计数器“sesC”,并相应地更改了 creflabelformat 和 crefname(我花了一段时间才让它正常工作)。下面是一个例子:
\documentclass{article}
\usepackage{amsmath} % needed for its \numberwithin command
\usepackage{hyperref}
\usepackage[nameinlink]{cleveref}
\usepackage{aliascnt}
\newaliascnt{sesC}{equation}
\aliascntresetthe{sesC}
\newenvironment{ses}[1]{\refstepcounter{sesC}\label{ses:#1}\equation}{\tag{\thesesC}\endequation}
\crefname{sesC}{seq.}{seqs.}
\creflabelformat{sesC}{#2\textup{(#1)}#3}
\begin{document}
\begin{equation}
x=y \label{eq}
\end{equation}
\begin{ses}{test}
A\to B \to C
\end{ses}
Reference to the equation: \cref{eq}\\
Reference to the sequence: \cref{ses:test}\\
Reference to the other equation: \cref{eq2}\\
\begin{equation}
y=z \label{eq2}
\end{equation}
\end{document}
但它也产生了
pdfTeX warning (ext4): destination with the same identifier (name{equation.0.3}) has already used, duplicate ignored
如果我没记错的话,hyperref 在重复使用同一个计数器时存在问题。我不太明白这一点;没有两个环境有相同的计数。我做错了什么?
编辑:为了更精确地说明我想要完成的任务:我想要“新”方程,这些方程像普通方程一样被枚举并且看起来像方程,但是被 cleveref 引用为“序列”