在rmarkdown文档中的ggplot2图表中嵌入字体

use*_*808 9 fonts r ggplot2 knitr r-markdown

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

最小的例子:

---
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")
Run Code Online (Sandbox Code Playgroud)

小智 16

如果将图形设备设置为"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")
```
Run Code Online (Sandbox Code Playgroud)