Chapter 3 Use Bootstrap Tables in gitbooks & epub
3.1 Gitbook
Most of kableExtra
tricks will work in bookdown
except those requiring bootstrap
. By default, rmarkdown
won’t load bootstrap
for you on gitbook as it’s not necesary. In kableExtra
, I used the bootstrap 3.3.7 customization tool and made a customized css copy. You can load it by setting options(kableExtra.html.bsTable = T)
.
library(kableExtra)
options(kableExtra.html.bsTable = T)
mtcars[1:5, 1:5] %>%
kable(booktabs = T) %>%
kable_styling(
bootstrap_options = c("striped","hover", "bordered", "condensed"),
latex_options = c("striped")
) %>%
column_spec(1, color = "red") %>%
add_header_above(c(" ", "Group A" = 2, "Group B" = 3))
mpg | cyl | disp | hp | drat | |
---|---|---|---|---|---|
Mazda RX4 | 21.0 | 6 | 160 | 110 | 3.90 |
Mazda RX4 Wag | 21.0 | 6 | 160 | 110 | 3.90 |
Datsun 710 | 22.8 | 4 | 108 | 93 | 3.85 |
Hornet 4 Drive | 21.4 | 6 | 258 | 110 | 3.08 |
Hornet Sportabout | 18.7 | 8 | 360 | 175 | 3.15 |
One very important note here is that by default bookdown loads the gitbook table css on start up. It has some conflicts with bootstrap
tables. As a result, some features like hover
won’t be able to work by default. To solve this problem, you need to use the latest version of bookdown
(version >= 0.7.21) and turn off the table_css
option under bookdown::gitbook
in _output.yml
bookdown::gitbook:
table_css: false
3.2 Epub
Right now, it’s impossible to load addition CSS through HTML dependency and this mechanism exists for a reason ( See this issue I filed ). You will have to manually load this stylesheet by putting it to a CSS file (such as “style.css”) and load it in _output.yml
. For example,
bookdown::epub_book:
stylesheet: style.css