Скомпилируйте RMarkdown PDF с вафельной диаграммой и символами неудачи. MWE включен
Я не могу скомпилировать PDF, используя RMarkdown, вафельный пакет и глифы
Не имеет значения, использую ли я устройство TIKZ или рендеринг PDF. Документ без проблем компилируется в HTML.
Единственный способ обойти это сейчас - создать SVG-изображение с помощью HTML-компилятора, а затем ссылаться на эти файлы в моем промежуточном.TEX-файле.
Обратите внимание, что если вы просто запустите код ниже строки, которая говорит: " ## ---- waffle_figure ---- ". Он должен создать диаграмму, учитывая, что вы ранее установили в своей системе шрифт fontawesome, установили пакет extrafont в R и выполните команду 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)
```
1 ответ
Вафельный пакет обновлен! Теперь и кварцевые, и каирские устройства работают с knitr/rmarkdown. Огромное спасибо вам за Боба Рудиса и Дэйва Ганди.
Пересмотренный код включает латиноамериканский (LaTeX) шрифт, чтобы продемонстрировать, что можно использовать латексные шрифты вместе с потрясающими глифами в вафельных диаграммах.
Чтобы код работал, вы должны сначала установить lmroman10-регулярно-webfont.ttf и fontawesome-webfont.ttf с их соответствующих веб-сайтов: нажмите на ссылку набора веб - шрифтов и загрузите Fontawesome.
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)
knitr::opts_chunk$set(warning = FALSE, error = FALSE, message = FALSE, results='hide', echo = FALSE, dev = "tikz", external = TRUE)
```
## Font Awesome Gyphy
Font awesome glyphs are easy to integrate into the main text. For example: \faTwitter.
## Waffle Plot
You can also embed plots with glyphs and custom fonts, for example: \newline
```{r pressure, echo=FALSE, dev="quartz_pdf", dev.args=list(family = "Helvetica")}
## ---- 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"))
# font_import() # Run this command, type "y", and press enter after installing new fonts.
parts <- c(40, 30, 20, 10)
waffle(parts,
rows=10,
use_glyph = "user",
glyph_size = 7)+ggtitle("Some Sample Text Here")+
theme(plot.title = element_text(family="LM Roman 10"))
```