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

asa*_*ica 12 r rstudio knitr r-markdown ioslides

我正在使用RMarkdown创建一个闪亮的ioslide演示文稿.我的一些幻灯片实际上并不适合一页并被截断.

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

我一直在谷歌搜索,并找到一个部分解决方案,使R代码块可滚动.但是我想让我的幻灯片可以滚动,无论内容如何.

这是一个玩具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!
Run Code Online (Sandbox Code Playgroud)

我想使这个幻灯片可滚动,因为它不适合一页.

编辑:我不确定为什么这会被大量投票 - 会赞赏一个建设性的评论:)在此期间,我确实删除了css可能带来不熟悉rmarkdown的人的标签.

asa*_*ica 13

自答案:

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

slides > slide {
  overflow-x: auto !important;
  overflow-y: auto !important;
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

---
title: "..."
output: 
  ioslides_presentation:
    css: 'scrollable_slides.css'
runtime: shiny
---
Run Code Online (Sandbox Code Playgroud)