在RMarkdown中使用tikzdevice与Beamer输出

时间:2019-08-06 20:24:10

标签: r-markdown beamer tikzdevice

我想知道tikzdevice包是否可以用于在RMarkdown中生成R图,并导出到投影仪演示中。

我会认为我正在寻找的解决方案可能类似于tikzdevice manual第15页上带有Sweave的示例。

在不完全知道自己在做什么的情况下,我尝试的是修改RMarkdown书中的Yihui的示例:

---
title: "Habits"
author: John Doe
date: March 22, 2005
output: beamer_presentation
---

# In the morning

## Getting up

- Turn off alarm
- Get out of bed

---

```{r, echo=FALSE, results='tex'}
require(tikzDevice)
tikz(console=TRUE)
plot(sin, -pi, 2*pi, main="A Stand Alone TikZ Plot")
dummy <- dev.off()
```     

不幸的是,这不会导致在投影仪演示中渲染tikz图。有谁看到如何实现这一目标?谢谢。

关于, 迈克尔

1 个答案:

答案 0 :(得分:3)

您撰写的内容存在一些问题。需要告知LaTeX使用tikz包;在knitr中,您使用results='asis'而不是results='tex'。最后,您需要告诉tikz()使用什么尺寸图形。

但是,与其修复这些问题,不如通过使用knitr图形设备告诉'tikz'处理所有事情。如此有效:

---
title:  Demo with dev='tikz'
output: beamer_presentation
---

## A Tikz plot

```{r echo=FALSE, dev='tikz'}
plot(sin, -pi, 2*pi, main="A Stand Alone TikZ Plot")
```