A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://vincentarelbundock.github.io/tinytable/vignettes/theme.html below:

theme – tinytable

Themes

tinytable offers a very flexible theming framwork, which includes a few basic visual looks, as well as other functions to apply collections of transformations to tinytable objects in a repeatable way. These themes can be applied by supplying a string or function to the theme argument in tt(). Alternatively, users can call the specific theme functions like theme_striped(), theme_grid(), etc.

The main difference between theme functions and the other options in package, is that whereas style_tt() and format_tt() aim to be output agnostic, theme functions supply transformations that can be output-specific, and which can have their own sets of distinct arguments. See below for a few examples.

library(tinytable)
options(tinytable_tt_digits = 3)
options(tinytable_latex_placement = "H")
x <- mtcars[1:4, 1:5]
Visual themes

To begin, let’s explore a few of the basic looks supplied by themes:

mpg cyl disp hp drat 21 6 160 110 3.9 21 6 160 110 3.9 22.8 4 108 93 3.85 21.4 6 258 110 3.08 mpg cyl disp hp drat 21 6 160 110 3.9 21 6 160 110 3.9 22.8 4 108 93 3.85 21.4 6 258 110 3.08 mpg cyl disp hp drat 21 6 160 110 3.9 21 6 160 110 3.9 22.8 4 108 93 3.85 21.4 6 258 110 3.08 mpg cyl disp hp drat 21 6 160 110 3.9 21 6 160 110 3.9 22.8 4 108 93 3.85 21.4 6 258 110 3.08 Custom themes

Users can also define their own themes to apply consistent visual tweaks to tables. For example, this defines a themeing function and sets a global option to apply it to all tables consistently:1

theme_vincent <- function(x, ...) {
  out <- x |> 
    style_tt(color = "teal") |>
    theme_default()
  out@caption <- "Always use the same caption."
  out@width <- .5
  return(out)
}

options(tinytable_tt_theme = theme_vincent)

tt(mtcars[1:2, 1:2])
Always use the same caption. mpg cyl 21 6 21 6 Always use the same caption. mpg cyl disp 21 6 160 21 6 160 22.8 4 108
options(tinytable_tt_theme = NULL)

Here is a slightly more complex example. The benefit of this approach is that we apply a function via the style_tt() function and its finalize argument, so we can leverage some of the object components that are only available at the printing stage:

theme_slides <- function(x, ...) {
  fn <- function(table) {
    if (isTRUE(table@output == "typst")) {
      table@table_string <- paste0("#figure([\n", table@table_string, "\n])")
    }
    return(table)
  }
  x <- style_tt(x, finalize = fn)
  return(x)
}

tt(head(iris), theme = theme_slides)

Note: the code above is not evaluated because it only applies to Typst output.

Tabular (LaTeX and HTML)

The tabular theme is designed to provide a more “raw” table, without a floating table environment in LaTeX, and without CSS or Javascript in HTML.

tt(x) |>
  theme_latex(environment = "tabular", table = FALSE) |>
  print("latex")
\begin{table}[H]
\centering
\begin{tabular}{lllll}
\hline
mpg & cyl & disp & hp & drat \\ \hline
21 & 6 & 160 & 110 & 3.9 \\
21 & 6 & 160 & 110 & 3.9 \\
22.8 & 4 & 108 & 93 & 3.85 \\
21.4 & 6 & 258 & 110 & 3.08 \\
\hline
\end{tabular}
\end{table} 
LaTeX Resize

LaTeX only.

Placement

LaTeX only.

Rotate

LaTeX only.

Multipage

LaTeX only.

User-written themes

This section provides a few user-written themes that can be used to extend the functionality of tinytable. These themes are not included in the package by default, but they can be easily added to your workflow. If you would like your own custom theme to appear here, please open an issue on the tinytable GitHub repository or submit a pull request.

theme_mitex()

This theme was written by Kazuharu Yanagimoto. Thanks for your contribution!

The MiTeX project aims to bring LaTeX support to Typst documents. This theme replace every instance of matching pairs of dollars signs $..$ by a MiTeX function call: #mitex(...). This allows you to use LaTeX math in Typst documents.

Warning: The substitution code is very simple and it may not work properly when there are unmatched $ symbols in the document.

theme_mitex <- function(x, ...) {
    fn <- function(table) {
        if (isTRUE(table@output == "typst")) {
          table@table_string <- gsub(
            "\\$(.*?)\\$",
            "#mitex(`\\1`)",
            table@table_string)
        }
        return(table)
    }
    x <- style_tt(x, finalize = fn)
    return(x)
}

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4