[Tex/LaTex] the difference between \notag and \nonumber in align environment

alignequations

I use \notag or \nonumber in align environment but there seems no any difference when display. What is the difference between these two commands?

Best Answer

Both are commands to switch off equation numbering. \nonumber is a kernel command, defined as:

\def\nonumber{\global\@eqnswfalse}

so you can use \nonumber without loading additional packages. \notag is defined in the amsmath package as \nonumber:

\newcommand{\notag}{\nonumber}

and then amsmath redefines \nonumber in the following way:

\renewcommand{\nonumber}{%
  \if@eqnsw
    \ifx\incr@eqnum\@empty \addtocounter{equation}\m@ne \fi
  \fi
  \let\print@eqnum\@empty \let\incr@eqnum\@empty
  \global\@eqnswfalse
}

which is a more safe version to use with amsmath. The definition of \notag will make \notag expand to the definition of \nonumber at the place of appearance, which is after \nonumber has been redefined. Hence (of course, when amsmath is used) the effect of both is the same.

Thanks to egreg and tohecz for their corrections.