可以在另一个ioslides中嵌套/包含ioslides?

时间:2015-11-09 03:43:15

标签: r-markdown

我正在使用RStudio从RMarkdown生成的一些ioslides。我希望能够将一个Rmd中的渲染幻灯片包含在另一个Rmd中。

截至目前,我只知道如何包含原始Rmw - 而不是HTML输出。

---
title: "Main course slides"
author: "author"
date: "November 8, 2015"
output: ioslides_presentation
---

## Some content

```{r child='lecture1.Rmd'}
```

```{r child='lecture2.Rmd'}
```

这个问题是它必须呈现每个Rmd文件,即使它已经被编译为HTML。

有没有人知道如何直接将ioslides的HTML输出包含到另一个ioslides中?

1 个答案:

答案 0 :(得分:2)

嗯,我试过了,这是有可能的。 我的解决方案适用于Firefox 。可能在另一个浏览器中(尝试一下),当然不在RStudio Viewer中。 请使用以下两个文件inner.Rmdouter.Rmd

<强> outer.Rmd

---
title: "Test"
output: ioslides_presentation
---

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


<style>
    #frame {
        -moz-transform: scale(0.6, 0.6); 
        -moz-transform-origin: 0 0;
        width: 1200px; 
        height: 720px;
    }

    #wrapper {
        position: relative;
        width: 100%;
        left: 54%;
        transform: translate(-50%, 0);
    }
</style>

## R Markdown

Does nesting presentations work well?

## Slide with another presentation inside

<div id="wrapper">
<iframe id="frame" src="inner.html"></iframe>
</div>

<强> inner.Rmd

---
title: "Test"
output: ioslides_presentation
---

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

## R Markdown

It works!

## Yay!

Yippie!

我尝试了不同的方法。只有iframe方法给了我想要的东西。使内部幻灯片居中是很棘手的。我最终将包装div居中,如

left: 54%;
transform: translate(-50%, 0);

不确定为什么这个4%的差异是必要的。但它的确有效:

enter image description here