r - rmarkdown PDF 自定义字体
问题描述
我有一个 rmarkdown 文件,我想将其字体更改为自定义字体(不是 Windows 原生的)。到目前为止我做了什么:
- 我得到了字体的 .ttf 文件并将它们安装在 Windows 上。我现在实际上可以在 Word 中访问它,所以这部分工作。
- 我编辑了我的 rmarkdown 文件的 YAML 部分以引用字体。当我使用 Windows 原生字体(Arial 等)尝试此操作时,此方法有效,因此通常代码本身不应该是错误的。
编辑:我发现它也不适用于某些预装的 Windows 字体,例如 Bahnschrift(可能是德语特有的)
- 我在 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 只是没有意识到字体已安装。当我尝试通过extrafont
包查找字体时,首先使用它font_import()
,然后fonts()
它显示的列表不包含新字体。
任何帮助都会很棒。自定义字体有很多结果,但我没有看到这个特定问题得到解决。
我得到的主要错误是:
! fontspec error: "font-not-found"
!
! The font "RoundStyle" cannot be found.
解决方案
这条线header-includes:
不见了。尝试使用以下标题:
---
title: "Untitled"
author: "Someone"
date: "7/8/2021"
output:
pdf_document:
latex_engine: lualatex
header-includes:
- \usepackage{fontspec}
---
\setmainfont{Round Style}
推荐阅读
- ecmascript-6 - ES6 中的 let 关键字
- corda - CorDapp 演示 CompositeKey 与 Linearstate 的用法:Flow 抛出异常“找不到匿名方(DLDHEGSYz ...)”
- c# - 如何返回任务
? - python - 如何影响整理变量/槽的名称范围?
- api - api-umbrella 日志配置
- sql - T-SQL 查询在多行具有相似过滤器的单行中获取数据
- facebook - 我可以在应用程序/网站中嵌入公共图片吗?
- java - 如何以字符串格式获取正在上传的文件的完整本地路径
- reactjs - Cordova 应用程序白屏 - “崩溃”
- android - 为什么 build.gradle 中导入存储库的顺序决定了项目的成败?