Search code examples
latexpdf-generationmarkdownpandocpdflatex

Pandoc LaTex PDF headed and footer


I am using pandoc v 1.18 I want to add header as well as footer text.

I want complete control meaning I want to place heater text at left, center and middle and the same with footer.

But I am unable to get even a single place to show up.

I have the following in my YAML header in my markdown file

---
header: This is fancy
footer: So is this
headertext: This is fancy
footertext: So is this
#abstract: This is a pandoc test . . .

documentclass: report
output:
  pdf_document:
    fontsize: 12pt
    mainfont: Roboto
    geometry: [top=2cm, bottom=1.5cm, left=1cm, right=1cm]
css : pandoc.css
linkcolor : cyan
toc : true
---

I have tried to use header and headertext separately as well and that did not work as well.


Solution

  • Easiest solution is to add a custom latex header. Create header.tex in your working directory and add something like:

    \usepackage{fancyhdr}
    
    \pagestyle{fancy}
    \fancyhf{}
    \rhead{Fancy on the right}
    \lhead{Fancy on the left}
    \cfoot{Fancy in the footer}
    

    See the fancyhdr manual for help.

    And then compile with pandoc myfile.md -o myfile.pdf -H header.tex. With Rmarkdown, this can be set in the YAML front matter:

    ---
    output:
      pdf_document:
        includes:
          in-header: header.tex
    ---
    

    To be able to set the header with a variable in the YAML like you wanted, you will need to play with the rmarkdown latex template (see the pandoc manual section about templates) but you'll probably lose the possibility to fine-tune the header and footer with fancyhdr.