I'm writing a document in R Markdown and I'd like it to include a footer on every page when I knit a PDF document. Does anyone have any idea on how to do this?
-
9For the fancy stuff use LaTex not Markdown! – EDi Aug 15 '14 at 17:03
-
2What @EDi said. To use LaTeX with R, try knitr. – Ari B. Friedman Aug 15 '14 at 20:15
3 Answers
Yes, this question has been asked and answered here: Adding headers and footers using Pandoc. You just need to sneak a little LaTeX into the YAML header of your markdown document.
This markdown header does the trick:
---
title: "Test"
author: "Author Name"
header-includes:
- \usepackage{fancyhdr}
- \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
---
Works for me with an Rmd file in RStudio Version 0.98.1030 for Windows.
Another option would be to use the argument includes
provided by rmarkdown::pdf_document()
(documentation). This allows you to keep the footer in a separate file. If your footer is defined in footer.tex
, the header of your R Markdown file would look like this:
---
output:
pdf_document:
includes:
after_body: footer.tex
---
This also assumes that footer.tex
is in the same directory as the R Markdown file.
Update: The file footer.tex
can contain any valid LaTeX that you want to be inserted at the end of your PDF document. For example, footer.tex
could contain the following:
This \textbf{text} will appear at the end of the document.

- 1,102
- 1
- 14
- 18
-
-
You can put any valid LaTeX in `footer.tex`. It will be inserted at the end of the PDF document. I updated my answer with an example. – John Blischak Feb 11 '20 at 16:47
To manage the height of the footer, you can use the following:
date: '`r paste("Date:",Sys.Date())`'
output:
pdf_document:
latex_engine: xelatex
header-includes:
- \setlength{\footskip}{-50pt} # set the footer size
Keep Coding!

- 289
- 2
- 10