This function provides comprehensive LaTeX-specific theming and configuration options
for tinytable objects. It allows customization of LaTeX environments, table layout,
multipage behavior, resizing, and placement within LaTeX documents.
Usage
theme_latex(
x,
inner = NULL,
outer = NULL,
environment = get_option("tinytable_latex_environment", default = NULL),
environment_table = get_option("tinytable_latex_environment_table", default = TRUE),
multipage = get_option("tinytable_latex_multipage", default = FALSE),
rowhead = get_option("tinytable_latex_rowhead", 0L),
rowfoot = get_option("tinytable_latex_rowfoot", 0L),
resize_width = get_option("tinytable_latex_resize_width", 1),
resize_direction = get_option("tinytable_latex_resize_direction", default = NULL),
placement = get_option("tinytable_latex_placement", NULL),
preamble = NULL,
engine = NULL,
...
)Arguments
- x
A
tinytableobject to apply LaTeX theming to.- inner
Character string specifying inner tabularray options. These options control the internal formatting of the table (e.g., column alignment, spacing). Will be added to any existing inner options. Default is
NULL.- outer
Character string specifying outer tabularray options. These options control the external formatting around the table. Will be added to any existing outer options. Default is
NULL.- environment
Character string specifying the LaTeX table environment to use. Options are:
"tblr"- Standard tabularray table (default)"talltblr"- Tall tabularray table for tables that may break across pages"longtblr"- Long tabularray table for multi-page tables"tabular"- Basic LaTeX tabular environment without tabularray features
Default is controlled by
tinytable_latex_environmentoption.- environment_table
Logical indicating whether to wrap the table in a
tableenvironment. WhenFALSE, only the core table structure is output without the surrounding table wrapper. Automatically set toFALSEwhenenvironment = "longtblr". Default is controlled bytinytable_latex_environment_tableoption.- multipage
Logical indicating whether to enable multipage table functionality. When
TRUE, automatically switches tolongtblrenvironment and sets appropriate options for tables that span multiple pages. Default is controlled bytinytable_latex_multipageoption.- rowhead
Integer specifying the number of header rows to repeat on each page in multipage tables. Only valid with
longtblrenvironment. Default is controlled bytinytable_latex_rowheadoption.- rowfoot
Integer specifying the number of footer rows to repeat on each page in multipage tables. Only valid with
longtblrenvironment. Default is controlled bytinytable_latex_rowfootoption.- resize_width
Numeric value between 0.01 and 1.0 specifying the target width as a fraction of
\\linewidthwhen resizing tables. Only used whenresize_directionis specified. Default is controlled bytinytable_latex_resize_widthoption.- resize_direction
Character string specifying how to resize tables that are too wide or too narrow. Options are:
"down"- Only shrink tables wider than\\linewidth"up"- Only expand tables narrower than\\linewidth"both"- Resize all tables to exactlyresize_width * \\linewidth
Default is controlled by
tinytable_latex_resize_directionoption.- placement
Character string specifying LaTeX float placement options for the table environment (e.g., "h", "t", "b", "p", "H"). Only used when
environment_table = TRUE. Default is controlled bytinytable_latex_placementoption.- preamble
Logical value specifying whether to include LaTeX preamble packages. If not NULL, overrides the table's preamble setting.
- engine
Character string specifying the LaTeX engine to use for PDF compilation. Options are "xelatex", "pdflatex", or "lualatex". If not NULL, overrides the table's engine setting.
- ...
Additional arguments (currently unused).
Details
The function provides fine-grained control over LaTeX table output through several mechanisms:
Environment Selection: Different LaTeX environments offer different capabilities:
tblr: Modern tabularray syntax with full styling supporttalltblr: Liketblrbut optimized for tall tableslongtblr: Supports page breaks and repeated headers/footerstabular: Basic LaTeX syntax, limited styling but maximum compatibility
Multipage Tables:
When multipage = TRUE or when rowhead/rowfoot are specified, the function
automatically switches to longtblr environment and disables the table wrapper.
This allows tables to break across pages while maintaining headers and footers.
Resizing:
The resize functionality uses LaTeX's \\resizebox command to automatically
adjust table width based on content and page constraints. This is particularly
useful for tables with many columns.
Tabularray Options: Inner and outer options directly control tabularray formatting. Inner options affect cell content and spacing, while outer options control the table's relationship with surrounding text.