Creating a footer for every page using R markdown
Asked Answered
G

3

34

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?

Goddart answered 15/8, 2014 at 15:32 Comment(2)
For the fancy stuff use LaTex not Markdown!Intern
What @Intern said. To use LaTeX with R, try knitr.Depressomotor
L
49

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.

Ludwig answered 18/8, 2014 at 5:43 Comment(0)
H
1

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.
Highmuckamuck answered 1/2, 2019 at 19:43 Comment(2)
Can you provide an example footer.tex? What are the minimal contents?Catfall
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.Highmuckamuck
P
0

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!

Pontic answered 27/2, 2020 at 6:33 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.