setHtmlTableTheme: Set or update theme for 'htmlTable()'

View source: R/htmlTable_theme.R

setHtmlTableThemeR Documentation

Set or update theme for htmlTable()

Description

The theme guides many of the non-data objects visual appearance. The theme can be over-ridden by settings for each table. Too get a more complete understanding of the options, see addHtmlTableStyle().

Usage

setHtmlTableTheme(
  theme = NULL,
  align = NULL,
  align.header = NULL,
  align.cgroup = NULL,
  css.rgroup = NULL,
  css.rgroup.sep = NULL,
  css.tspanner = NULL,
  css.tspanner.sep = NULL,
  css.total = NULL,
  css.cell = NULL,
  css.cgroup = NULL,
  css.header = NULL,
  css.header.border_bottom = NULL,
  css.class = NULL,
  css.table = NULL,
  pos.rowlabel = NULL,
  pos.caption = NULL,
  col.rgroup = NULL,
  col.columns = NULL,
  padding.rgroup = NULL,
  padding.tspanner = NULL,
  spacer.celltype = NULL,
  spacer.css.cgroup.bottom.border = NULL,
  spacer.css = NULL,
  spacer.content = NULL
)

Arguments

theme

A list containing all the styles or a string that is matched to some of the preset style (See details below in the Theme options section). Note: the full name of the theme is not required as they are matched using base::match.arg().

align

A character strings specifying column alignments, defaulting to 'c' to center. Valid chars for alignments are l = left, c = center and r = right. You can also specify align='c|c' and other LaTeX tabular formatting. If you want to set the alignment of the rownames this string needst to be ncol(x) + 1, otherwise it automatically pads the string with a left alignment for the rownames.

align.header

A character strings specifying alignment for column header, defaulting to centered, i.e. ⁠[paste][base::paste](rep('c',ncol(x)),collapse='')⁠.

align.cgroup

The justification of the cgroups

css.rgroup

CSS style for the rgroup, if different styles are wanted for each of the rgroups you can just specify a vector with the number of elements.

css.rgroup.sep

The line between different rgroups. The line is set to the TR element of the lower rgroup, i.e. you have to set the border-top/padding-top etc to a line with the expected function. This is only used for rgroups that are printed. You can specify different separators if you give a vector of rgroup - 1 length (this is since the first rgroup doesn't have a separator).

css.tspanner

The CSS style for the table spanner.

css.tspanner.sep

The line between different spanners.

css.total

The css of the total row if such is activated.

css.cell

The css.cell element allows you to add any possible CSS style to your table cells. See section below for details.

css.cgroup

The same as css.class but for cgroup formatting.

css.header

The header style, not including the cgroup style

css.header.border_bottom

The header bottom-border style, e.g. ⁠border-bottom: 1px solid grey⁠

css.class

The html CSS class for the table. This allows directing html formatting through CSS directly at all instances of that class. Note: unfortunately the CSS is frequently ignored by word processors. This option is mostly inteded for web-presentations.

css.table

You can specify the the style of the table-element using this parameter

pos.rowlabel

Where the rowlabel should be positioned. This value can be "top", "bottom", "header", or a integer between 1 and nrow(cgroup) + 1. The options "bottom" and "header" are the same, where the row label is presented at the same level as the header.

pos.caption

Set to "bottom" to position a caption below the table instead of the default of "top".

col.rgroup

Alternating colors (zebra striping/banded rows) for each rgroup; one or two colors is recommended and will be recycled.

col.columns

Alternating colors for each column.

padding.rgroup

Generally two non-breakings spaces, i.e. ⁠  ⁠, but some journals only have a bold face for the rgroup and leaves the subelements unindented.

padding.tspanner

The table spanner is usually without padding but you may specify padding similar to padding.rgroup and it will be added to all elements, including the rgroup elements. This allows for a 3-level hierarchy if needed.

spacer.celltype

When using cgroup the table headers are separated through a empty HTML cell that is by default filled with ⁠ ⁠ (no-breaking-space) that prevents the cell from collapsing. The purpose of this is to prevent the headers underline to bleed into one as the underline is for the entire cell. You can alter this behavior by changing this option, valid options are single_empty, skip, double_cell. The single_empty is the default, the skip lets the header bleed into one and skips entirely, double_cell is for having two cells so that a vertical border ends up centered (specified using the align option). The arguments are matched internally using base::match.arg so you can specify only a part of the name, e.g. "sk" will match "skip".

spacer.css.cgroup.bottom.border

Defaults to none and used for separating cgroup headers. Due to a browser bug this is sometimes ignored and you may therefore need to set this to ⁠1px solid white⁠ to enforce a white border.

spacer.css

If you want the spacer cells to share settings you can set it here

spacer.content

Defaults to ⁠ ⁠ as this guarantees that the cell is not collapsed and is highly compatible when copy-pasting to word processors.

Value

An invisible list with the new theme

Theme options

The styles available are:

  • standard: The traditional standard style used in htmlTable() since the early days

  • ⁠Google docs⁠: A style that is optimized for copy-pasting into documents on Google drive. This is geared towards minimal padding and margins so that the table is as dense as possible.

  • blank: Just as the name suggests the style is completly empty in terms of CSS. Positions for rowlabel and caption are set to bottom as these cannot be blank.

You can also provide your own style. Each style should be a names vector, e.g. c(width = "100px", color = "red") or just a real css string, ⁠width: 100px; color: red;⁠.

Examples

## Not run: 
setHtmlTableTheme("Google", align = "r")

## End(Not run)

htmlTable documentation built on Nov. 2, 2023, 6:26 p.m.