Binb is not Beamer: Stylish pdf Presentation from RMarkdown
The Beamer package is very popular for making pdf presentations from LaTeX, and also supported from Markdown and RMarkdown. This package (currently) provides functionality to use the following custom (LaTeX) themes for Beamer directly via RMarkdown:
- Metropolis (formerly
mtheme
) by Matthias Vogelgesang (longer demo) - IQSS by Ista Zahn (longer demo)
- Presento by Ratul Saha (longer demo)
The original LaTeX styles been converted to be directly useable from RMarkdown
Consider the following minimal example, adapted from the original minimal example at the bottom of the Metropolis page:
---
title: A minimal example
author: Matthias Vogelgesang
date: \today
institute: Centre for Modern Beamer Themes
output: binb::metropolis
---
# First Section
## First Frame
Hello, world!
It creates a three-page pdf file which we converted into this animated gif (which loses font crispness, sadly):
Similarly, for IQSS we use the following input adapting the example above but showing sections and subsections for the nice headings it generates:
---
title: A minimal example
author: Ista Zahn
date: \today
institute: IQSS
output: binb::iqss
---
# First Section
## First Sub-Section
### First Frame
Hello, world!
# Second Section
## Second Subsection
### Second Frame
Another planet!
This creates this pdf file which we converted into this animated gif (also losing font crispness):
The following small example adapted some of the slides from original minimal example from the Presento repo:
---
author: Ratul Saha
address: www.ratulsaha.com
title: PRESENTO
subtitle: clean, simple and extensible
date: \today
output: binb::presento
---
## Presento
- \begin{center}\largetext{The design is \underline{clean}}\end{center} \bigskip
- \begin{center}\largetext{The rules are \underline{simple}}\end{center} \bigskip
- \item \begin{center}\largetext{The code is \underline{extensible}}\end{center}
## Open Source Fonts
- \montserratfont This is \textsc{Montserrat} \bigskip
- \notosansfont This is \textsc{Noto Sans} \bigskip
- \latolightfont This is Lato (light) \bigskip
- \inconsolatafont This is inconsolata \bigskip
- \textsc{This is Alegreya Sans small caps} \bigskip
## Color Palette
\begin{center}
\crule[colordgray] \crule[colorhgray] \crule[colorblue] \crule[colorgreen] \crule[colororange]
\end{center}
____
\begin{center}
\hugetext{BIG BOLD TEXT}
\medskip
\small but background color does not work
\end{center}
____
\tikz[overlay,remember picture] \node[opacity=0.8, at=(current page.center)]{%
\includegraphics[width=\paperwidth]{images/skeleton}};
\begin{textblock}{7}(7,2.5)
{\color{colorblue}\hugetext{\textbf{RUN!}}}
\end{textblock}
From this, one can creats this pdf file which can be converted into this animated gif (again losing font crispness):
The package is fairly new and susceptible to change, but on CRAN.
The package is on CRAN and can be installed via a standard
install.packages("binb")
and can then be used as a Markdown template via RStudio, or via code such as
library(rmarkdown)
draft("myslides.Rmd", template="metropolis", package="binb", edit=FALSE)
setwd("myslides") ## template creates a new subdir
render("myslides.Rmd")
to create a first draft of a new myslides.Rmd
.
Once installed, the above code examples should work as expected.
Beyond the R package dependencies, a working pandoc
binary is needed. RStudio installs
its own copy, otherwise do what is needed on your OS (i.e., something like sudo apt-get install pandoc pandoc-citeproc
).
The Metropolis LaTeX package is used, but we assume that is is installed via TeXLive, MikTeX or another LaTeX bundle. The LaTeX code for the IQSS Beamer Theme and the Presento Theme are included (and adapted for RMarkdown use).
These themes use additional (free) fonts you may need to install:
- Metropolis wants Fira Sans but can proceed with alternate fonts;
- IQSS Beamer Theme really requires Libertinus, see the IQSS Beamer Theme page for details.
- Presento Theme wants Montserrat, Lato Light (also here), Noto Sans, Algreya Sans as the small caps font and Inconsolata as a monospaced font.
If you use Debian or Ubuntu, you can use the informal font packages I created for Fira and Fira Sans, Libertinus, Montserrat, Alegreya Sans, respectively.
Most modern desktop systems make it easy to install additional fonts as a user. However, instructions vary so please see for your particular system.
Dirk Eddelbuettel and Ista Zahn.
GPL-2 for this package.