4

I used to typeset short exact sequences as equations. Now I want to reference to a short exact sequence by "seq." and not "eq." Therefore, I defined a new environment "ses" with an alias counter "sesC" and changed creflabelformat and crefname accordingly (Took me a while to get it working). Here is an example:

\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}

This produces, as desired, enter image description here

But it also produces

pdfTeX warning (ext4): destination with the same identifier (name{equation.0.3}) has already used, duplicate ignored

If I'm not mistaken, hyperref has a problem with the repeated use of the same counter. I don't really understand this; no two environments have the same numeration. What am I doing wrong?

Edit: To make more precise what I want to accomplish: I want "new" equations which are enumerated like normal equations and look like equations, but which are quoted by cleveref as "sequences"

Babelfish
  • 165
  • Maybe clear out your auxiliary files and recompile from scratch? This could be a leftover from a former run? – nhck Nov 01 '17 at 14:48
  • @nhck No, clearing the aux files etc. did not help – Babelfish Nov 01 '17 at 18:55
  • Your code is not compiling for me, unless I write \newenvironment{ses}[1][] instead of \newenvironment{ses}[1]. Besides, are you sure about that \begin{ses}{test}? I think that the correct code is \begin{ses}\label{test}. Please check your code carefully: your problem is relevant, but it will be impossible for you to get help if your code has mistakes not related to your problem. – Matemáticos Chibchas May 06 '20 at 14:49

0 Answers0