bookdown与gtsummary:为何代码块名称被添加至表格标题?
问题原因与解决方法
为什么会出现(#tab:mychunkname)?
当切换到bookdown::html_document2输出时,bookdown会自动启用交叉引用功能。gtsummary包能检测到这个环境,默认给生成的表格添加交叉引用标识(即(#tab:代码块标签)),这是它针对bookdown交叉引用场景的适配行为。而kable()直接对接knitr/bookdown的原生交叉引用系统,所以不会额外显示这个前缀。
怎么去除这个前缀?
方法1:关闭gtsummary的交叉引用适配
直接在modify_caption()里添加crossref = FALSE参数即可:
library(gtsummary) trial %>% select(age, grade, response) %>% tbl_summary() %>% modify_caption(caption = "MY CAPTION", crossref = FALSE)
方法2:用bookdown原生交叉引用定义标题
如果需要保留bookdown的交叉引用编号,也可以通过代码块的tab.cap选项定义标题,替代gtsummary的modify_caption:
#| tab.cap: "MY CAPTION" library(gtsummary) trial %>% select(age, grade, response) %>% tbl_summary()
这样既可以正常使用交叉引用,标题也不会出现多余前缀。
内容的提问来源于stack exchange,提问作者Henrik
相关产品推荐
相关产品推荐

