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?
The kable() function in knitr is a very simple table generator, and is simple by design. It only generates tables for strictly rectangular data such as matrices and data frames. You cannot heavily format the table cells or merge cells.
To change the font size, you don't need to know a lot of html for this. Open the html output with notepad ++. Control F search for "font-size". You should see a section with font sizes for the headers (h1, h2, h3,...).
The kableExtra package (Zhu 2021) is designed to extend the basic functionality of tables produced using knitr::kable() (see Section 10.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)
I use \tiny before the function and \normalsize after it, which works for .pdf using the formats latex and markdown.
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.
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;
}
```
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With