Typevia
References and Citations

Introduction to Internal Links in LaTeX

When creating long documents like theses, reports, or books, navigation is key. By default, LaTeX provides a robust system for cross-referencing, but the resulting PDF files aren't automatically "clickable." To turn static references into active hyperlinks, we use the powerful hyperref package.

Internal document links allow your readers to click on a table of contents entry, a figure number, or a custom piece of text to jump instantly to that location in the document. This guide will teach you how to set up the hyperref package, use the standard labeling system, and create custom manual links.

Setting Up the hyperref Package

Before you can create links, you must include the hyperref package in your document preamble. This package is highly sophisticated; it transforms standard LaTeX commands into clickable links and generates PDF metadata.

To get started, add this line to your preamble:

\usepackage{hyperref}

Note: As a general rule of thumb, hyperref should be the last package loaded in your preamble. Many packages modify LaTeX's internal commands, and hyperref needs to "wrap" those commands to make them clickable. Loading it last ensures it works correctly with other packages.

Once this package is loaded, LaTeX will automatically convert your Table of Contents, List of Figures, and List of Tables into clickable links.


The Label and Reference System

The most common way to link within a document is using the \label and \ref system. This is used for sections, figures, tables, and equations.

1. Defining a Label

To create a target for a link, use the \label{key} command. The "key" is a unique identifier you choose.

2. Referencing the Label

To link to that target, use the \ref{key} command (for the number) or \pageref{key} (for the page number).

Example: Linking to a Section

\section{Introduction} \label{sec:intro}

In this section, we discuss the basics. You can find more details in Section \ref{sec:methods} on page \pageref{sec:methods}.

\newpage

\section{Methods} \label{sec:methods}
This is the methods section where the magic happens.

Best Practice: Naming Conventions

To keep your document organized, it is common practice to prefix your labels based on the type of object:

  • sec: for sections (e.g., sec:results)
  • fig: for figures (e.g., fig:graph)
  • tab: for tables (e.g., tab:data)
  • eq: for equations (e.g., eq:einstein)

Linking to Figures and Tables

Linking to floats (figures and tables) requires careful placement of the \label command. For the link to point to the correct location, the label must be placed after or inside the \caption command.

\begin{figure}[h]
    \centering
    \includegraphics{chart.png}
    \caption{Analysis of the 2023 data.}
    \label{fig:analysis}
\end{figure}

As seen in Figure \ref{fig:analysis}, the growth was exponential.

Warning: If you place the \label before the \caption, the link might point to the previous section instead of the figure.


Sometimes you want to link to a specific word or sentence that isn't a numbered section or figure. For this, hyperref provides the \hypertarget and \hyperlink commands.

  • \hypertarget{name}{text}: Creates a destination (an invisible anchor).
  • \hyperlink{name}{link text}: Creates a clickable link that jumps to that anchor.

Example: Manual Jump

% In one part of the document
\hypertarget{target_marker}{This is the specific spot} I want to jump to.

% In another part of the document
You can always return to the \hyperlink{target_marker}{specific spot} mentioned earlier.

This is particularly useful for glossaries, appendices, or non-standard document structures where \ref doesn't quite fit.


By default, hyperref often surrounds links with brightly colored boxes (usually red for citations and green for internal links). While these are visible on screen, they do not print. However, many authors prefer to change these to colored text or hide them entirely.

You can customize the appearance using the \hypersetup command in your preamble.

\usepackage{xcolor} % Required for colored text
\usepackage{hyperref}

\hypersetup{
    colorlinks=true,       % False: boxed links; True: colored text
    linkcolor=blue,        % Color of internal links
    filecolor=magenta,     % Color of file links
    urlcolor=cyan,         % Color of external links
    pdftitle={My Academic Paper}, % PDF metadata title
    pdfpagemode=FullScreen,
}

If you want your document to look like a standard printed book where links are invisible but still clickable, use:

\hypersetup{
    hidelinks
}

Troubleshooting and Best Practices

When working with links in LaTeX, keep these tips in mind to avoid common errors:

  1. The "Two-Run" Rule: LaTeX needs to calculate positions and reference names. When you add a new label or reference, you usually need to compile your document twice. The first run identifies the labels, and the second run fills in the numbers and links.
  2. Special Characters: Avoid using spaces or special characters (like %, $, or #) in your label keys. Stick to alphanumeric characters, dashes, and colons.
  3. The cleveref Package: For more advanced users, the cleveref package is a fantastic addition. It automatically detects the type of thing you are referencing. Instead of typing Figure \ref{fig:1}, you just type \cref{fig:1}, and it produces "Figure 1" automatically.
    • Note: If using cleveref, load it after hyperref.
  4. Equation References: For equations, use \eqref{eq:name} instead of \ref{eq:name}. This automatically adds the parentheses around the equation number, which is the standard mathematical convention.

Example: Putting It All Together

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage{hyperref}

\hypersetup{
    colorlinks=true,
    linkcolor=darkblue
}
\definecolor{darkblue}{rgb}{0,0,0.5}

\begin{document}

\tableofcontents
\newpage

\section{Introduction} \label{sec:intro}
Welcome to the guide. In Section \ref{sec:conclusion}, we wrap things up. 

\begin{equation} \label{eq:math}
    E = mc^2
\end{equation}

As shown in \eqref{eq:math}, energy and mass are related.

\newpage

\section{Conclusion} \label{sec:conclusion}
We started this journey in Section \ref{sec:intro} on page \pageref{sec:intro}.
\end{document}

By mastering these tools, you turn a static document into a dynamic, user-friendly digital experience. Whether you are writing a simple essay or a complex technical manual, proper internal linking is a hallmark of a professional LaTeX document.