R Markdown使用kableExtra生成含项目符号拆分计数表格问题
要实现你要的列表行对应拆分计数的效果,核心是利用kableExtra的escape=FALSE参数,让自定义的换行、项目符号语法可以正常渲染,和计数列的换行做匹配即可,具体实现方案分HTML输出和PDF输出两种场景:
HTML输出场景
先调整数据框结构,将对应行的两个列都用HTML语法实现换行和缩进:
library(kableExtra) Fact_Fig19_20 <- data.frame( Facts = c( "\\# of Dual Enrollment Students (2019-2020)", "\\# of Dual Enrollment Students enrolled as Dual (2020-2021) Retention", "\\# of Dual Enrollment Students enrolled as FTF in Fall 2020", "\\# of Dual Enrollment Students enrolled as FTF in Spring 2021", "\\# Dual Enrollment Students enrolled Non-SCTCS <br> • Non-SCTCS 2-year <br> • Non-SCTCS 4-year", "\\# of Dual Enrollment Students Unknown Status" ), Counts = c(100, 60, 10, 10, "<br>5<br>5", 10) ) # 生成表格 kbl(Fact_Fig19_20, escape = FALSE, col.names = c("Facts", "Counts")) %>% kable_styling(full_width = FALSE) %>% row_spec(5, align = "middle") # 保证第五行内容垂直居中对齐
PDF输出场景
将HTML语法替换为LaTeX语法即可:
library(kableExtra) Fact_Fig19_20 <- data.frame( Facts = c( "\\# of Dual Enrollment Students (2019-2020)", "\\# of Dual Enrollment Students enrolled as Dual (2020-2021) Retention", "\\# of Dual Enrollment Students enrolled as FTF in Fall 2020", "\\# of Dual Enrollment Students enrolled as FTF in Spring 2021", "\\# Dual Enrollment Students enrolled Non-SCTCS \\\\ \\quad \\textbullet\\ Non-SCTCS 2-year \\\\ \\quad \\textbullet\\ Non-SCTCS 4-year", "\\# of Dual Enrollment Students Unknown Status" ), Counts = c(100, 60, 10, 10, "\\\\5\\\\5", 10) ) # 生成表格 kbl(Fact_Fig19_20, escape = FALSE, col.names = c("Facts", "Counts"), format = "latex") %>% kable_styling(full_width = FALSE) %>% row_spec(5, align = "c")
如果需要调整两个数值的间距,可以在两个数值之间多添加几个换行符,和左侧列表的行高匹配即可。
内容的提问来源于stack exchange,提问作者asokol
相关产品推荐
相关产品推荐

