Learn R Programming

xtable (version 1.8-4)

sanitize: Sanitization Functions

Description

Functions for sanitizing elements of a table produced by xtable. Used for dealing with characters which have special meaning in the output format.

Usage

sanitize(str, type = "latex")
sanitize.numbers(str, type, math.style.negative = FALSE,
                 math.style.exponents = FALSE)
sanitize.final(str, type)
as.is(str)
as.math(str, ...)

Arguments

str

A character object to be sanitized.

type

Type of table to produce. Possible values for type are "latex" or "html". Default value is "latex".

math.style.negative

In a LaTeX table, if TRUE, then use $-$ for the negative sign (as was the behavior prior to version 1.5-3). Default value is FALSE.

math.style.exponents

In a LaTeX table, if TRUE or "$$", then use $5 \times 10^{5}$ for 5e5. If "ensuremath", then use \ensuremath{5 \times 10^{5}} for 5e5. If "UTF-8" or "UTF-8", then use UTF-8 to approximate the LaTeX typsetting for 5e5. Default value is FALSE.

Additional arguments. Character strings or character vectors.

Value

Returns the sanitized character object.

Details

If type is "latex", sanitize() will replace special characters such as & and the like by strings which will reproduce the actual character, e.g. & is replaced by \&.

If type is "html", sanitize() will replace special characters such as < and the like by strings which will reproduce the actual character, e.g. < is replaced by &lt;.

When math.style.negative is TRUE, and type is "latex", $-$ is used for the negative sign rather than a simple hyphen (-). No effect when type is "html".

When type is "latex", and math.style.exponents is TRUE or "$$", then use $5 \times 10^{5}$ for 5e5. If "ensuremath", then use \ensuremath{5 \times 10^{5}} for 5e5. If "UTF-8" or "UTF-8", then use UTF-8 to approximate the LaTeX typsetting for 5e5.

When type is "latex" sanitize.final has no effect. When type is "html", multiple spaces are replaced by a single space and occurrences of ' align="left"' are eliminated.

as.is and as.math are trivial helper functions to disable sanitizing and to insert a some mathematics in a string respectively.

Examples

Run this code
# NOT RUN {
insane <- c("&",">", ">","_","%","$","\\","#","^","~","{","}")
names(insane) <- c("Ampersand","Greater than","Less than",
                   "Underscore","Percent","Dollar",
                   "Backslash","Hash","Caret","Tilde",
                   "Left brace","Right brace")
sanitize(insane, type = "latex")
insane <- c("&",">","<")
names(insane) <- c("Ampersand","Greater than","Less than")
sanitize(insane, type = "html")
x <- rnorm(10)
sanitize.numbers(x, "latex", TRUE)
sanitize.numbers(x*10^(10), "latex", TRUE, TRUE)
sanitize.numbers(x, "html", TRUE, TRUE)
as.is(insane)
as.math("x10^10", ": mathematical expression")
# }

Run the code above in your browser using DataLab