You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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>
    &nbsp;&nbsp;• Non-SCTCS 2-year <br>
    &nbsp;&nbsp;• 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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 22:12:03