将 Markdown 编织成 PDF 时使用 bookdown 时更改 Latex 引擎

Change Latex engine when using bookdown when knitting Markdown to PDF

我需要更改 PDF Markdown 文档的字体。 This question 建议在更改 PDF Markdown 中的字体时,您需要通过更新 YAML 来更改 Latex 引擎以包括:

---
output:
  pdf_document:
    latex_engine: xelatex
sansfont: Calibri Light
---

但是,使用bookdown时是否可以更改 Latex 引擎?我尝试将 YAML 更改为以下内容:

---
output:
  pdf_document: bookdown::pdf_document2:
    latex_engine: xelatex
sansfont: Calibri Light
---

但出现错误:

Error in yaml::yaml.load(..., eval.expr = TRUE) : 
  Scanner error: mapping values are not allowed in this context at line 4, column 40
Calls: <Anonymous> ... parse_yaml_front_matter -> yaml_load -> <Anonymous>
Execution halted

我也查看了 bookdown 文档,但找不到任何对 Latex 引擎的引用。有谁知道是否可以用 bookdown 更改 Latex 引擎,或者是否有其他方法可以在编织为 PDF 时更改字体?

YAML header 的正确语法是

---
output:
  bookdown::pdf_document2:
    latex_engine: xelatex
sansfont: Calibri Light
---

请注意,pdf_documentrmarkdown::pdf_document 的缩写,已完全替换为 bookdown::pdf_document2