[Tugindia] Problem with amsmath and varioref.

David Kastrup tugindia@tug.org
08 Jan 2003 10:18:07 +0100

Manoj Kummini <kummini@yahoo.com> writes:

> In amsmath.sty, equation is defined using mathdisplay which defines
> \label to be \label@in@display. It checks \df@label, and if that is
> not \@empty, the said error comes. \vref uses \label internally, and
> any use of \label (i.e, \label@in@display, inside mathdisplay for
> amsmath) sets \df@label. At the beginning of the equation, \df@label
> is set to \@empty. This prevents you from using multiple labels in
> equation environment. The \label that you gave caused the error. The
> problem will arise even if you reverse the order of \vref and \label.
> See the aux file for the additional \newlabel commands written by
> \label@in@display. This will become clear if you put a few
> \makeatletter\df@label\makeatother at different points in the code.
> The environment eqnarray is not defined using mathdisplay. 

To wrap this up: you should file an error report using

   latex latexbug

and eqnarray should _never_ be used when you are using amsmath.  It
is not supported by amsmath, so you'll get inconsistent spacing,
label placement as bad as without amsmath, and so on.

David Kastrup, Kriemhildstr. 15, 44793 Bochum