这有点棘手,因为在 LaTeX 中更改字体很棘手。我没有 Segoe UI 字体(那是一种 Windows 字体,对吗?),但在 MacOS 中使用不同的字体更改,这对我有用。
首先,您需要使用xelatex LaTeX 引擎。 (您可能可以使用pdflatex 执行此操作,但命令会有所不同,我不知道。)
其次,你需要定义一个命令来切换到你想要的字体。在下面的代码中,我将其命名为 \comicfont 并将其设置为切换到 Comic Sans MS。
第三和第四,您需要定义环境来生成这种字体的表格。您需要两个环境,具体取决于您是希望表格内联 (ctable) 还是浮动标题 (capctable)。
然后,当您希望表格采用新字体时,请将 table.envir 设置为相应环境的名称。它在kable_styling() 中设置为内联表,在kable 中设置为浮动表。这是一个适合我的示例:
---
title: 'Untitled'
output:
pdf_document:
latex_engine: xelatex
header-includes:
- \newfontfamily\comicfont[Path=/Library/Fonts/]{Comic Sans MS}
- \newenvironment{ctable}{\comicfont }{}
- \newenvironment{capctable}[1][t]{\begin{table}[#1]\centering\comicfont}{\end{table}}
---
```{r}
library(knitr)
library(kableExtra)
kable(head(mtcars), booktabs=TRUE, align = "c") %>%
kable_styling(table.envir="ctable", font_size=12) %>%
row_spec(0, bold = T, color = "white", background = "gray")
kable(head(mtcars), booktabs=TRUE, align = "c",
caption = "This table floats", table.envir = "capctable") %>%
kable_styling(font_size=12) %>%
row_spec(0, bold = T, color = "white", background = "gray")
```
这篇 https://tex.stackexchange.com/a/63975 的帖子给出了一个 Windows 上的示例,可能会有所帮助。
编辑添加:kable_styling 的 table.envir 参数是一个相当新的添加;你应该确保你安装了最新版本的kableExtra。