One of the most useful features of LaTeX is its ability to handle cross-references. To use this, we first define a label at the section (or equation, table, etc.) we want to reference, using the \label{}
command, e.g.
\section{Labels and References}\label{ref_section}
The argument to the \label
command is just a text
string that you'll use to reference that part. We add a reference to
it using the \ref{}
command, which just takes that same
text string as an argument, e.g.
We can define labels in LaTeX, as we see in section \ref{ref_section},
and use these for cross-referencing.
You can put references to sections before or after the label command, so it's quite possible to have text such as "as you will see in chapter \ref{my_chapter}" which references a part you haven't got to yet.
You can reference the page on which an object appears using \pageref{}
, e.g.
We can define page references easily in LaTeX, see the reference on
page \pageref{ref_section}.
When you run LaTeX on a document with cross-references, it often
doesn't know which section the references actually refer to. You will
see a LaTeX message such as:
LaTeX Warning: There were undefined references.
LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
The first time you run LaTeX it goes through making a note of all
the labels and all the references and puts this information into
the aux
file, and then you need to run LaTeX
again, without changing the source tex
file, in
order for LaTeX to get the information from the aux
file
and sort out which references are which.
If you keep getting the error message LaTeX Warning: There
were undefined references
then it means LaTeX can't find a label that matches one of your reference commands. This is usually because you've misspelled it!
If you put the same text string into two different labels, then of
course LaTeX wouldn't know which one you meant when you referenced
it. To prevent this, if LaTeX finds two identical label strings it
will complain:
LaTeX Warning: There were multiply-defined labels.
and if you look further up in the output (or in the log
file) you will see something like:
LaTeX Warning: Label `important_equation' multiply defined.
Label some of your sections and subsections, and reference them from other parts of the document.
Try making some deliberate mistakes, e.g. misspell a label or use the same label name twice, and see what error messages LaTeX produces.
\label{label-name}
\ref{label-name}
\pageref{label-name}
Previous page | Next page |