1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402
|
\name{ioslides_presentation}
\alias{ioslides_presentation}
\title{Convert to an ioslides Presentation}
\description{
Format for converting from R Markdown to an \href{https://code.google.com/p/io-2012-slides/}{ioslides} presentation.
}
\usage{
ioslides_presentation(logo = NULL, slide_level = 2, incremental = FALSE,
fig_width = 7.5, fig_height = 4.5, fig_retina = 2, fig_caption = TRUE,
dev = "png", df_print = "default", smart = TRUE, self_contained = TRUE,
widescreen = FALSE, smaller = FALSE, transition = "default",
mathjax = "default", analytics = NULL, template = NULL, css = NULL,
includes = NULL, keep_md = FALSE, lib_dir = NULL, md_extensions = NULL,
pandoc_args = NULL, extra_dependencies = NULL, ...)
}
\arguments{
\item{logo}{Path to file that includes a logo for use in
the presentation (should be square and at least 128x128)}
\item{slide_level}{Header level to consider as slide separator (Defaults to header 2)}
\item{incremental}{\code{TRUE} to render slide bullets
incrementally. Note that if you want to reverse the
default incremental behavior for an individual bullet you
can preceded it with \code{>}. For example: \emph{\code{>
- Bullet Text}}}
\item{fig_width}{Default width (in inches) for figures}
\item{fig_height}{Default width (in inches) for figures}
\item{fig_retina}{Scaling to perform for retina displays
(defaults to 2,which currently works for all widely used
retina displays). Set to\code{NULL} to prevent retina
scaling. Note that this will always be\code{NULL} when
\code{keep_md} is specified (this is because
\code{fig_retina} relies on outputting HTML directly
into the markdown document).}
\item{fig_caption}{\code{TRUE} to render figures with
captions}
\item{dev}{Default graphics device to use for figure output}
\item{df_print}{Method to be used for printing data frames. Valid values
include "default", "kable", and "tibble". The "default" method uses
\code{print.data.frame}. The "kable" method uses the
\code{\link[knitr:kable]{knitr::kable}} function. The "tibble" method uses
the \pkg{tibble} package to print a summary of the data frame. In addition
to the named methods you can also pass an arbitrary function to be used
for printing data frames.}
\item{smart}{Produce typographically correct output,
converting straight quotes to curly quotes, --- to
em-dashes, -- to en-dashes, and ... to ellipses.}
\item{self_contained}{Produce a standalone HTML file with
no external dependencies, using data: URIs to incorporate
the contents of linked scripts, stylesheets, images, and
videos. Note that even for self contained documents
MathJax is still loaded externally (this is necessary
because of it's size).}
\item{widescreen}{Display presentation with wider
dimensions.}
\item{smaller}{Use smaller text on all slides. You can
also enable this for individual slides by adding the
\code{.smaller} attribute to the slide header (see
\emph{Presentation Size} below for details).}
\item{transition}{Speed of slide transitions. This can be "default",
"slower", "faster", or a numeric value with a number of seconds (e.g.
0.5)}
\item{mathjax}{Include mathjax. The "default" option uses
an https URL from the official MathJax CDN. The "local"
option uses a local version of MathJax (which is copied
into the output directory). You can pass an alternate URL
or pass \code{NULL} to exclude MathJax entirely.}
\item{analytics}{A Google analytics property ID}
\item{template}{Path to a pandoc template to use instead of
the default bundled template.}
\item{css}{One or more css files to include}
\item{includes}{Named list of additional content to
include within the document (typically created using the
\code{\link{includes}} function). If a \code{before_body}
include is specified then it will replace the standard
title slide entirely.}
\item{keep_md}{Keep the markdown file generated by knitting.}
\item{lib_dir}{Directory to copy dependent HTML libraries
(e.g. jquery, bootstrap, etc.) into. By default this will be
the name of the document with \code{_files} appended to it.}
\item{md_extensions}{Markdown extensions to be added or
removed from the default definition or R Markdown. See the
\code{\link{rmarkdown_format}} for additional details.}
\item{pandoc_args}{Additional command line options to
pass to pandoc}
\item{extra_dependencies, ...}{Additional function arguments to pass to the
base R Markdown HTML output formatter \code{\link{html_document_base}}}
}
\value{
R Markdown output format to pass to \code{\link{render}}
}
\details{
See the \href{http://rmarkdown.rstudio.com/ioslides_presentation_format.html}{online
documentation} for additional details on using the \code{ioslides_presentation} format.
}
\section{Slide Basics}{
You can create a slide show broken up into sections by using the # and ##
heading tags (you can also create a new slide without a header using a
horizontal rule (\code{----------}). For example here's a simple slide show:
\preformatted{
---
title: "Habits"
author: John Doe
date: March 22, 2005
output: ioslides_presentation
---
# In the morning
## Getting up
- Turn off alarm
- Get out of bed
## Breakfast
- Eat eggs
- Drink coffee
# In the evening
## Dinner
- Eat spaghetti
- Drink wine
----------

## Going to sleep
- Get in bed
- Count sheep
}
You can add a subtitle to a slide or section by including text after the
pipe (|) character. For example:
\preformatted{
## Getting up | What I like to do first thing
}
}
\section{Display Modes}{
The following single character keyboard shortcuts enable alternate
display modes:
\itemize{
\item{\code{'f'} }{enable fullscreen mode}
\item{\code{'w'} }{toggle widescreen mode}
\item{\code{'o'} }{enable overview mode}
\item{\code{'h'} }{enable code highlight mode}
\item{\code{'p'} }{show presenter notes}
}
Pressing \code{Esc} exits all of these modes. See the sections below
on \emph{Code Highlighting} and \emph{Presenter Mode} for additional
detail on those modes.
}
\section{Incremental Bullets}{
You can render bullets incrementally by adding the \code{incremental}
option:
\preformatted{
---
output:
ioslides_presentation:
incremental: true
---
}
If you want to render bullets incrementally for some slides but not
others you can use this syntax:
\preformatted{
> - Eat eggs
> - Drink coffee
}
}
\section{Presentation Size}{
You can display the presentation using a wider form factor using the
\code{widescreen} option. You can specify that smaller text be used with
the \code{smaller} option. For example:
\preformatted{
---
output:
ioslides_presentation:
widescreen: true
smaller: true
---
}
You can also enable the \code{smaller} option on a slide-by-slide basis
by adding the \code{.smaller} attibute to the slide header:
\preformatted{
## Getting up {.smaller}
}
}
\section{Adding a Logo}{
You can add a logo to the presentation using the \code{logo} option (the
logo should be square and at least 128x128). For example:
\preformatted{
---
output:
ioslides_presentation:
logo: logo.png
---
}
A 128x128 version of the logo graphic will be added to the title slide and
an icon version of the logo will be included in the bottom-left footer of
each slide.
}
\section{Build Slides}{
Slides can also have a \code{.build} attribute that indicate that their
content should be displayed incrementally. For example:
\preformatted{
## Getting up {.build}
}
Slide attributes can be combined if you need to specify more than one,
for example:
\preformatted{
## Getting up {.smaller .build}
}
}
\section{Code Highlighting}{
It's possible to select subsets of code for additional emphasis by adding a
special "highlight" comment around the code. For example:
\preformatted{
### <b>
x <- 10
y <- x * 2
### </b>
}
The highlighted region will be displayed with a bold font. When you want to
help the audience focus exclusively on the highlighted region press the
\code{'h'} key and the rest of the code will fade away.
}
\section{Tables}{
The ioslides template has an attractive default style for tables so you
shouldn't hesitate to add tables for presenting more complex sets of
information. Pandoc markdown supports several syntaxes for defining
tables which are described in the \href{http://pandoc.org/README.html}{pandoc online documentation}.
}
\section{Advanced Layout}{
You can center content on a slide by adding the \code{.flexbox}
and \code{.vcenter} attributes to the slide title. For example:
\preformatted{
## Dinner {.flexbox .vcenter}
}
You can horizontally center content by enclosing it in a \code{div} tag
with class \code{centered}. For example:
\preformatted{
<div class="centered">
This text is centered.
</div>
}
You can do a two-column layout using the \code{columns-2} class.
For example:
\preformatted{
<div class="columns-2">

- Bullet 1
- Bullet 2
- Bullet 3
</div>
}
Note that content will flow across the columns so if you want to
have an image on one side and text on the other you should make
sure that the image has sufficient height to force the text to
the other side of the slide.
}
\section{Text Color}{
You can color content using base color classes red, blue, green, yellow,
and gray (or variations of them e.g. red2, red3, blue2, blue3, etc.).
For example:
\preformatted{
<div class="red2">
This text is red
</div>
}
}
\section{Presenter Mode}{
A separate presenter window can also be opened (ideal for when you are
presenting on one screen but have another screen that's private to you).
The window stays in sync with the main presentation window and also
shows presenter notes and a thumbnail of the next slide. To enable
presenter mode add \code{?presentme=true} to the URL of the presentation,
for example:
\preformatted{
mypresentation.html?presentme=true
}
The presenter mode window will open and will always re-open with the
presentation until it's disabled with:
\preformatted{
mypresentation.html?presentme=false
}
To add presenter notes to a slide you include it within a "notes"
\code{div}. For example:
\preformatted{
<div class="notes">
This is my *note*.
- It can contain markdown
- like this list
</div>
}
}
\section{Printing and PDF Output}{
You can print an ioslides presentation from within browsers that have
good support for print CSS (i.e. as of this writing Google Chrome
has the best support). Printing maintains most of the visual styles
of the HTML version of the presentation.
To create a PDF version of a presentation you can use Print to PDF
from Google Chrome.
}
|