Skip to main content

R Markdown Cookbook Practical Tips and Tricks for R Markdown

Section 6.9 Add custom headers and footers

The LaTeX package fancyhdr has provided several commands to customize the header and footer lines of your document. For a more complete guide, please refer to the full documentation at https://ctan.org/pkg/fancyhdr. To begin with, we must load the package. Then we can change the header style, e.g.,
\usepackage{fancyhdr}
\pagestyle{fancy}
The package offers three different interfaces, but we will use the commands \fancyhead and \fancyfoot. The syntax for the formatting is \fancyhead[selectors]{output text}, whereby the selectors state the part of the header that we wish to customize. We can use the following selectors for the page locators:
For example, \fancyhead[LE,RO]{Your Name} will print the text β€œYour Name” on the left side of the header for even pages, and the right side for odd pages. We can combine this with additional LaTeX commands to extract details from our document for each page:
  • \thepage: the number of the current page.
  • \thechapter: the number of the current chapter.
  • \thesection: the number of the current section.
  • \chaptername: the word β€œChapter” in English, or its equivalent in the current language.
  • \leftmark: the name and number of the current top-level structure in uppercase letters.
  • \rightmark: the name and number of the current next to top-level structure in uppercase letters.
Below is some example LaTeX code that you can add to the preamble using the methods introduced in SectionΒ 6.1:
\usepackage{fancyhdr}
\pagestyle{fancy}
% center of header
\fancyhead[CO,CE]{Your Document Header}
% center of footer
\fancyfoot[CO,CE]{And this is a fancy footer}
% page number on the left of even pages and right of odd pages
\fancyfoot[LE,RO]{\thepage}
By default, headers and footers will not be displayed on the first page of your PDF document. If we wish to show our footer on the front page, we must include an additional line \fancypagestyle{plain}{\pagestyle{fancy}}.