R Markdown文档中的kable输出中每隔五行(带有booktabs选项)后的空格

问题描述 投票:14回答:1

我正在使用knitr::kable()将表格作为R Markdown文档的一部分(它本身就是一个bookdown项目的一部分)。特别是,booktabs选项(通过将booktabs参数设置为等于TRUE)使表格看起来很漂亮。但是,我希望每隔五行就不会有空格。

例如,这里是代码以及在作为PDF呈现时,bookdown演示中的表格如何显示:

knitr::kable(
  head(iris, 20), caption = 'Here is a nice table!',
  booktabs = TRUE
)

iris table with booktabs

我想在每五行之后出现的空间不包括在内,但我似乎无法在knitr::kable()中找到这样做的设置。

r knitr r-markdown bookdown kable
1个回答
25
投票

行高不总是相等的原因是默认情况下,当booktabs指定为TRUE时,kable每5行插入一次\addlinespace,如图所示here

linesep = if (booktabs) c('', '', '', '', '\\addlinespace') else '\\hline'

要改变这一点,请将linesep = ""添加为kable()的参数。

knitr::kable(
  head(iris, 20), caption = 'Here is a nice table!',
  booktabs = TRUE,
  linesep = ""
)

enter image description here

有关详细信息,请参阅Get rid of \addlinespace in kable

如果你想改变风格,你也可以使用这个选项。例如,linesep = c("", "", "", "\\hline")将每四个空格添加一条水平线。

© www.soinside.com 2019 - 2024. All rights reserved.