I would like to apply a LaTex beamer theme
in an rmarkdown::beamer_presentation
.
The custom themes contains a beamerthemeTHEMENAME.sty
, beamercolorthemeTHEMENAME.sty
, beamerfontthemeTHEMENAME.sty
, beamerinnerthemeTHEMENAME.sty
, beamerouterthemeTHEMENAME.sty
.
If the template is sourced within my YAML header, the knitted presentation does not look very close to a beamer presentation generated straight from LaTex by applying the custom theme.
Thus, which contents of the beamertheme*.sty
to modify or enhance the presentation require modification or need to be moved from the beamer theme
, e.g. to template.tex
and includes
*?
In particular, I am struggling on using the following frame templates defined in beamerouterthemeTHEMENAME.sty
: itleframe
, ocframe
, closingframe
For the footline defined in beamerouterthemeTHEMENAME.sty
, it would be very nice to have a hyperlink from the logo to the table of contents
slide (like the page numbers are linked to the appendix
).
An MWE is provided below. Any help is greatly appreciated.
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
defitlefigure{img/my_bg}
ewlengthitleboxwidth
setlength{itleboxwidth}{0.33extwidth}
ewcommand{itleframe}{%
{
setbeamertemplate{background}{
egin{tikzpicture}
useasboundingbox (0,0) rectangle(hepaperwidth,hepaperheight);
ifxitlefigureempty
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