我想定义要在我的RMarkdown PDF文档中使用的字体。我想使用Google字体(例如Roboto),但是我没有管理员权限可以直接安装它。不过,我认为我可以解决这些特权,因为我安装了许多R包,这些R包都打包有自己的字体(例如tint
)。
通常,要为降价文档设置自定义字体,我会在YAML中执行以下操作:
---
title: "Title"
output:
pdf_document:
latex_engine: xelatex
mainfont: Calibri
---
如果已安装字体,则此方法有效,但是,正如我所说,我无法安装字体。我可以通过showtext
包使用Google字体,如下面的示例所示,但这仅适用于数字:
---
title: "Title"
output:
pdf_document
---
# Header One
## Header Two
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
```{r fonts, message=FALSE}
library(showtext)
font_add_google("Lobster", "lobster")
```
```{r fig.showtext=TRUE, fig.align='center'}
plot(1, pch = 16, cex = 3)
text(1, 1.1, "A fancy dot", family = "lobster", col = "steelblue", cex = 3)
```
如您所见,我在图中使用了Lobster字体,这很棒。我想扩展此示例,以便将Lobster字体用于文档的主体,但不需要直接安装。这可能吗?
答案 0 :(得分:2)
如上所述,@ {camille} tint
安装TeX软件包以使用字体。 (有很多字体包here,包括诸如Roboto之类的Google字体。)如果我想使用Lobster作为主体,则可以在标头中包含适当的TeX文件,然后将其下载并安装。编织后自动:
---
title: "Title"
output:
pdf_document
header-includes:
- \usepackage{LobsterTwo}
---
# Header One
## Header Two
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
这不是一个完美的解决方案,因为它依赖于该字体的TeX包的存在,但仍然...