Rmarkdown编译含希腊语与英语的LaTeX表格时英文显示异常如何解决
问题根因
你加载babel宏包时指定的参数顺序为[english,greek],后声明的希腊语会作为文档全局默认渲染语言。表格中未明确标记语言属性的英文内容会被强制按希腊语字符集解析,因此出现渲染异常。
解决方法
在构建表格数据时,给不同语言的内容套上你预先定义的\en{}、\gr{}语言标记命令,同时设置kable的escape=FALSE参数避免LaTeX命令被转义即可。如果表格列名也包含多语言内容,同理给列名也套上对应的\en{}/\gr{}命令即可。
调整后的核心代码片段
表格生成部分修改:
```{r echo=FALSE,results='asis'} # 给英文内容套\en{}命令,希腊语内容套\gr{}命令 x<-paste0("\\en{", c("hello","hi","yellow","green","apple"), "}") y<-c(rep(5,5)) r<-paste0("\\gr{", rep("καλημέρα",5), "}") data<-cbind(x,y,r) kableExtra::kable(data, "latex", caption = "\\gr{Πίνακας}", booktabs = T, align = "c", escape = FALSE) %>% kable_styling(latex_options = "HOLD_position")
内容的提问来源于stack exchange,提问作者Maria Provelegiou
相关产品推荐
相关产品推荐

