76

The following LaTeX document:

\documentclass{article}

\usepackage{amsmath}
\begin{document}
\begin{align}
  E=mc^2 \\ \nonumber
  E=mc^2 \label{eq1}
\end{align}

ref \ref{eq1}
\end{document}

Does not display the reference \ref{eq1}. Why?

4 Answers 4

87

The \label is on the same equation line (not code line) as the \nonumber and therefore doesn't get any equation number to label and to reference later. You need to move \nonumber (or the \label) before the \\:

\documentclass{article}

\usepackage{amsmath}
\begin{document}
\begin{align}
  E=mc^2 \nonumber \\
  E=mc^2 \label{eq1}
\end{align}

ref \ref{eq1}
\end{document}

In the above case the equation number is placed in the second row. If you want it in the first then place the \nonumber after the \\ but the \label before it.

14

use it this way:

\begin{align}
  E=mc^2 \nonumber\\ 
  E=mc^2 \label{eq1}
\end{align}

ref \ref{eq1}

Set \nonumber before the double backslash

4

For posterity: I solved this problem by commenting out the package cleverref, which was somehow interfering with my ability to reference equation numbers in the usual non-clever way (this is not the problem OP had, but this post is a top hit on google when I searched for my symptoms so I'm leaving a comment here).

0

For further reference: I solved the same issue by placing the label just next to the \begin{align} command (and with \usepackage{cleveref} active):

\begin{align}\label{eq1}
E=mc^2 \nonumber\\
E=mc^2`
\end{align}

In the text: "... equation~\ref{eq1}"

1
  • 2
    That works only by chance. The \label should be in the numbered row, not in the unnumbered one.
    – egreg
    Aug 3, 2020 at 17:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.