RMarkdown演示文稿中的列中的代码

Dav*_*vid 4 latex r r-markdown

通常,当我在rmarkdown pdf演示文稿中包含r代码时,我想使用整个幻灯片的空间,因此想要并行显示代码和输出。

LaTex我会去寻找\begin{columns}...\end{columns},然后使用lstlistings或其他代码突出显示库手动包含代码/输出。但是,如果我超过几个代码示例,那将是乏味的。

现在,我想使用RMarkdown进行演示,并希望获得类似的结果。

但是,以下代码将引发错误:

## This is slide 1
\begin{columns}[t]
\begin{column}{0.5\textwidth}
```{r, eval=F}
plot(1:10)
```
\end{column}
\begin{column}{0.5\textwidth}
```{r, echo=F}
plot(1:10)
```
\end{column}
\end{columns}
Run Code Online (Sandbox Code Playgroud)

省略knitr代码块并将其替换为文本。

我知道它与pandoc引擎有关(请参阅此处),但想询问是否有人找到解决此问题的方法。

Dav*_*vid 5

好吧,我本来应该更广泛地关注。这是一个适用于Python的解决方案,但可以轻松地适应Rmarkdown:https ://stackoverflow.com/a/26069751/3048453

我最终得到了这段代码:

header.tex

\newcommand{\columnsbegin}{\begin{columns}}
\newcommand{\columnsend}{\end{columns}}
Run Code Online (Sandbox Code Playgroud)

presentation.Rmd

---
title: "Two-column codes in RMarkdown"
author: "My Name"
date: "February 4, 2017"
output: 
    beamer_presentation:
        includes:
            in_header: header.tex
---

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

## Testslide with Columns
\columnsbegin
\column{.5\textwidth}
```{r, eval=F}
plot(mtcars[, 1:3])
```
\column{.5\textwidth}
```{r, echo=F}
plot(mtcars[, 1:3])
```
\columnsend
Run Code Online (Sandbox Code Playgroud)

这导致了

结果