【问题标题】:rmarkdown PDF custom fontrmarkdown PDF 自定义字体
【发布时间】:2021-07-09 18:09:09
【问题描述】:

我有一个 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}

#==编辑=END====

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

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

我得到的主要错误是:

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

【问题讨论】:

    标签: r latex r-markdown


    【解决方案1】:

    header-includes: 行丢失。尝试使用以下标题:

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

    【讨论】:

    • 谢谢,解决了。显然我只是忘记了header-includes: 声明。我不知道为什么有人会否决这个答案。文档标题是否还有一些内容,例如\settitlefont{}?
    • 不客气,@Solarion。感谢您对这个答案提出质疑。关于您的问题,您可以在标题上使用 LaTeX 字体样式(在 overleaf.com/learn/latex/Font_sizes,_families,_and_styles 之后)。我很乐意帮助您解决一个新问题。
    猜你喜欢
    • 2021-10-15
    • 2017-09-08
    • 2018-02-16
    • 2022-07-25
    • 1970-01-01
    • 2021-05-11
    • 1970-01-01
    • 2019-07-07
    • 2023-03-02
    相关资源
    最近更新 更多