RMarkdown - table 中使用 kable 或 huxtable 的不同字体类型,输出为 pdf?
RMarkdown - different font types in table using kable or huxtable, output to pdf?
使用 huxtable,为不同的 cells/rows 使用不同的字体输出到 html 是轻而易举的事。 pdf不是那么多。
这不是一个新问题,而是一个特定版本的
和
Change font of Kable in Rmarkdown pdf
我已经使用 给出的答案从 rmarkdown(在我的 windows 电脑上)创建下图中的输出。请注意,'environment' 代码将更改 table(整个 table)的字体,但块后的文本使用为 table 指定的字体。
解决这个问题的建议?
此外,我无法让浮动示例在我的计算机上运行,这就是它被注释掉的原因。
我喜欢 huxtable,但还没有在网络上看到为 table(与主要字体不同)选择的字体示例。如果绝对必要,可以探索其他 table 软件包。
---
title: "Reprex selecting font for kable table output to pdf"
output:
pdf_document:
latex_engine: xelatex
header-includes:
\usepackage{fontspec}
\setmainfont[Path=C:/windows/fonts/]{SHOWG.TTF}
\newfontfamily\arialfont[Path=c:/windows/fonts/]{ARIAL}
\newenvironment{ctable}{\arialfont }{}
\newenvironment{capctable}[1][t]{\begin{table}[#1]\centering\arialfont}{\end{table}}
---
here is some text
```{r}
library(knitr)
library(kableExtra)
#This works, though leaves the selected font active for text after the chunk
kable(head(mtcars), booktabs=TRUE, align = "c") %>%
kable_styling(table.envir="ctable", font_size=12) %>%
row_spec(0, bold = T, color = "white", background = "gray")
#This next bit doesn't work
#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")
```
here is some more text
的确,这是在 huxtable 中执行此操作的方法(我是包所有者)。您需要安装 xelatex 和 LaTeX "fontspec" 包。您还需要 huxtable 版本 4.4.0 或更高版本,目前可在 github:
install_github("hughjonesd/huxtable")
在你的 rmarkdown header:
output:
pdf_document:
latex_engine: xelatex
在 R 代码块中:
library(dplyr)
library(huxtable)
options(huxtable.latex_use_fontspec = TRUE)
mtcars %>%
head() %>%
as_huxtable() %>%
set_font("Times New Roman")
使用 huxtable,为不同的 cells/rows 使用不同的字体输出到 html 是轻而易举的事。 pdf不是那么多。
这不是一个新问题,而是一个特定版本的
我已经使用
---
title: "Reprex selecting font for kable table output to pdf"
output:
pdf_document:
latex_engine: xelatex
header-includes:
\usepackage{fontspec}
\setmainfont[Path=C:/windows/fonts/]{SHOWG.TTF}
\newfontfamily\arialfont[Path=c:/windows/fonts/]{ARIAL}
\newenvironment{ctable}{\arialfont }{}
\newenvironment{capctable}[1][t]{\begin{table}[#1]\centering\arialfont}{\end{table}}
---
here is some text
```{r}
library(knitr)
library(kableExtra)
#This works, though leaves the selected font active for text after the chunk
kable(head(mtcars), booktabs=TRUE, align = "c") %>%
kable_styling(table.envir="ctable", font_size=12) %>%
row_spec(0, bold = T, color = "white", background = "gray")
#This next bit doesn't work
#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")
```
here is some more text
的确,这是在 huxtable 中执行此操作的方法(我是包所有者)。您需要安装 xelatex 和 LaTeX "fontspec" 包。您还需要 huxtable 版本 4.4.0 或更高版本,目前可在 github:
install_github("hughjonesd/huxtable")
在你的 rmarkdown header:
output:
pdf_document:
latex_engine: xelatex
在 R 代码块中:
library(dplyr)
library(huxtable)
options(huxtable.latex_use_fontspec = TRUE)
mtcars %>%
head() %>%
as_huxtable() %>%
set_font("Times New Roman")