We often want something like ‘See Theorem~31’. But by-hand typing the 31 is poor practice. Instead you should write a label such as \label{eq:GreensThm}
and then reference it, as with See equation~\ref{eq:GreensThm}
. LaTeX will automatically work out the number, put it into the output, and will change that number later if needed.
We will see this with Theorem~\ref{th:GreensThm}. % forward reference ... \begin{theorem} \label{th:GreensThm} ... \end{theorem} ... See Theorem~\ref{th:GreensThm} on page~\pageref{th:GreensThm}.
LaTeX tracks cross reference information in a file having the extension .aux and with the same base name as the file containing the \label
. So if \label
is in calculus.tex then the information is in calculus.aux. LaTeX puts the information in that file every time it runs across a \label
.
The behavior described in the prior paragraph results in a quirk that happens when your document has a forward reference, a \ref
that appears before the associated \label
. If this is the first time that you are compiling the document then you will get ‘LaTeX Warning: Label(s) may have changed. Rerun to get cross references right’ and in the output the forward reference will appear as two question marks ‘??’, in boldface. A similar thing happens if you change some things so the references changes; you get the same warning and the output contains the old reference information. In both cases, resolve this by compiling the document a second time.
The cleveref
package enhances LaTeX’s cross referencing features. You can arrange that if you enter \begin{thm}\label{th:Nerode}...\end{thm}
then \cref{th:Nerode}
will output ‘Theorem 3.21’, without you having to enter the “Theorem.”
• \label | Assign a symbolic name to a piece of text. | |
• \pageref | Refer to a page number. | |
• \ref | Refer to a section, figure or similar. |
© 2007–2018 Karl Berry
Public Domain Software
http://latexref.xyz/Cross-references.html