R markdown presentations with output format beamer
can make use of
- Classical LaTex beamer themes such as Copenhagen or Madrid or employ custom beamer themes.
- Templates , i.e. a
template.tex
- Includes, e.g.
in_header: preamble.tex
,before_body: before_body.tex
andafter_body: after_body.tex
which can be implemented in the rmarkdown::beamer_presentation
through the YAML-header as follows:
theme: "THEMENAME"
template: template.tex
includes:
in_header: preamble.tex
before_body: before_body.tex
after_body: after_body.tex
Question I: What are the specific purposes of these files listed above?
I got provided with a custom themes for beamer, containing beamerthemeTHEMENAME.sty
, beamercolorthemeTHEMENAME.sty
, beamerfontthemeTHEMENAME.sty
, beamerinnerthemeTHEMENAME.sty
, beamerouterthemeTHEMENAME.sty
.
Sourcing this template within my YAML header does not lead to the presentation looking too close to any beamer presentation generated straight with LaTex and applying the custom theme.
As an example, in the beamerouterthemeTHEMENAME.sty
, a new titleframe
is defined, which can then be called at the beginning of the LaTex presentation with \titleframe
.
I did not succeed in applying this custom frame-type in the rmarkdown::beamer_presentation
.
Question II: Applying a LaTex beamer theme
in an rmarkdown::beamer_presentation
, which contents to modify or enhance the presentation
- would have to be adapted or
- moved from the
beamer theme
totemplate.tex
andincludes
such that they are applied to the presentation in rmarkdown just as in LaTex?
Question III: Can the final files of the custom theme
, the template.tex
, and the includes
be moved to a sub-folder for the neater organization of the presentation folder and still be loaded correctly
MWE & issues remaining
- Can not use the following frame templates defined in
beamerouterthemeTHEMENAME.sty
:\titleframe
,\tocframe
,\closingframe
- footline defined in
beamerouterthemeTHEMENAME.sty
:- Succeeded in linking the page numbers to the
appendix
. - Would be nice to link the logo to the
table of contents
slide
- Succeeded in linking the page numbers to the
MWE.Rmd
---
title: "MWE"
subtitle: "Beamer presnetation with R-markdown"
institute: "some place"
date: "`r format(Sys.time(), '%B %d, %Y')`"
output:
# beamer_presentation: default
bookdown::pdf_book:
base_format: rmarkdown::beamer_presentation
# includes:
# in_header: preamble.tex
theme: "THEMENAME"
latex_engine: xelatex
toc: false
slide_level: 2
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```
# Random presentation
## TOC - Table of Contents {.unnumbered}
\tableofcontents
\label{contents}
## Slide with Bullets
- Bullet 1
- Bullet 2
- Bullet 3
## Apendix
\appendix
beamerthemeTHEMENAME.sty
\usepackage[utf8]{inputenc}
% Tizk, textpos, graphics
\RequirePackage{tikz}
\RequirePackage{textpos}
\RequirePackage{xcolor}
\RequirePackage{booktabs}
% Beamer settings
\usecolortheme{THEMENAME}
\useoutertheme{THEMENAME}
\setbeamertemplate{navigation symbols}{}
\mode<all>
beamercolorthemeTHEMENAME.sty
\mode<presentation>
\definecolor{THEMECOL}{RGB}{162,48,47} % red
\definecolor{THEMEgray}{RGB}{110,110,101}% gray
\colorlet{titlefgcolor}{THEMECOL} % color of box
\colorlet{titlebgcolor}{THEMEgray} % color of box
\setbeamercolor*{title}{fg=THEMECOL} % presentation title
\setbeamercolor*{author}{fg=THEMECOL} % author
\setbeamercolor*{date}{fg=THEMECOL} % date
\mode<all>
beamerouterthemeTHEMENAME.sty
\mode<presentation>
% Redefine \insertshortinstitute to allow multiple lines
\makeatletter
\renewcommand{\insertshortinstitute}{\beamer@shortinstitute}
\makeatother
% Title frame
\def\titlefigure{img/my_bg}
\newlength\titleboxwidth
\setlength{\titleboxwidth}{0.33\textwidth}
\newcommand{\titleframe}{%
{
\setbeamertemplate{background}{
\begin{tikzpicture}
\useasboundingbox (0,0) rectangle(\the\paperwidth,\the\paperheight);
\ifx\titlefigure\empty
\fill[titlebgcolor] (6.3mm,6.4mm) rectangle (\the\paperwidth-8.3mm,\the\paperheight-13mm);
\else
\node at (current page.center) [anchor=center,yshift=-3.5mm] {\includegraphics[width=\the\paperwidth-19mm]{\titlefigure}};
\fi
\node at (current page.north east) [anchor=base east, xshift=-8.3mm, yshift=-6.3mm, align=left, inner sep=0mm, font=\fontsize{5.5}{6.6}\selectfont] {
\insertshortinstitute
};
\node at (current page.north west) [anchor=south west, inner sep=0mm, xshift=8.3mm, yshift=-8.6mm] {
\includegraphics[height=3.8mm]{img/my_logo}
};
\end{tikzpicture}
}
\setbeamertemplate{footline}{}
\begin{frame}[noframenumbering]
\begin{tikzpicture}
\useasboundingbox (0,0) rectangle(\the\paperwidth,\the\paperheight);
\node [
shift={(-11.5mm,-1.8mm)},
fill=titlefgcolor,
minimum width=0.46\paperwidth,
minimum height=18mm,
anchor=west,
inner sep=4mm
] at (current page.west) {
\hspace*{9mm}
\begin{minipage}{\titleboxwidth}
\raggedright
\usebeamerfont{title}\usebeamercolor[fg]{title}\inserttitle\\[3mm]
\usebeamerfont{author}\usebeamercolor[fg]{author}\insertauthor\\
\usebeamerfont{date}\usebeamercolor[fg]{date}\insertdate
\end{minipage}
};
\end{tikzpicture}
\end{frame}
}
}
% TOC frame
\newcommand{\tocframe}{%
\begin{frame}
\frametitle{Outline}
\tableofcontents
\end{frame}
}
% Section title frame
\AtBeginSection[]
{
\begin{frame}
\frametitle{Outline}
\large
\tableofcontents[currentsection]
\end{frame}
}
\newenvironment{closingframe}{
\setbeamertemplate{background}{
\begin{tikzpicture}
\useasboundingbox (0,0) rectangle(\the\paperwidth,\the\paperheight);
\node at (current page.north west) [anchor=base west, xshift=8mm, yshift=-10mm, align=left] {
\includegraphics[width=23mm]{img/my_logo.png}
};
\end{tikzpicture}
}
\setbeamertemplate{footline}{}
\addtolength{\headsep}{10mm}
\begin{frame}[noframenumbering]
}%
{
\end{frame}
}%
% Footline
\setbeamertemplate{footline}{
\leavevmode%
\hyperlink{contents}{\includegraphics[width=12mm,trim=0mm 0.4mm 0mm 0mm]{img/my_logo.png}}
\hfill
\hyperlinkappendixstart{\insertframenumber/\inserttotalframenumber}
\vspace{3mm}
}
\mode<all>