[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