Get Rid of \Addlinespace in Kable

Get rid of \addlinespace in kable

You can add the argument linesep = "" to kable. This will be passed on to kable_latex where it overwrites the default

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

Example:

kable(cars, format = "latex", booktabs = TRUE, linesep = "")

Space after every five rows in kable output (with booktabs option) in R Markdown document

The reason why the row height is not always equal is that by default, kable inserts a \addlinespace every 5 rows when booktabs is specified as TRUE, as is shown here:

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

To alter this, add linesep = "" as an argument to kable().

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

Sample Image

See Get rid of \addlinespace in kable for more details.

It is also worth saying that you can play around with this option if you want to change the style. For example linesep = c("", "", "", "\\hline") would add a horizontal line every four spaces.

Increase line/row spacing with kableExtra

You can just do it using the LaTeX command \arraystretch:

---
output: pdf_document
---

```{r setup, include=FALSE}
library(kableExtra)
library(tidyverse)
```


\renewcommand{\arraystretch}{2}
```{r, echo=FALSE}
library(knitr)
library(kableExtra)
kable(head(iris, 5), caption = 'Iris Table',booktabs = TRUE) %>%
kable_styling(latex_options = "striped")
```

Notice that all following tables would use the same spacing. But you could reset it using \renewcommand{\arraystretch}{1}

Sample Image

Controlling row height in kableExtra()

The reason why the row height is not always equal is that by default kable inserts a \addlinespace every 5th rows. To get rid of it, put linesep = "" in kable(). See Get rid of \addlinespace in kable for details.



Related Topics



Leave a reply



Submit