3 \title{Print Export Tables}
\r
4 \description{Function returning and displaying or writing to disk the LaTeX or HTML code associated with the supplied object of class \code{xtable}.}
\r
6 \method{print}{xtable}(x, type="latex", file="", append=FALSE,
\r
7 floating=TRUE, floating.environment="table",
\r
8 table.placement = "ht", caption.placement="bottom",
\r
9 latex.environments=c("center"),
\r
10 tabular.environment = "tabular", size=NULL,
\r
11 hline.after=c(-1,0,nrow(x)), NA.string = "", include.rownames=TRUE,
\r
12 include.colnames=TRUE, only.contents=FALSE, add.to.row=NULL,
\r
13 sanitize.text.function=NULL,
\r
14 sanitize.rownames.function=sanitize.text.function,
\r
15 sanitize.colnames.function=sanitize.text.function,
\r
16 math.style.negative=FALSE,
\r
17 html.table.attributes="border=1",
\r
18 print.results=TRUE,
\r
20 short.caption=NULL,
\r
21 rotate.rownames = FALSE,
\r
22 rotate.colnames = FALSE,
\r
25 \item{x}{An object of class \code{"xtable"}.}
\r
26 \item{type}{Type of table to produce. Possible values for \code{type} are \code{"latex"} or \code{"html"}.
\r
27 Default value is \code{"latex"}.}
\r
28 \item{file}{Name of file where the resulting code should be saved. If \code{file=""}, output is displayed on screen. Note that
\r
29 the function also (invisibly) returns a character vector of the results (which can be helpful for post-processing).
\r
30 Default value is \code{""}.}
\r
31 \item{append}{If \code{TRUE} and \code{file!=""}, code will be appended to \code{file} instead of overwriting \code{file}.
\r
32 Default value is \code{FALSE}.}
\r
33 \item{floating}{If \code{TRUE} and \code{type="latex"}, the resulting table will be a floating table (using, for example, \code{\\begin\{table\}} and \code{\\end\{table\}}). See \code{floating.environment} below. Default value is \code{TRUE}.}
\r
34 \item{floating.environment}{If \code{floating=TRUE} and \code{type="latex"}, the resulting table uses the specified floating environment.
\r
35 Possible values are \code{"table"}, \code{"table*"}, or \code{"sidewaystable"} (defined in the LaTeX package 'rotating').
\r
36 Default value is \code{"table"}.}
\r
37 \item{table.placement}{If \code{floating=TRUE} and \code{type="latex"}, the floating table will have placement given by \code{table.placement} where \code{table.placement} must be \code{NULL} or contain only elements of \{"h","t","b","p","!","H"\}.
\r
38 Default value is \code{"ht"}.}
\r
39 \item{caption.placement}{The caption will be have placed at the bottom of the table if \code{caption.placement} is \code{"bottom"} and at the top of the table if it equals \code{"top"}.
\r
40 Default value is \code{"bottom"}.}
\r
41 \item{latex.environments}{If \code{floating=TRUE} and \code{type="latex"}, the specificed latex environments (provided as a character vector) will enclose the tabuluar environment.
\r
42 Default value is \code{"center"}.}
\r
43 \item{tabular.environment}{When \code{type="latex"}, the tabular environment that will be used. Defaults to \code{"tabular"}. When working with tables that extend more than one page, using \code{tabular.environment="longtable"} and the LaTeX package \code{"longtable"} (see Fairbairns, 2005) allows one to typeset them uniformly. Note that \code{"floating"} should be set to \code{"FALSE"} when using the \code{"longtable"} environment.}
\r
44 \item{size}{An arbitrary character vector intended to be used to set the font size in a LaTeX table. The supplied value (if not \code{NULL}) is inserted just before the tabular environment starts. Default value is \code{NULL}.}
\r
45 \item{hline.after}{When \code{type="latex"}, a vector of numbers between -1 and \code{"nrow(x)"}, inclusive, indicating the rows after which a horizontal line should appear. If \code{NULL} is used no lines are produced. Default value is \code{c(-1,0,nrow(x))} which means draw a line before and after the columns names and at the end of the table. Repeated values are allowed.}
\r
46 \item{NA.string}{String to be used for missing values in table entries. Default value is \code{""}.}
\r
47 \item{include.rownames}{logical. If \code{TRUE} the rows names is printed. Default value is \code{TRUE}.}
\r
48 \item{include.colnames}{logical. If \code{TRUE} the columns names is printed. Default value is \code{TRUE}.}
\r
49 \item{only.contents}{logical. If \code{TRUE} only the rows of the table is printed. Default value is \code{FALSE}.}
\r
50 \item{add.to.row}{a list of two components. The first component (which should be called 'pos') is a list contains the position of rows on which extra commands should be added at the end, The second component (which should be called 'command') is a character vector of the same length of the first component which contains the command that should be added at the end of the specified rows. Default value is \code{NULL}, i.e. do not add commands.}
\r
51 \item{sanitize.text.function}{All non-numeric enteries (except row and column names) are sanitised in an attempt to remove characters which have special meaning for the output format. If \code{sanitize.text.function} is not NULL (the default), it should be a function taking a character vector and returning one, and will be used for the sanitization instead of the default internal function.}
\r
52 \item{sanitize.rownames.function}{Like the \code{sanitize.text.function}, but applicable to row names. The default uses the \code{sanitize.text.function}.}
\r
53 \item{sanitize.colnames.function}{Like the \code{sanitize.text.function}, but applicable to column names. The default uses the \code{sanitize.text.function}.}
\r
54 \item{math.style.negative}{In a LaTeX table, if \code{TRUE}, then use $-$ for the negative sign (as was the behavior prior to version 1.5-3). Default value is \code{FALSE}.}
\r
55 \item{html.table.attributes}{In an HTML table, attributes associated with the \code{<TABLE>} tag. Default value is \code{border=1}.}
\r
56 \item{print.results}{If \code{TRUE}, the generated table is printed to standard output. Set this to \code{FALSE} if you will just be using the character vector that is returned invisibly.}
\r
57 \item{format.args}{List of arguments for the \code{formatC} function. For example, standard German number separators can be specified as \code{format.args=list(big.mark = "'", decimal.mark = ","))}.}
\r
58 \item{short.caption}{A "short caption" can be specified that gets used as the table descriptor when LaTeX generates a "List of Tables".}
\r
59 \item{rotate.rownames}{If \code{TRUE}, the row names are displayed vertically in LaTeX.}
\r
60 \item{rotate.colnames}{If \code{TRUE}, the column names are displayed vertically in LaTeX.}
\r
61 \item{...}{Additional arguments. (Currently ignored.)}
\r
64 This function displays or writes to disk the code to produce a table associated with an object \code{x} of class \code{"xtable"}.
\r
65 The resulting code is either a LaTeX or HTML table, depending on the value of \code{type}. The function also (invisibly) returns a character vector
\r
66 of the results (which can be helpful for post-processing).
\r
68 Since version 1.4 the non default behavior of \code{hline.after} is changed. To obtain the same results as the previous versions add to the \code{hline.after} vector the vector \code{c(-1, 0, nrow(x))} where \code{nrow(x)} is the numbers of rows of the object.
\r
70 From version 1.4-3, all non-numeric columns are sanitized, and all LaTeX special characters are sanitised for LaTeX output. See Section 3 of the \code{xtableGallery} vignette for an example of customising the sanitization.
\r
71 From version 1.4-4, the sanitization also applies to column names. To remove any text sanitization, specify \code{sanitize.text.function=function(x){x}}.
\r
73 \author{David Dahl \email{dahl@stat.tamu.edu} with contributions and suggestions from many others (see source code).}
\r
75 Fairbairns, Robin (2005) \emph{Tables longer than a single page} The UK List of TeX Frequently Asked Questions on the Web. \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=longtab}
\r
77 \seealso{\code{\link{xtable}}, \code{\link{caption}}, \code{\link{label}},
\r
78 \code{\link{align}}, \code{\link{digits}}, \code{\link{display}}, \code{\link{formatC}}}
\r