Set or query options for the table formatting.
table_options.Rd
These functions set or query options for table formatting in LaTeX or HTML output.
Details
The table_options()
function sets a number of options that control formatting. Currently the
options that affect both LaTeX and HTML output are:
justification = "c"
Default justification for the data columns in the table.
rowlabeljustification = "l"
Default justification for row labels.
doBegin, doHeader, doBody, doFooter, doEnd
These logical values (all defaults are
TRUE
) control the inclusion of specific parts of the output table.knit_print = TRUE
Do auto formatting when printing in a knitr document.
These options are only used for LaTeX output:
tabular = "tabular"
The LaTeX environment to use for the table. Other choices such as
"longtable"
might make sense.toprule, midrule, bottomrule
The LaTeX macros to use for the lines in the table. By default they are all
"\hline"
.titlerule = NULL
The LaTeX macro to use to underline multicolumn titles. If
NULL
, no underlining is done.latexleftpad, latexrightpad, latexminus, mathmode
These control formatting of numbers in the table. If
TRUE
(the default), blanks in R's formatting are converted to hard spaces in the LaTeX output, and negative signs are rendered properly. Generally this makes output look better, but the.tex
input may be harder to read.
These options are only used for HTML output:
doHTMLheader, doCSS, doHTMLbody
These control output of the material at the top of an HTML page.
HTMLhead, CSS, HTMLbody
These are the default strings to output when the corresponding element is selected. If present, the string
"CHARSET"
will be replaced with the result oflocaleToCharset()
in theHTMLhead
. The string"#ID"
will be replaced with"#"
followed by theid
argument tohtml.tabular
(or removed if that is blank).HTMLcaption
This is an optional HTML caption for the table. If
NULL
, no caption is emitted.HTMLleftpad, HTMLrightpad, HTMLminus
These control formatting of numbers in the table. If
TRUE
, blanks in R's formatting are converted to hard spaces in the HTML output, and negative signs are rendered properly. Generally this makes output look better, but cut and paste from the table may include these special characters and not be recognized by other software. The default isFALSE
.HTMLattributes
This is a string to add to the
"<table>"
declaration at the top of the table. By default, the attributes are'frame="hsides" rules="groups"'
. These set horizontal rules on the top and bottom of the table and between the header, body, and footer (if present).HTMLfooter
This is
NULL
for no footer, or HTML code to insert in the table. Note that in HTML the footer should be specified before the body of the table;html.tabular
will do this if both are written in the same call.
These may be set persistently by calling table_options()
, or just for the duration
of the call by passing them in a list via latex(options=list( ... ))
. Additional
...
arguments to latex
are passed to format
.
The booktabs()
function sets the table_options()
values to different defaults,
suitable for use with the booktabs LaTeX package.
The htmloptions()
function constructs a list suitable for the options
argument to html.tabular
, with grouping of options that
rarely differ from each other.
Note that any LaTeX code can be used in the rule options; for example, see
the longtable
example in the vignette. Material to go above the headers
goes into toprule
, material between the headers and the body goes into midrule
,
and material at the bottom of the table goes into bottomrule
.
Value
table_options()
and booktabs()
return the previous settings.
htmloptions()
returns a list of settings without changing the defaults.
Examples
tab <- tabular( (Species + 1) ~ (n=1) + Format(digits=2)*
(Sepal.Length + Sepal.Width)*(mean + sd), data=iris )
toLatex(tab)
#> \begin{tabular}{lccccc}
#> \hline
#> & & \multicolumn{2}{c}{Sepal.Length} & \multicolumn{2}{c}{Sepal.Width} \\
#> Species & n & mean & sd & mean & \multicolumn{1}{c}{sd} \\
#> \hline
#> setosa & $\phantom{0}50$ & $5.01$ & $0.35$ & $3.43$ & $0.38$ \\
#> versicolor & $\phantom{0}50$ & $5.94$ & $0.52$ & $2.77$ & $0.31$ \\
#> virginica & $\phantom{0}50$ & $6.59$ & $0.64$ & $2.97$ & $0.32$ \\
#> All & $150$ & $5.84$ & $0.83$ & $3.06$ & $0.44$ \\
#> \hline
#> \end{tabular}
save <- booktabs()
toLatex(tab)
#> \begin{tabular}{lccccc}
#> \toprule
#> & & \multicolumn{2}{c}{Sepal.Length} & \multicolumn{2}{c}{Sepal.Width} \\ \cmidrule(lr){3-4}\cmidrule(lr){5-6}
#> Species & n & mean & sd & mean & \multicolumn{1}{c}{sd} \\
#> \midrule
#> setosa & $\phantom{0}50$ & $5.01$ & $0.35$ & $3.43$ & $0.38$ \\
#> versicolor & $\phantom{0}50$ & $5.94$ & $0.52$ & $2.77$ & $0.31$ \\
#> virginica & $\phantom{0}50$ & $6.59$ & $0.64$ & $2.97$ & $0.32$ \\
#> All & $150$ & $5.84$ & $0.83$ & $3.06$ & $0.44$ \\
#> \bottomrule
#> \end{tabular}
table_options(save)
# \donttest{
f <- tempfile(fileext = ".html")
if (interactive())
toHTML(tab, f,
options=htmloptions(HTMLcaption="Table of Iris Data",
pad = TRUE))
# }