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

时间:2018-10-30 12:42:45

标签: r rstudio r-markdown knitr ioslides

我正在使用RMarkdown创建具有光泽的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不熟悉。

1 个答案:

答案 0 :(得分:10)

自我解答:

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

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

请注意,幻灯片是从ioslide获取高度的,因此无需指定高度(实际上,如果这样做,似乎会引入视觉毛刺)。使用auto代替scroll可确保仅在需要时才显示滚动条。

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

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

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