RMarkdown - table 中使用 kable 的不同字体类型?
RMarkdown - different font types in table using kable?
我正在使用 RMarkdown 生成 pdf 文档。是否可以使用 kable_styling 更改表格中的字体类型?如果没有,你能推荐任何其他套餐吗?
library(dplyr)
library(kableExtra)
kable(mtcars, align = "c", booktabs = TRUE) %>%
kable_styling(font_size = 12) %>%
row_spec(0, bold = T, color = "white", background = "gray")
这有点棘手,因为在 LaTeX 中更改字体很棘手。我没有 Segoe UI 字体(那是一种 Windows 字体,对吗?),但在 MacOS 中使用不同的字体更改对我有用。
首先,您需要使用xelatex
LaTeX 引擎。 (您可能可以使用 pdflatex
执行此操作,但命令会有所不同,我不知道它们。)
其次,您需要定义一个命令来切换到您想要的字体。在下面的代码中,我将其命名为 \comicfont
并将其设置为切换到 Comic Sans MS。
第三和第四,你需要定义环境来产生这种字体的tables。您需要两种环境,具体取决于您是想要 table 内联 (ctable
) 还是带有标题的浮动 (capctable
)。
然后,当您想要使用新字体的 table 时,您可以将 table.envir
设置为适当环境的名称。它在 kable_styling()
中设置为内联 tables,在 kable
中设置为浮动 tables。这是一个对我有用的例子:
---
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")
```
这个 post https://tex.stackexchange.com/a/63975 给出了一个关于 Windows 的例子,可能会有帮助。
编辑添加:kable_styling
的 table.envir
参数是一个非常新的添加;您应该确保安装了最新版本的 kableExtra
。
我正在使用 RMarkdown 生成 pdf 文档。是否可以使用 kable_styling 更改表格中的字体类型?如果没有,你能推荐任何其他套餐吗?
library(dplyr)
library(kableExtra)
kable(mtcars, align = "c", booktabs = TRUE) %>%
kable_styling(font_size = 12) %>%
row_spec(0, bold = T, color = "white", background = "gray")
这有点棘手,因为在 LaTeX 中更改字体很棘手。我没有 Segoe UI 字体(那是一种 Windows 字体,对吗?),但在 MacOS 中使用不同的字体更改对我有用。
首先,您需要使用xelatex
LaTeX 引擎。 (您可能可以使用 pdflatex
执行此操作,但命令会有所不同,我不知道它们。)
其次,您需要定义一个命令来切换到您想要的字体。在下面的代码中,我将其命名为 \comicfont
并将其设置为切换到 Comic Sans MS。
第三和第四,你需要定义环境来产生这种字体的tables。您需要两种环境,具体取决于您是想要 table 内联 (ctable
) 还是带有标题的浮动 (capctable
)。
然后,当您想要使用新字体的 table 时,您可以将 table.envir
设置为适当环境的名称。它在 kable_styling()
中设置为内联 tables,在 kable
中设置为浮动 tables。这是一个对我有用的例子:
---
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")
```
这个 post https://tex.stackexchange.com/a/63975 给出了一个关于 Windows 的例子,可能会有帮助。
编辑添加:kable_styling
的 table.envir
参数是一个非常新的添加;您应该确保安装了最新版本的 kableExtra
。