J'utilise knitr::kable()
pour rendre les tableaux dans le cadre d'un document R Markdown (qui fait lui-même partie d'un bookdown project). En particulier, l'option booktabs (en définissant l'argument booktabs
sur TRUE
) rend le tableau d'une manière agréable. Cependant, j'aimerais qu'il n'y ait pas d'espace après cinq rangées.
Voici, par exemple, le code et la façon dont le tableau dans la démo de bookdown apparaît lorsqu'il est rendu au format PDF:
knitr::kable(
head(iris, 20), caption = 'Here is a Nice table!',
booktabs = TRUE
)
Je voudrais que l'espace qui apparaît après toutes les cinq lignes ne soit pas inclus, mais je n'arrive pas à trouver un paramètre dans knitr::kable()
qui fasse cela.
La raison pour laquelle la hauteur de ligne n'est pas toujours égale est que par défaut, kable insère un \addlinespace
Toutes les 5 lignes lorsque booktabs est spécifié comme VRAI, comme indiqué ici :
linesep = if (booktabs) c('', '', '', '', '\\addlinespace') else '\\hline'
Pour modifier cela, ajoutez linesep = ""
Comme argument à kable()
.
knitr::kable(
head(iris, 20), caption = 'Here is a Nice table!',
booktabs = TRUE,
linesep = ""
)
Voir Débarrassez-vous de\addlinespace dans kable pour plus de détails.
Il convient également de dire que vous pouvez jouer avec cette option si vous souhaitez modifier le style. Par exemple, linesep = c("", "", "", "\\hline")
ajouterait une ligne horizontale tous les quatre espaces.