'knitr::kable is there a way to reduce the font size?
I am using this code chunk
```{r, echo = FALSE}
knitr::kable(df)
```
However I would like to reduce the size of all font inside this table so that the output looks nicer. Is there a way to do that with kable or is there another package which supports it?
Solution 1:[1]
You can also try library(kableExtra). It has a lot of options to customise the table.
Specifically, for font size: https://haozhu233.github.io/kableExtra/awesome_table_in_html.html#font_size
df %>%
kable("html") %>%
kable_styling(font_size = 7)
Solution 2:[2]
I use \tiny before the function and \normalsize after it, which works for .pdf using the formats latex and markdown.
Solution 3:[3]
When you are happy with a global setting, use css on .table. To set it for one table, the only method I am aware of uses a div. Both methods cannot be used for latex etc, but the global method looks cleaner to me, because formating is delegated to a separate css.
---
title: "Small kable"
output:
html_document:
css: kable.css
---
# Global setting
```{r}
library(knitr)
kable(iris[1:5,])
```
# Local setting, not portable
<div class="verysmall">
```{r}
kable(iris[1:5,])
```
</div>
CSS File
.table{
width:auto;
font-size: 12px;
}
.verysmall .table{
font-size: 8px;
}
I also use auto-formatting for kable-tables in most cases.
Solution 4:[4]
Dieter's answer worked for me. My first time using CSS in rmarkdown. Instead of using a separate CSS file, I embedded the following code towards the top of my rmarkdown doc, as referenced here: https://bookdown.org/yihui/rmarkdown-cookbook/html-css.html.
```{css, echo = FALSE}
.verysmall .table{
font-size: 8px;
}
```
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Christoph Safferling |
| Solution 2 | JAQuent |
| Solution 3 | Dieter Menne |
| Solution 4 | ouflak |
