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?
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.
footer.tex
. It will be inserted at the end of the PDF document. I updated my answer with an example. –
Highmuckamuck 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!
© 2022 - 2024 — McMap. All rights reserved.