kableExtra与modelsummary交互异常:PDF输出原始LaTeX代码问题
解决方案
问题出在modelsummary()默认输出的是适配Quarto的表格对象,直接用kbl()包裹会将其转换为纯文本形式的LaTeX代码,导致Quarto无法正确渲染。正确的做法是让modelsummary()直接生成kable对象,再通过kableExtra设置样式。
修正后的代码:
library(kableExtra) library(modelsummary) model <- lm(mpg ~ hp, data = mtcars) modelsummary(model, output = "kable") |> kable_styling( full_width = TRUE, longtable = TRUE, # 启用longtable功能 booktabs = TRUE # 启用booktabs样式 )
关键说明:
output = "kable":让modelsummary()返回kable对象,而非默认的Quarto表格格式,这样kable_styling()可以直接对其进行样式修改。- 不需要额外调用
kbl():避免将表格对象强制转换为纯文本代码。 - 无需设置
#| output: asis:kable对象会被Quarto自动识别并渲染为PDF表格。
如果需要更复杂的LaTeX格式控制,可以在kable_styling()中通过latex_options参数添加更多选项,比如"scale_down"调整表格宽度等。
内容的提问来源于stack exchange,提问作者V W
相关产品推荐
相关产品推荐

