我无法使用 RMarkdown、waffle 包和字形编译 PDF
我使用 TIKZ 设备还是 PDF 渲染都没关系。该文档可以毫无问题地编译为 HTML。
我现在能想到的唯一解决方法是使用 HTML 编译器创建 SVG 图形,然后在我的中间 .TEX 文件中引用这些文件。
请注意,如果您只是在“## ---- waffle_figure ----”行下方运行代码。它应该创建图表,因为您之前已经在系统上安装了fontawesome字体,在 R 中安装了extrafont包,然后运行font_install()命令。
---
title: "Waffle"
output:
pdf_document:
latex_engine: xelatex
html_document: default
header-includes:
- \usepackage{fontspec}
- \defaultfontfeatures{Extension = .otf}
- \usepackage{fontawesome}
- \usepackage{tikz}
---
```{r setup, include=FALSE}
library(knitr)
library(tikzDevice)
knitr::opts_chunk$set(warning = FALSE, error = FALSE, message = FALSE, results='hide', echo = FALSE, dev = "tikz", external = TRUE)
```
\faTwitter
## Waffle Plot
You can also embed plots, for example: \newline
```{r pressure, echo=FALSE, dev="tikz"}
## ---- waffle_figure ----
loadpackages <- function(package.list = c("ggplot2", "Rcpp")) {
new.packages <- package.list[!(package.list %in% installed.packages()[,"Package"])]
if (length(new.packages)){install.packages(new.packages, repos = 'http://cran.us.r-project.org')}
lapply(eval(package.list), require, character.only = TRUE)}
loadpackages(c("waffle", "extrafont", "grid", "gridExtra", "tikzDevice"))
parts <- c(40, 30, 20, 10)
waffle(parts,
rows=10,
use_glyph = "user",
glyph_size = 5)
```