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 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435
|
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/ioslides_presentation.R
\name{ioslides_presentation}
\alias{ioslides_presentation}
\title{Convert to an ioslides Presentation}
\usage{
ioslides_presentation(
number_sections = FALSE,
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",
math_method = "mathjax",
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{number_sections}{\code{TRUE} to number section headings}
\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{\verb{> - Bullet Text}}.}
\item{fig_width}{Default width (in inches) for figures}
\item{fig_height}{Default height (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}{Graphics device to use for figure output (defaults to png)}
\item{df_print}{Method to be used for printing data frames. Valid values
include "default", "kable", "tibble", and "paged". The "default" method
uses a corresponding S3 method of \code{print}, typically
\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. The "paged"
method creates a paginated HTML table (note that this method is only valid
for formats that produce HTML). In addition to the named methods you can
also pass an arbitrary function to be used for printing data frames. You
can disable the \code{df_print} behavior entirely by setting the option
\code{rmarkdown.df_print} to \code{FALSE}. See
\href{https://bookdown.org/yihui/rmarkdown/html-document.html#data-frame-printing}{Data
frame printing section} in bookdown book for examples.}
\item{smart}{Produce typographically correct output, converting straight
quotes to curly quotes, \verb{---} to em-dashes, \verb{--} to en-dashes, and
\code{...} 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
its 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{math_method}{Math rendering engine to use. This will define the math method to use with Pandoc.
\itemize{
\item It can be a string for the engine, one of "mathjax", "mathml", "webtex", "katex", "gladtex", or "r-katex"
or "default" for \code{mathjax}.
\item It can be a list of
\itemize{
\item \code{engine}: one of
"mathjax", "mathml", "webtex", "katex", or "gladtex".
\item \code{url}: A specific url to use with \code{mathjax}, \code{katex} or \code{webtex}.
Note that for \code{engine = "mathjax"}, \code{url = "local"} will use a local version of MathJax (which is
copied into the output directory).
}
}
For example,
\if{html}{\out{<div class="sourceCode yaml">}}\preformatted{output:
html_document:
math_method:
engine: katex
url: https://cdn.jsdelivr.net/npm/katex@0.11.1/dist
}\if{html}{\out{</div>}}
See \href{https://pandoc.org/MANUAL.html#math-rendering-in-html}{Pandoc's Manual about Math in HTML} for the details
about Pandoc supported methods.
Using \code{math_method = "r-katex"} will opt-in server side rendering using
KaTeX thanks to \href{https://docs.ropensci.org/katex/}{katex} R package. This is
useful compared to \code{math_method = "katex"} to have no JS dependency, only a
CSS dependency for styling equation.}
\item{mathjax}{Include mathjax. The "default" option uses an https URL from a
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}{Pandoc template to use for rendering. Pass "default" to use
the rmarkdown package default template; pass \code{NULL} to use pandoc's
built-in template; pass a path to use a custom template that you've created.
Note that if you don't use the "default" template then some features of
\code{html_document} won't be available (see the Templates section below for
more details).}
\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).}
\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 of 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}{Extra dependencies as a list of the
\code{html_dependency} class objects typically generated by
\code{\link[htmltools:htmlDependency]{htmltools:htmlDependency()}}.}
\item{...}{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]{render()}}.
}
\description{
Format for converting from R Markdown to an
\href{https://code.google.com/archive/p/io-2012-slides/}{ioslides} presentation.
}
\details{
See the \href{https://bookdown.org/yihui/rmarkdown/ioslides-presentation.html}{ online documentation} for additional details on using the
\code{ioslides_presentation} format.
Note that, if a \code{before_body} include is specified in \code{includes},
then it will replace the standard title slide entirely.
Regarding previewing slide in RStudio IDE, \code{ioslides_presentation()} will
always open preview in a new Window and the RStudio IDE configuration "Open in Viewer
Pane" will have no effect for this 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 (\verb{----------}). For example here's a simple slide show:
\if{html}{\out{<div class="sourceCode markdown">}}\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
}\if{html}{\out{</div>}}
You can add a subtitle to a slide or section by including text after the
pipe (|) character. For example:
\if{html}{\out{<div class="sourceCode markdown">}}\preformatted{## Getting up | What I like to do first thing
}\if{html}{\out{</div>}}
}
\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:
\if{html}{\out{<div class="sourceCode markdown">}}\preformatted{---
output:
ioslides_presentation:
incremental: true
---
}\if{html}{\out{</div>}}
If you want to render bullets incrementally for some slides but not
others you can use this syntax:
\if{html}{\out{<div class="sourceCode">}}\preformatted{> - Eat eggs
> - Drink coffee
}\if{html}{\out{</div>}}
}
\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:
\if{html}{\out{<div class="sourceCode yaml">}}\preformatted{---
output:
ioslides_presentation:
widescreen: true
smaller: true
---
}\if{html}{\out{</div>}}
You can also enable the \code{smaller} option on a slide-by-slide basis
by adding the \code{.smaller} attribute to the slide header:
\if{html}{\out{<div class="sourceCode markdown">}}\preformatted{## Getting up \{.smaller\}
}\if{html}{\out{</div>}}
}
\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:
\if{html}{\out{<div class="sourceCode markdown">}}\preformatted{---
output:
ioslides_presentation:
logo: logo.png
---
}\if{html}{\out{</div>}}
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:
\if{html}{\out{<div class="sourceCode markdown">}}\preformatted{## Getting up \{.build\}
}\if{html}{\out{</div>}}
Slide attributes can be combined if you need to specify more than one,
for example:
\if{html}{\out{<div class="sourceCode markdown">}}\preformatted{## Getting up \{.smaller .build\}
}\if{html}{\out{</div>}}
}
\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:
\if{html}{\out{<div class="sourceCode markdown">}}\preformatted{### <b>
x <- 10
y <- x * 2
### </b>
}\if{html}{\out{</div>}}
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{https://pandoc.org/MANUAL.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:
\if{html}{\out{<div class="sourceCode markdown">}}\preformatted{## Dinner \{.flexbox .vcenter\}
}\if{html}{\out{</div>}}
You can horizontally center content by enclosing it in a \code{div} tag
with class \code{centered}. For example:
\if{html}{\out{<div class="sourceCode html">}}\preformatted{<div class="centered">
This text is centered.
</div>
}\if{html}{\out{</div>}}
You can do a two-column layout using the \code{columns-2} class.
For example:
\if{html}{\out{<div class="sourceCode">}}\preformatted{<div class="columns-2">

- Bullet 1
- Bullet 2
- Bullet 3
</div>
}\if{html}{\out{</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:
\if{html}{\out{<div class="sourceCode html">}}\preformatted{<div class="red2">
This text is red
</div>
}\if{html}{\out{</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:
\if{html}{\out{<div class="sourceCode">}}\preformatted{mypresentation.html?presentme=true
}\if{html}{\out{</div>}}
The presenter mode window will open and will always re-open with the
presentation until it's disabled with:
\if{html}{\out{<div class="sourceCode">}}\preformatted{mypresentation.html?presentme=false
}\if{html}{\out{</div>}}
To add presenter notes to a slide you include it within a "notes"
\code{div}. For example:
\if{html}{\out{<div class="sourceCode">}}\preformatted{<div class="notes">
This is my *note*.
- It can contain markdown
- like this list
</div>
}\if{html}{\out{</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.
}
|