繁体   English   中英

Rmarkdown不会将Montserrat字体编织到PDF

[英]Rmarkdown Will Not Knit Montserrat Font to PDF

在我的报告中,我试图将图表中包含蒙特塞拉特字体的所有标签或任何内容更改。 我按照这个 网站上关于谷歌 fonts 的说明进行操作,因为我认为蒙特塞拉特字体已经在 Rmarkdown 中了。 我可能是错的。 无论如何,我按照说明进行操作,这样我的 ggplot 图中的文本将是蒙特塞拉特。 我从 google 下载了 Montserrat 文本并将其放在我的 Mac 上的 Font Book 中,这是我在 Rmarkdown 中使用的代码。

library(sysfonts)#for fonts

#Adding Font
font_add_google("Montserrat")

ggplot(chart2[-(nrow(chart2)),], aes(x = Garagen, y =Summe_Einnahmen_April))+
  geom_bar(stat = "identity")+
  labs(title = "Summe Einnahmen für Juli", xlab = "Garagen", y = "Summe Einnahmen")+
  theme(axis.text.x = element_text(angle = 90))+ 
  theme(legend.position = "none")+
  theme(legend.position = "none", text = element_text(family = "Montserrat"))

当我运行此代码时,我没有收到任何投诉,也没有错误消息,但是当我尝试将报告编织到 pdf 时,我收到此错误消息:

grid.Call.graphics 中的错误(C_text, as.graphicsAnnot(x$label), x$x, x$y, : invalid font type Calls: ... drawDetails -> drawDetails.text -> grid.Call.graphics In另外:有 50 个或更多警告(使用 warnings() 查看前 50 个)执行停止

此错误消息显示在 Rmarkdown 选项卡中,因此我将 go 到控制台并键入 warnings() 并什么也没得到。 如果有一种更简单的方法可以让蒙特塞拉特文本成为默认文本,那么我肯定会感兴趣,或者任何其他帮助都是最受欢迎的。

如果有帮助的话,我的 YAML

---
title: "Template"
output:
  pdf_document: default
  html_document:
       df_print: paged
header-includes:
  - \usepackage{colortbl}
  - \usepackage{titling}
  - \pretitle{\begin{center}
    \includegraphics[width=2in,height=2in]{logo.jpg}\LARGE\\}
  - \posttitle{\end{center}} 
  
---

我也刚刚意识到我的文字中有德语字母。 我不知道这是否也很重要。

我在网上研究了我在蒙特塞拉特需要什么 latex package。 只需将以下 package 简单地添加到我的 yaml 部分,我就能够将我的 Rmarkdown 报告中的所有文本都作为蒙特塞拉特。

- \usepackage[defaultfam,tabular,lining]{montserrat}
---
title: "Template"
output:
  pdf_document: default
  html_document:
       df_print: paged
header-includes:
  - \usepackage[defaultfam,tabular,lining]{montserrat}
  - \usepackage{colortbl}
  - \usepackage{titling}
  - \pretitle{\begin{center}
    \includegraphics[width=2in,height=2in]{logo.jpg}\LARGE\\}
  - \posttitle{\end{center}} 
  
--- 

注意我也不再需要以下代码

#Adding Font
font_add_google("Montserrat")

 theme(legend.position = "none", text = element_text(family = "Montserrat"))

但是,我不确定是否仍然需要安装 cairo 和 Quartz,正如我在问题部分中所说的那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM