2017-10-09 111 views
1

我想创建一个使用tikz设备作为其绘图输出的Rmd文档模板。通常,在Rweave(sweave)文档中执行相同操作时,tikz图形中的字体与文档中的字体相同,因为tikz接管设置字体的文档序言。Beamer:在使用tikzDevice时使用文档主字体在图中

在Rmarkdown中,我只能在设置块选项external = F时才能达到此目的。这样,tikz grpahics没有预先编译。

但我想要使用这种外部性,并在最终的PDF输出中仍然具有相同的图形字体。

继承人是一个简单的使用tikz的投影仪演示文稿。我怎样才能让这些情节具有相同的无字体?

--- 
title: "TikZ" 
author: "Martin Schmelzer" 
date: "10/9/2017" 
output: beamer_presentation 
--- 

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

## Slide with Plot 

```{r pressure} 
plot(pressure) 
``` 

回答

2

你需要告诉tikzDevice您所使用的投影仪类,否则它不知道,并承担正常\documentclass{article}。如果你看看帮助页面?tikzDevice::tikz,你可能会看到文档类可以通过选项tikzDocumentDeclaration,如声明,

options(tikzDocumentDeclaration = '\\documentclass{beamer}') 

完整的示例(我降低了地块的大小,所以你可以看到字体样式更多显然在剧情):

--- 
title: "TikZ" 
author: "Martin Schmelzer" 
date: "10/9/2017" 
output: beamer_presentation 
--- 

```{r setup, include=FALSE} 
options(tikzDocumentDeclaration = '\\documentclass{beamer}') 
knitr::opts_chunk$set(echo = FALSE, dev = "tikz") 
``` 

## Slide with Plot 

```{r pressure, fig.width=5, fig.height=4} 
plot(pressure) 
``` 

a plot in beamer and R Markdown

+0

易为。没有发现使用搜索引擎。谢谢! –

+0

R图中关注字体样式一致性的人数可能太少。无论如何,这是我喜欢德语的最主要原因:)请在您可以/想要时接受答案。 –

+0

@逸惠姐你是说你喜欢德国人,因为我们是如此可爱的迂腐?我感到很荣幸! ;-) –

相关问题