This function provides a cleaner approach to modify the style
of HTML tables other than using the table.attr
option in knitr::kable()
. Note
that those bootstrap options requires Twitter bootstrap theme, which is not avaiable
in some customized template being loaded.
kable_styling(kable_input, bootstrap_options = "basic",
latex_options = "basic", full_width = NULL, position = "center",
font_size = NULL, row_label_position = "l",
repeat_header_text = "\\textit{(continued)}",
repeat_header_method = c("append", "replace"),
repeat_header_continued = FALSE, stripe_color = "gray!6",
stripe_index = NULL, latex_table_env = NULL, protect_latex = TRUE,
table.envir = "table", fixed_thead = FALSE)
Output of knitr::kable()
with format
specified
A character vector for bootstrap table options.
Please see package vignette or visit the w3schools'
Bootstrap Page
for more information. Possible options include basic
, striped
,
bordered
, hover
, condensed
and responsive
.
A character vector for LaTeX table options. Please see
package vignette for more information. Possible options include
basic
, striped
, hold_position
, HOLD_position
, scale_down
& repeat_header
.
striped
will add alternative row colors to the table. It will imports
LaTeX
package xcolor
if enabled. hold_position
will "hold" the floating
table to the exact position. It is useful when the LaTeX
table is contained
in a table
environment after you specified captions in kable()
. It will
force the table to stay in the position where it was created in the document.
A stronger version: HOLD_position
requires the float
package and specifies [H]
.
scale_down
is useful for super wide table. It will automatically adjust
the table to page width. repeat_header
in only meaningful in a longtable
environment. It will let the header row repeat on every page in that long
table.
A TRUE
or FALSE
variable controlling whether the HTML
table should have 100% width. Since HTML and pdf have different flavors on
the preferable format for full_width
. If not specified, a HTML table will
have full width by default but this option will be set to FALSE
for a
LaTeX table
A character string determining how to position the table
on a page. Possible values include left
, center
, right
, float_left
and float_right
. Please see the package doc site for demonstrations. For
a LaTeX
table, if float_*
is selected, LaTeX
package wrapfig
will be
imported.
A numeric input for table font size
A character string determining the justification
of the row labels in a table. Possible values inclued l
for left, c
for
center, and r
for right. The default value is l
for left justifcation.
LaTeX option. A text string you want to append on or replace the caption.
LaTeX option, can either be append
(default) or
replace
T/F or a text string. Whether or not to put a continued mark on the second page of longtable. If you put in text, we will use this text as the "continued" mark.
LaTeX option allowing users to pick a different color for their strip lines. This option is not available in HTML
LaTeX option allowing users to customize which rows should have stripe color.
LaTeX option. A character string to define customized table environment such as tabu or tabularx.You shouldn't expect all features could be supported in self-defined environments.
If TRUE
, LaTeX code embedded between dollar signs
will be protected from HTML escaping.
LaTeX floating table environment. kable_style
will put
a plain no-caption table in a table
environment in order to center the
table. You can specify this option to things like table*
or float*
based
on your need.
HTML table option so table header row is fixed at top.
Values can be either T/F or list(enabled = T/F, background = "anycolor")
.
For LaTeX, if you use other than English environment
all tables are converted to 'UTF-8'. If you use, for example, Hungarian characters on a Windows machine, make sure to use Sys.setlocale("LC_ALL","Hungarian") to avoid unexpected conversions.
protect_latex = TRUE
has no effect.
For HTML,
protect_latex = TRUE
is for including complicated math in HTML output.
The LaTeX may not include dollar signs even if they are escaped.
Pandoc's rules for recognizing embedded LaTeX are used.
# NOT RUN {
x_html <- knitr::kable(head(mtcars), "html")
kable_styling(x_html, "striped", position = "left", font_size = 7)
x_latex <- knitr::kable(head(mtcars), "latex")
kable_styling(x_latex, latex_options = "striped", position = "float_left")
# }
Run the code above in your browser using DataLab