Search code examples
latexyamlrstudior-markdownpandoc

Creating a footer for every page (including first!) using R markdown


I'd like to add to the question Creating a footer for every page using R markdown: how do I do this for the first page of the document in addition to all the following pages?

In RStudio, this code:

---
title: "Test"
author: "Author Name"
header-includes:
- \usepackage{fancyhdr}
- \usepackage{lipsum}
- \pagestyle{fancy}
- \fancyhead[CO,CE]{This is fancy header}
- \fancyfoot[CO,CE]{And this is a fancy footer}
- \fancyfoot[LE,RO]{\thepage}
output: pdf_document
---
\lipsum[1-30]

Produces this at the bottom of pg1:

pg1

and this (oddly, shouldn't this go on the left because of the \fancyfoot[LE,RO]{\thepage}?) at the bottom of pg2:

pg2

and this at the bottom of pg3:

pg3


Solution

  • Use

    ---
    title: "Test"
    author: "Author Name"
    header-includes:
    - \usepackage{fancyhdr}
    - \usepackage{lipsum}
    - \pagestyle{fancy}
    - \fancyhead[CO,CE]{This is fancy header}
    - \fancyfoot[CO,CE]{And this is a fancy footer}
    - \fancyfoot[LE,RO]{\thepage}
    - \fancypagestyle{plain}{\pagestyle{fancy}}
    output: pdf_document
    ---
    \lipsum[1-30]
    

    which should override the plain page style - used on the first page with an issue of \maketitle - to be equivalent to fancy.

    Remark that \fancypagestyle{plain}{} has the same effect as \fancypagestyle{plain}{\pagestyle{fancy}}.