In technical and scientific writing it is common to references figures, tables and equations in the text. The figure, for example, would have a caption that reads “Figure 1: Robot at the beach”. In the text we then want to reference this figure as (see Figure 1). For far too long I made my own life too difficult by not taking advantage of some of the more advanced featurs of LaTeX. Here are some leasons I learned.
It would be possible to hard code the reference in the text by writing (see Figure 1)
, but this is not recommendet since the numbering might change when you add more figure or tables . Hence we use dynamic referencing by giving each figure or table a label which we reference using the \ref{label}
command. In the text we would write (see Figure \ref{fig:robot})
. Here is a complete example:
\documentclass[a5paper]{article}
\usepackage{graphicx}
\usepackage{lipsum}
\begin{document}
\lipsum[2] (see Figure \ref{fig:robot})
\begin{figure}[h]
\includegraphics[width=0.5\linewidth]{robot.jpg}
\caption{Robot at the beach}
\label{fig:robot}
\end{figure}
\end{document}
This will be rendered to PDF as:
Cross_referencing_documentation_01
The first, and possibly most effective time safer, is to use the \autoref{label}
feature of the hyperref package. You should probably always use this package anyway for other reasons by adding \usepackage{hyperref}
.
\documentclass[a5paper]{article}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{hyperref}
\begin{document}
\lipsum[2] (see \autoref{fig:robot})
\begin{figure}[h]
\includegraphics[width=0.5\linewidth]{robot.jpg}
\caption{Robot at the beach}
\label{fig:robot}
\end{figure}
\end{document}
This will automatically add the appropriate type of reference. For the figure type, it will add “Figure” to the text for you. This will be rendered to:
Cross_referencing_documentation_02
This also works for tables and equation. I wished I had know this little feature much earlier.