
Estou tendo um problema em que o comando \ref digita um número 1 acima do que deveria ser para equações alinhadas; as equações são numeradas corretamente, mas as referências estão desativadas. Uma \ref chamada para a última equação em alinhamento apenas imprime ??. O ambiente de equação funciona corretamente.
\documentclass{pnastwo}
\usepackage[xdvi]{graphicx}
\usepackage{amsmath}
\usepackage{xfrac}
\usepackage{refcount}
\begin{document}
\begin{article}
\begin{align}
vt=d\\\nonumber
\label{eq:1}
\end{align}
\begin{align}
\frac{d}{t}=v\\\nonumber
\label{eq:2}
\end{align}
\begin{equation}
t=\frac{d}{v}\\\nonumber
\label{eq:3}
\end{equation}
Here is the first reference: \ref{eq:1}
And here is the second: \ref{eq:2}
And here is the third: \ref{eq:3}
\end{article}
\end{document}
produz
Aqui está a primeira referência: 2
E aqui está o segundo: ??
E aqui está o terceiro: 3
Responder1
Você nunca deve ter um rastro \\
em ambientes como align
ou gather
. Você também não deve usar align
ou gather
para exibições de uma linha. Além disso, \\
não faz nada por dentro equation
.
O \label
comando refere-se à linha de exibição onde ele cai; dar depois \nonumber
apenas confunde o LaTeX.
\documentclass{pnastwo}
\usepackage{amsmath}
\usepackage{lipsum} % just for the example
\begin{document}
\begin{article}
\lipsum*[1]
\begin{align}
vt &= d \label{eq:1} \\
\frac{d}{t} & =v \label{eq:2}
\end{align}
\lipsum*[3]
\begin{equation}
t=\frac{d}{v} \label{eq:3}
\end{equation}
\lipsum[4]
Here is the first reference: \ref{eq:1}
And here is the second: \ref{eq:2}
And here is the third: \ref{eq:3}
\end{article}
\end{document}
Notas finais
O lipsum
pacote é apenas para fornecer texto. Não use a xdvi
opção for graphicx
: ela existe, mas apenas para compatibilidade com versões anteriores. Se você não usar um driver como o dvipdfmx
, nenhuma opção deverá ser fornecida. Também removi os pacotes desnecessários para o exemplo.