Typevia
Text Formatting

Understanding Page Numbering in LaTeX

Page numbering is one of the most fundamental aspects of document preparation. While LaTeX handles numbering automatically, beginners often need to change the numbering style (e.g., from Roman to Arabic numerals), reset the counter for different sections, or hide numbers on specific pages like the title page.

In this guide, we will explore how to master page numbering, from basic commands to advanced customization.


1. The Basics: How LaTeX Handles Numbers

By default, LaTeX uses Arabic numerals (1, 2, 3...) and places them at the bottom center of the page. This behavior is determined by the "page style."

The most important command for changing how pages are numbered is:

\pagenumbering{style}

Supported Styles

You can pass several different arguments to this command:

  • arabic: Standard Arabic numerals (1, 2, 3...)
  • roman: Lowercase Roman numerals (i, ii, iii...)
  • Roman: Uppercase Roman numerals (I, II, III...)
  • alph: Lowercase alphabetic characters (a, b, c...)
  • Alph: Uppercase alphabetic characters (A, B, C...)

Note: When you call \pagenumbering{style}, LaTeX automatically resets the page counter to 1.

Example: Switching Styles

In many academic documents, you want Roman numerals for the Table of Contents and Arabic numerals for the main text.

\documentclass{article}
\begin{document}

\pagenumbering{roman}
\section*{Abstract}
This page uses Roman numerals.
\newpage

\pagenumbering{arabic}
\section{Introduction}
This page resets to 1 and uses Arabic numerals.

\end{document}

2. Managing Page Styles

Sometimes you don't just want to change the type of number, but whether the number appears at all. This is controlled by \pagestyle{...} and \thispagestyle{...}.

Standard Page Styles

  • plain: The default. Page number at the bottom center, no header.
  • empty: No page number and no header/footer.
  • headings: No footer; the header contains the page number and chapter/section titles.

Using \thispagestyle

If you want to hide the page number on the current page only (common for title pages or pages with large images), use:

\thispagestyle{empty}

Common Pitfall: The Title Page

Even if you use \pagestyle{empty} at the beginning of your document, the \maketitle command often forces a \thispagestyle{plain} on the first page. To fix this, you must place the "empty" command after \maketitle.

\maketitle
\thispagestyle{empty} % This ensures the title page has no number

3. Manually Adjusting the Page Counter

In some cases, you might want to start numbering from a specific value or skip numbers. LaTeX stores the current page number in a "counter" called page.

Setting the Number

To force the current page to be a specific number, use \setcounter:

\setcounter{page}{5}

Incrementing the Number

To skip a number, you can use \addtocounter:

\addtocounter{page}{1}

Practical Application

If you are writing a book and the first physical page of the PDF should be "Page 5" because of external inserts:

\documentclass{article}
\begin{document}
\setcounter{page}{5}
This is technically the first page of the LaTeX document, 
but it will be labeled as page 5.
\end{document}

4. Advanced Numbering in Books

If you are using the book or report document classes, LaTeX provides high-level commands that handle page numbering and sectioning automatically. This is the "best practice" for long documents.

  • \frontmatter: Switches to Roman numerals and prevents chapter numbering.
  • \mainmatter: Switches to Arabic numerals, starts numbering from 1, and enables chapter numbering.
  • \backmatter: Used for appendices and bibliographies.
\documentclass{book}
\begin{document}

\frontmatter
\title{My Great Thesis}
\maketitle
\tableofcontents

\mainmatter
\chapter{The Beginning}
This page will be page 1 in Arabic numerals.

\end{document}

5. Customizing Placement with fancyhdr

For beginners who want complete control over where the page number appears (e.g., top right, bottom left), the fancyhdr package is the industry standard.

Example: Page Number in the Top Right

\documentclass{article}
\usepackage{fancyhdr}

\pagestyle{fancy}
\fancyhf{} % Clear all header and footer fields
\rhead{Page \thepage} % Set right header to "Page [number]"

\begin{document}
\section{Custom Headers}
The page number is now in the top-right corner.
\end{document}

In the example above, \thepage is the command that prints the current value of the page counter.


6. Best Practices and Troubleshooting

1. Clear Double Pages

If you are working on a double-sided document (twoside option), use \cleardoublepage before changing numbering styles. This ensures that the new numbering style starts on a right-hand (odd) page.

2. Hyperref Issues

If you use the hyperref package for clickable links, you might encounter "destination with the same identifier" warnings. This happens when you have two "page 1s" (one in Roman and one in Arabic). To fix this, add pdfpagelabels to your hyperref settings:

\usepackage[pdfpagelabels]{hyperref}

3. Summary of Best Practices

  • Use \pagenumbering for style changes.
  • Use \thispagestyle{empty} for pages that shouldn't show a number.
  • Use \frontmatter and \mainmatter for books.
  • Always compile your document twice to ensure that Table of Contents and page references update correctly.

Warning: Avoid manually setting the page counter (\setcounter) unless absolutely necessary. Over-reliance on manual numbering can lead to broken internal links and an inconsistent Table of Contents if you add or remove pages later.