rmarkdown PDF自定义字体

rmarkdown PDF custom font

我有一个 rmarkdown 文件,我想将其字体更改为自定义字体(不是 Windows 的原生字体)。 到目前为止我做了什么:

  1. 我得到了字体的 .ttf 文件并将它们安装在 Windows 上。我现在实际上可以在 Word 中访问它,因此该部分有效。
  2. 我编辑了我的 rmarkdown 文件的 YAML 部分以引用字体。当我尝试使用 Windows(Arial 等)的原生字体时,这是有效的,所以一般来说,代码本身应该没有错。

编辑:我发现它也不适用于某些预安装的 windows 字体,例如 Bahnschrift(可能是德语专用的)

  1. 我在 2 台不同的 PC 上尝试过,并且都使用了 lualatex 和 xelalatex。如下所述,我还尝试了 extrafont 的情节,但它也无法识别字体。

这里是 YAML 代码:rmarkdown 的其余部分实际上只是未更改的模板。 Round Style 只是一个例子。


---
title: "Untitled"
author: "Someone"
date: "7/8/2021"
output: 
  pdf_document:
    latex_engine: lualatex
mainfont: Round Style
---

#==编辑====

或其他版本:

---
title: "Untitled"
author: "Someone"
date: "7/8/2021"
output: 
  pdf_document:
    latex_engine: lualatex
  \usepackage{fontspec}
---
\setmainfont{Round Style}

#==编辑=结束====

我怀疑 R 只是没有意识到安装了字体。当我尝试首先使用 font_import() 然后 fonts() 通过 extrafont 包找到字体时,它显示的列表不包含新字体。

任何帮助都会很棒。自定义字体有很多结果,但我没有看到这个特定问题得到解决。

我得到的主要错误是:

! fontspec error: "font-not-found"
! 
! The font "RoundStyle" cannot be found.

header-includes: 行缺失。尝试以下 header:

---
title: "Untitled"
author: "Someone"
date: "7/8/2021"
output: 
  pdf_document:
    latex_engine: lualatex
header-includes:
- \usepackage{fontspec}
---

\setmainfont{Round Style}