kableExtra:: 阿拉伯语单词在 add_header_above 中无法正确呈现

kableExtra:: Arabic words are not rendering properly in add_header_above

我想在 kableExtraadd_header_above 函数中使用阿拉伯语单词:

library(kableExtra)

x1 <- knitr::kable(head(mtcars), "html")

Test2 <- c(" ", مواطنين = "5", `غير مواطنين` = "6")
Test3 <- c(`\textarabic{}` = " ", `\textarabic{مواطنين}` = "5",
`\textarabic{غير مواطنين}` = "6")

add_header_above(x1, Test2, escape = FALSE)

add_header_above(x1, Test3, escape = FALSE)

但是,阿拉伯语单词无法正确呈现。有解决办法吗?

来自?kableExtra::add_header_above

header is A (named) character vector with colspan as values.

所以我们可以使用 setNames 构建它,如下所示:

library(kableExtra)
x1 <- knitr::kable(head(mtcars), "html")
head_vec<-c("مواطنين", "غير مواطنين")
add_header_above(x1, c('',setNames(c(5,6),head_vec)))