Insert a logo in upper right corner of R markdown pdf document
Solution 1:
You can use the includes
option in the yaml to specify a custom addition to your latex header. The yaml part would look like
---
output:
pdf_document:
keep_tex: true
includes:
in_header: header.tex
---
and you need to save a separate file called header.tex
with the following defining your company logo like so:
\usepackage{fancyhdr}
\pagestyle{fancy}
\rhead{\includegraphics[width = .05\textwidth]{logo.png}}
Here I used the fancyhdr
latex package to add the logo, but there are other potential solutions. See here for more options.
Solution 2:
Ok, I have found the solution:
---
title:
header-includes:
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\setlength\headheight{28pt}
\fancyhead[L]{\includegraphics[width=5cm]{GPIM_Logo_300x85.png}}
\fancyfoot[LE,RO]{GPIM}
output: pdf_document
---
Solution 3:
I've tried many solutions presented here and in other forums, none of which worked. I've finally came to a solution that worked for me.
---
title: 'Fancy Title Here'
author: "Diego"
date: "today"
output:
pdf_document:
toc: yes
header-includes:
- \usepackage{fancyhdr}
---
\addtolength{\headheight}{1.0cm} % make more space for the header
\pagestyle{fancyplain} % use fancy for all pages except chapter start
\rhead{\includegraphics[height=1.2cm]{C:/Path/to/logo/logo}} % right logo
\renewcommand{\headrulewidth}{0pt} % remove rule below header
I hope that helps someone the same way it helped me.
Solution 4:
For those using flexdashboard
see this addition to entry preamble text for logos and favicon, although its upper left not right:
http://rmarkdown.rstudio.com/flexdashboard/using.html#logo__favicon
so your start of the .Rmd
file looks like this:
---
title: "myappR"
output:
flexdashboard::flex_dashboard:
logo: mylogo.png
favicon: mylogo.png
theme: bootstrap
runtime: shiny
---
I left my logo in the root directory with a simple name. And:
- Kept logo height 48 pixels as this plays nicely with the theme,
- Be careful of spaces and indents and,
- Do not forget the ending : after flexdashboard.
Solution 5:
I have found a solution to make a logo only on the first page:
\addtolength{\headheight}{1.0cm} % make more space for the header
\fancypagestyle{plain}{} % this is to remove the default plain style for the first page
\thispagestyle{fancy} % use fancy for all pages except chapter start
\fancyhead[L]{\includegraphics[width = 100pt]{ManchesterLogo.png}}
\renewcommand{\headrulewidth}{0pt} % remove rule below header