| formatdown_options {formatdown} | R Documentation |
Get and set function arguments via options
Description
Changes the default values of function arguments which affect the markup and appearance of formatdown results.
Usage
formatdown_options(..., reset = FALSE)
Arguments
... |
One or more |
reset |
Logical vector of length 1; if TRUE, reset all options to their default values. |
Details
Global options are provided for arguments that users would likely prefer to set once in a document instead of repeating in every function call. For example, some users prefer a comma decimal marker (",") throughout a document.
Globally-set arguments can be overridden locally by assigning them in a function call.
The arguments that can be set with this function are as follows:
-
delim: Character, length 1 or 2, to define the left and right math markup delimiters. The default setting,delim = "$", produces left and right delimiters$...$. The alternate built-in setting,delim = "\(", produces left and right delimiters\\( ... \\). Custom delimiters can be assigned in a vector of length 2 with left and right delimiter symbols, e.g.,c("\\[", "\\]"). Special characters typically must be escaped. -
size: Character, length 1, to assign a font size. If not empty, adds a font size macro to the markup inside the math delimiters. Possible values are"scriptsize","small","normalsize","large", and"huge". One may also assign the equivalent LaTeX-style markup itself, e.g.,"\\scriptsize","\\small", etc. Default is NULL. -
decimal_mark: Character, length 1, to assign the decimal marker. Possible values are a period"."(default) or a comma",". Passed toformatC(decimal.mark). -
big_mark: Character, length 1, used as the mark between everybig_intervalnumber of digits to the left of the decimal marker to improve readability. Possible values are empty""(default) or"thin"to produce a LaTeX-style thin, horizontal space. One may also assign the thin-space markup itself"\\\\,". Passed toformatC(big.mark). -
big_interval: Integer, length 1, that defines the number of digits (default 3) in groups separated bybig_mark. Passed toformatC(big.interval). -
small_mark: Character, length 1, used as the mark between everysmall_intervalnumber of digits to the right of the decimal marker to improve readability. Possible values are empty""(default) or"thin"to produce a LaTeX-style thin, horizontal space. One may also assign the thin-space markup itself"\\\\,". Passed toformatC(small.mark). -
small_interval: Integer, length 1, that defines the number of digits (default 5) in groups separated bysmall_mark. Passed toformatC(small.interval). -
whitespace: Character, length 1, to define the LaTeX-style math-mode macro to preserve a horizontal space between words of text or between physical-unit abbreviations when formatting numbers of class "units". Default is"\\\\>". Alternatives include"\\\\:"or "\\\\ ".
Value
Nothing; used for its side-effect.
Examples
# Show all options
formatdown_options()
# Store existing settings, including any changes made by the user
old_settings <- formatdown_options()
# View one option
formatdown_options()$delim
# View multiple options
formatdown_options("size", "delim")
# Change options
formatdown_options(size = "small", delim = "\\(")
formatdown_options("size", "delim")
# Reset to default values
formatdown_options(reset = TRUE)
formatdown_options("size", "delim")
# Reset options to those before this example was run
do.call(formatdown_options, old_settings)
# Option effects
# delim
x <- 101300
format_dcml(x)
format_dcml(x, delim = "\\(")
# size
format_dcml(x, size = "small")
format_dcml(x, size = "\\small")
# decimal_mark
y <- 6.02214076E+10
format_sci(y, 5, decimal_mark = ".")
format_sci(y, 5, decimal_mark = ",")
# big_mark
format_dcml(y, 9)
format_dcml(y, 9, big_mark = "thin")
format_dcml(y, 9, big_mark = "\\\\,")
# big_interval
format_dcml(y, 9, big_mark = "thin", big_interval = 3)
format_dcml(y, 9, big_mark = "thin", big_interval = 5)
# small_mark
z <- 1.602176634e-8
format_sci(z, 10)
format_sci(z, 10, small_mark = "thin")
format_sci(z, 10, small_mark = "\\\\,")
format_engr(z, 10, small_mark = "thin")
# small_interval
format_sci(z, 10, small_mark = "thin", small_interval = 3)
format_sci(z, 10, small_mark = "thin", small_interval = 5)
format_engr(z, 10, small_mark = "thin", small_interval = 5)
# whitespace in text
p <- "Hello world!"
format_text(p, whitespace = "\\\\:")
# whitespace in physical units expression
x <- pi
units(x) <- "m/s"
format_dcml(x, whitespace = "\\\\:")