bookdown中kable结合kable_classic出现双表格标题问题求助
问题原因
bookdown的html_document2输出格式会自动处理knitr::kable()中指定的caption参数,生成符合规范的表格标题;而kableExtra::kable_classic()默认会再次将这个caption渲染为表格上方的标题,两者叠加就出现了重复标题。
解决方法
有两种可行的处理方式:
方式一:用bookdown原生表格标题语法
不在kable()中指定caption,而是在代码块上方用bookdown的表格标题语法定义标题,既符合bookdown的交叉引用规则,又不会和kableExtra的渲染冲突:
--- output: bookdown::html_document2 --- Table: (\#tab:demo-table) 自定义表格标题 ```{r demo-table} library(knitr) library(kableExtra) mtcars[1:5, 1:3] %>% kable() %>% kable_classic()
## 方式二:保留kable的caption,关闭kable_classic的标题渲染 如果习惯在`kable()`中写caption,可以在`kable_classic()`里添加`caption = NULL`参数,阻止它重复渲染标题: ```r --- output: bookdown::html_document2 --- ```{r} library(knitr) library(kableExtra) mtcars[1:5, 1:3] %>% kable(caption = "自定义表格标题") %>% kable_classic(caption = NULL)
内容的提问来源于stack exchange,提问作者herry
相关产品推荐
相关产品推荐

