Search code examples
latexr-markdownmarkdownpandoc

r-Markdown (pagenumbering, thumb-index)


I want the pagenumber to display like this:

Screenshot 1

I have r-markdown like this:

---
LaTeX code here
---
Markdown code here

The actual code:

---
header-includes:
- \usepackage{geometry}
- \usepackage{fancyhdr}
- \usepackage{graphicx}
- \usepackage{xcolor}
- \geometry{
        a4paper,
        left=15mm,
        right=15mm,
        headheight=3cm,
        top=4cm,
        bottom=4.5cm,
        footskip=1cm,
    }
- \pagestyle{fancy}
- \renewcommand{\headrulewidth}{0.4pt}
- \renewcommand{\footrulewidth}{0.4pt}
- \fancyhead[R]{\includegraphics[width=3.5cm]{logo.png}}
- \fancyfoot[L]{multiple Details \\ multiple Details \\ multiple Details}
- \fancyfoot[C]{multiple Details \\ multiple Details \\ multiple Details}
- \fancyfoot[R]{multiple Details \\ multiple Details \\ multiple Details}
output: pdf_document
---

# Heading level 1

content

## Heading level 2

content

# Heading level 1

content

## Heading level 2

content

My question: Which package do I use and how is it possible to display my pagenumber like in the screenshot?

To convert the .md file to a .pdf I use pandoc like this:

pandoc --toc readme.md -o readme.pdf

Solution

  • If your distribution is reasonable new (within the last year or so...), you can use the shipout/foreground hook to create such a thumb index for the page number (make sure to compile two times to get the position right):

    ---
    header-includes:
    - \usepackage{geometry}
    - \usepackage{fancyhdr}
    - \usepackage{graphicx}
    - \usepackage{xcolor}
    - \geometry{
            a4paper,
            left=15mm,
            right=15mm,
            headheight=3cm,
            top=4cm,
            bottom=4.5cm,
            footskip=1cm,
        }
    - \pagestyle{fancy}
    - \fancyhead[R]{\includegraphics[width=3.5cm]{example-image-duck}}
    - \fancyfoot[L]{multiple Details \\ multiple Details \\ multiple Details}
    - \fancyfoot[C]{multiple Details \\ multiple Details \\ multiple Details}
    - \fancyfoot[R]{multiple Details \\ multiple Details \\ multiple Details}
    - \usepackage{tikzpagenodes}
    - \usepackage{lastpage}
    - \AddToHook{shipout/foreground}{\begin{tikzpicture}[remember picture,overlay]\node[draw,rotate=90,minimum width=3cm,anchor=north] at (current page text area.east) {\thepage\ / \pageref{LastPage} }; \end{tikzpicture}}
    output: 
      pdf_document:
        keep_tex: true
    ---
    
    # Heading level 1
    
    content
    
    ## Heading level 2
    
    content
    
    # Heading level 1
    
    content
    
    ## Heading level 2
    
    content
    

    enter image description here