2016-04-06 98 views
6

我想在ggplot2图表中使用非标准字体,然后将其嵌入到rmarkdown文档中,该文档被编入PDF中。我目前的工作流程是指定图表中的字体,然后编织,然后在创建的PDF上运行extrafonts :: embed_fonts。我的问题是:我可以直接在rmarkdown文档中指定字体应该嵌入到输出的PDF中吗?在rmarkdown文档中嵌入ggplot2图表中的字体

小例子:

--- 
title: "Untitled" 
output: beamer_presentation 
--- 

```{r} 
library(extrafont) 
library(ggplot2) 
loadfonts() 
qplot(iris$Sepal.Length) + theme_light(base_family = "CM Roman") 
``` 

knitr::knit2pdf("test.rmd") 
embed_fonts("test.pdf") 

回答

10

如果设置了图形设备“cairo_pdf”的字体将被嵌入。您可以为单个块或使用knitr::opts_chunk$set

我用下面一个非常明显的不同的字体,这样很明显的字体真的被设置在整个文档做到这一点。

的包被称为 “extrafont” 而不是 “extrafonts”

--- 
title: "Untitled" 
output: beamer_presentation 
--- 

```{r, echo=FALSE, message = FALSE} 
knitr::opts_chunk$set(warning=FALSE, message=FALSE, echo = FALSE, dev = "cairo_pdf") 
``` 

```{r} 
library(extrafont) 
library(ggplot2) 
loadfonts() 
``` 


## 

```{r, fig.width = 5} 
qplot(iris$Sepal.Length) + theme_light(base_family = "Vladimir Script") 
```