Использование Google Fonts в основной части RMarkdown без прав администратора
Я хочу определить шрифты для использования в моем документе RMarkdown PDF. Я хотел бы использовать Google Font, скажем, Roboto, но у меня нет прав администратора, чтобы установить его напрямую. Тем не менее, я думаю, что могу обойти эти привилегии, так как я установил много пакетов R, которые поставляются вместе со своими собственными шрифтами (например, tint
).
Обычно, чтобы установить собственный шрифт для документа уценки, я сделал бы что-то вроде этого в моем YAML:
---
title: "Title"
output:
pdf_document:
latex_engine: xelatex
mainfont: Calibri
---
Это работает, если шрифт установлен, но, как я уже сказал, я не могу установить шрифты. Я могу использовать Google Fonts через showtext
Пакет, как в моем примере ниже, но это только для цифр:
---
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 использовался для основной части документа, но его не нужно устанавливать напрямую. Это возможно?
1 ответ
Как упоминалось выше @camille, tint
устанавливает пакеты TeX для использования шрифтов. (Здесь представлен довольно обширный список пакетов шрифтов, включая Google Fonts, такие как Roboto.) Если бы я хотел использовать 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 для этого шрифта, но все же...