theme_tt: Themes for 'tinytable'

View source: R/theme_tt.R

theme_ttR Documentation

Themes for tinytable

Description

A theme is a function which applies a collection of transformations to a tinytable object. Whereas the other tinytable functions such as format_tt() and style_tt() aim to be output-agnostic, themes can be output-specific, only applying to LaTeX, HTML, or Typst, as needed.

Each theme can have specific arguments, which are passed to the theme_tt() function. See the "Arguments" section below.

Usage

theme_tt(x, theme, ...)

Arguments

x

A tinytable object

theme

String. Name of the theme to apply. One of:

  • "bootstrap": Similar appearance to the default Bootstrap theme in HTML

  • "grid": Vertical and horizontal rules around each cell.

  • "multipage": Long tables continue on the next page (LaTeX only)

  • "placement": Position of the table environment (LaTeX)

  • "rotate": Rotate a LaTeX or Typst table.

  • "resize": Scale a LaTeX tinytable to fit the width argument.

  • "striped": Grey stripes on alternating rows

  • "tabular": Remove table environment (LaTeX) or Javascript/CSS (HTML)

  • "void": No rules

...

Additional arguments passed the themeing function. See the "Arguments" section below for a list of supported arguments for each theme.

Value

A modified tinytable object

Arguments

multipage

  • rowhead: Non-negative integer. The number of header rows to repeat on each page.

    • Set globally with options("tinytable_theme_multipage_rowhead" = 1L)

  • rowfoot: Non-negative integer. The number of footer rows to repeat on each page.

    • Set globally with options("tinytable_theme_multipage_rowfoot" = 1L)

tabular

  • style:

    • "tabular": Drop all LaTeX dependencies and floating environments, except ⁠\\begin{tabular}⁠

    • "tabularray": Drop all LaTeX dependencies and floating environments, except ⁠\\begin{tblr}⁠

    • Set globally with options("tinytable_theme_tabular_style" = "tblr")

placement

  • horizontal (Typst only): "l", "c", or "r" to align the table horizontally in the page.

    • Set globally with options("tinytable_theme_placement_horizontal" = "l")

  • latex_float: String to insert in square brackets after the LaTeX table environment, ex: "H", "htbp". The default value is controlled by a global option:

    • Set globally with options("tinytable_theme_placement_latex_float" = "H")

resize

  • width: A numeric value between 0.01 and 1, representing the proportion of the line width to use

    • Set globally with options("tinytable_theme_resize_width" = 0.9)

  • direction: "down", "up", "both" A string indicating if the table should be scaled in one direction. For example, "down" will only resize the table if it exceeds ⁠\linewidth⁠

    • Set globally with options("tinytable_theme_resize_direction" = "down")

rotate

  • angle: Angle of the rotation. For example, 'angle=90“ applies a half counter-clockwise turn.

  • Caveats:

    • LaTeX and Typst only.

    • Typst: In Quarto documents, rotation does not work because Quarto takes over the figure environment.

    • LaTeX: In Quarto documents, captions must be specified using the caption argument in tt() rather than via Quarto chunk options.

Examples

library(tinytable)

x <- mtcars[1:4, 1:4]

# equivalent calls
tt(x, theme = "striped")

tt(x) |> theme_tt("striped")

# resize w/ argument
x <- cbind(mtcars[1:10,], mtcars[1:10,])
tt(x) |>
  theme_tt("resize", width = .9) |>
  print("latex")


tinytable documentation built on Oct. 5, 2024, 5:06 p.m.