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_01The 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_02This also works for tables and equation. I wished I had know this little feature much earlier.