
Last chance! 50% off unlimited learning
Sale ends in
Functions for sanitizing elements of a table produced by xtable. Used for dealing with characters which have special meaning in the output format.
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, ...)
A character object to be sanitized.
Type of table to produce. Possible values for type
are "latex"
or "html"
.
Default value is "latex"
.
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
.
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.
Returns the sanitized character object.
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
<
.
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.
# 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