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
and after_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 itleframe
.
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
to template.tex
and includes
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
: itleframe
, ocframe
, 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
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}
ableofcontents
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
enewcommand{insertshortinstitute}{eamer@shortinstitute}
makeatother
% Title frame
def itlefigure{img/my_bg}
ewlength itleboxwidth
setlength{ itleboxwidth}{0.33 extwidth}
ewcommand{ itleframe}{%
{
setbeamertemplate{background}{
egin{tikzpicture}
useasboundingbox (0,0) rectangle( hepaperwidth, hepaperheight);
ifx itlefigureempty
fill[titlebgcolor] (6.3mm,6.4mm) rectangle ( hepaperwidth-8.3mm, hepaperheight-13mm);
else
ode at (current page.center) [anchor=center,yshift=-3.5mm] {includegraphics[width= hepaperwidth-19mm]{ itlefigure}};
fi
ode 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
};
ode 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}{}
egin{frame}[noframenumbering]
egin{tikzpicture}
useasboundingbox (0,0) rectangle( hepaperwidth, hepaperheight);
ode [
shift={(-11.5mm,-1.8mm)},
fill=titlefgcolor,
minimum width=0.46paperwidth,
minimum height=18mm,
anchor=west,
inner sep=4mm
] at (current page.west) {
hspace*{9mm}
egin{minipage}{ itleboxwidth}
aggedright
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
ewcommand{ ocframe}{%
egin{frame}
frametitle{Outline}
ableofcontents
end{frame}
}
% Section title frame
AtBeginSection[]
{
egin{frame}
frametitle{Outline}
large
ableofcontents[currentsection]
end{frame}
}
ewenvironment{closingframe}{
setbeamertemplate{background}{
egin{tikzpicture}
useasboundingbox (0,0) rectangle( hepaperwidth, hepaperheight);
ode 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}
egin{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>
See Question&Answers more detail:
os