kableExtra (version 0.9.0)

kable_styling: HTML table attributes

Description

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.

Usage

kable_styling(kable_input, bootstrap_options = "basic",
  latex_options = "basic", full_width = NULL, position = "center",
  font_size = NULL, row_label_position = "l", ...)

Arguments

kable_input

Output of knitr::kable() with format specified

bootstrap_options

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.

latex_options

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.

full_width

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

position

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.

font_size

A numeric input for table font size

row_label_position

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.

...

extra options for HTML or LaTeX. See details.

Details

For LaTeX, extra options includes:

  • repeat_header_method can either be append(default) or replace

  • repeat_header_text is just a text string you want to append on or replace the caption.

  • stripe_color allows users to pick a different color for their strip lines.

  • latex_table_env 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.

Examples

Run this code
# 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 DataCamp Workspace