GL
2018-03-07 19:20:20 UTC
Hello,
The LaTeX macro \cl@@ckpt maintains a list of counter.
The simplest way to append a counter in the list is to use :
\@addtoreset {counter}{@clckpt}
But hyperref redefines \@addtoreset in order for it to define
\theH<counter>
without the longer test made when the command \theH<counter>
does not exist: if \theH<counter> does not exit, hyperref
executes \***@ProvideTheHCounter which looks into \cl@@ckpt
to find a possibly parent counter.
But @ckpt is NOT a counter, and \cl@@ckpt is NOT comparable
to \***@section for example.
So:
\@addtoreset {counter}{@clckpt}
has not the same meaning as :
\@addtoreset {counter}{parent-counter}
But hyperref does not make the check, so that:
\@addtoreset {counter}{@clckpt}
finally defines: \theHcounter -> \***@clckpt .\the\value {counter}
And \***@clckpt is a undefined control sequence, since @ckpt is not a
counter.
I think hyperref should check that special use of \@addtoreset with
@ckpt, when redefining \@addtoreset.
Thanks by advance.
The LaTeX macro \cl@@ckpt maintains a list of counter.
The simplest way to append a counter in the list is to use :
\@addtoreset {counter}{@clckpt}
But hyperref redefines \@addtoreset in order for it to define
\theH<counter>
without the longer test made when the command \theH<counter>
does not exist: if \theH<counter> does not exit, hyperref
executes \***@ProvideTheHCounter which looks into \cl@@ckpt
to find a possibly parent counter.
But @ckpt is NOT a counter, and \cl@@ckpt is NOT comparable
to \***@section for example.
So:
\@addtoreset {counter}{@clckpt}
has not the same meaning as :
\@addtoreset {counter}{parent-counter}
But hyperref does not make the check, so that:
\@addtoreset {counter}{@clckpt}
finally defines: \theHcounter -> \***@clckpt .\the\value {counter}
And \***@clckpt is a undefined control sequence, since @ckpt is not a
counter.
I think hyperref should check that special use of \@addtoreset with
@ckpt, when redefining \@addtoreset.
Thanks by advance.