如何使用 rmarkdown 在 ioslides 演示文稿中制作可滚动幻灯片

How to make scrollable slides in an ioslides presentation with rmarkdown

我正在使用 RMarkdown 创建带有 shiny 的 ioslide 演示文稿。 我的一些幻灯片实际上一页纸放不下,被截断了。

由于这是一个 HTML 输出,我想添加一个滚动条以使我的长幻灯片可以滚动。

我一直在谷歌搜索,找到了 partial solution to make R code chunks scrollable。但是,无论内容如何,​​我都想让我的幻灯片滚动。

这是一个玩具 Rmd 示例,提供的幻灯片不适合一页:

---
title: "Untitled"
date: "30 October 2018"
output: ioslides_presentation
runtime: shiny
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```

## Shiny Presentation 

- A very long

- and boring

- list of

- bullet points

- just a

- toy example

- obviously

- not over yet

- almost

- not quite

- finally

- out of frame!

我想让这张幻灯片可以滚动,因为它放不下一页。

编辑:我不确定为什么这会被严重否决 - 希望有建设性的评论:)与此同时,我确实删除了 css 标签,这可能让人们不熟悉 rmarkdown。

自答:

CSS 中使幻灯片可滚动(水平和垂直都可以,但如果只需要垂直滚动则只需删除一行)的位是:

slides > slide {
  overflow-x: auto !important;
  overflow-y: auto !important;
}

请注意,幻灯片从 ioslide 获取高度,因此无需指定高度(事实上,如果您这样做,它似乎会引入视觉故障)。使用 auto 而不是 scroll 可确保滚动条仅在需要时出现。

您可以直接在 <style> 标签之间的 Rmd 中添加此 CSS 或将 CSS 放在单独的文件中(例如 scrollable_slides.css)。

然后可以像这样将CSS文件添加到Rmd(假设scrollable_slides.css与Rmd在同一个目录):

---
title: "..."
output: 
  ioslides_presentation:
    css: 'scrollable_slides.css'
runtime: shiny
---