Использование Google Fonts в основной части RMarkdown без прав администратора - PullRequest
1 голос
/ 25 марта 2019

Я хочу определить шрифты для использования в моем документе 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)
```

enter image description here

Как видите, я использую шрифт Lobster на своей фигуре, и это здорово. Я хотел бы расширить этот пример, чтобы шрифт Lobster использовался для основной части документа, но его не нужно устанавливать напрямую. Это возможно?

1 Ответ

2 голосов
/ 25 марта 2019

Как упомянуто выше @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.

enter image description here

Не идеальное решение, так как оно зависит от наличия пакета TeX для этого шрифта, ноеще ...

...