Rmarkdown不会将Montserrat字体编织为PDF

时间:2020-08-05 08:14:45

标签: r ggplot2 yaml knitr google-fonts

在我的报告中,我试图将图表中所有带有文本的文本的标签或任何内容更改为Montserrat字体。我遵循了Google字体在此website上的说明,因为我认为Rmarkdown中已经没有Montserrat字体了。我可能是错的。无论如何,我都按照说明进行操作,以使ggplot图表中的文本为Montserrat。我从Google下载了蒙特塞拉特文本,并将其放在Mac上的“字体书”中,这是我在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,中的错误:无效的字体类型调用:... drawDetails-> drawDetails.text-> grid.Call .graphics另外:有50个或更多警告(请使用warnings()查看前50个)执行暂停

此错误消息显示在Rmarkdown选项卡中,因此我转到控制台并键入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}} 
  
---

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

1 个答案:

答案 0 :(得分:2)

我在线研究了蒙特塞拉特所需的乳胶包装。只需将以下软件包添加到我的yaml部分,我就可以将Rmarkdown报告中的所有文本都命名为Montserrat。

- \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。