Type: | Package |
Title: | Use LaTeX Expressions in Plots |
Version: | 0.9.6 |
Date: | 2022-11-27 |
Description: | Parses and converts LaTeX math formulas to R's plotmath expressions, used to enter mathematical formulas and symbols to be rendered as text, axis labels, etc. throughout R's plotting system. |
License: | MIT + file LICENSE |
URL: | https://www.stefanom.io/latex2exp/, https://github.com/stefano-meschiari/latex2exp |
BugReports: | https://github.com/stefano-meschiari/latex2exp/issues |
Imports: | stringr, magrittr |
Encoding: | UTF-8 |
Suggests: | testthat, waldo, knitr, ggplot2, rmarkdown, purrr, tibble, reactable, htmltools, RCurl, rlang, dplyr |
VignetteBuilder: | knitr |
RoxygenNote: | 7.1.2 |
Language: | en-US |
NeedsCompilation: | no |
Packaged: | 2022-11-28 01:32:27 UTC; stefano |
Author: | Stefano Meschiari [aut, cre] |
Maintainer: | Stefano Meschiari <stefano.meschiari@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2022-11-28 03:30:02 UTC |
Converts LaTeX to a plotmath
expression.
Description
TeX
converts a string comprising LaTeX commands (such as
a math equation) to a plotmath
expression. Plotmath
expressions can be used throught R's graphic system to represent
formatted text and equations.
Usage
TeX(
input,
bold = FALSE,
italic = FALSE,
user_defined = list(),
output = c("expression", "character", "ast")
)
Arguments
input |
A character vector containing LaTeX strings. Note that any backslashes must be escaped (e.g. "$\alpha"). |
bold |
Whether to make the entire label bold |
italic |
Whether to make the entire label italic |
user_defined |
Described in the "Adding New Commands" section. |
output |
The returned object, one of "expression" (default, returns a plotmath expression ready for plotting), "character" (returns the expression as a string), and "ast" (returns the tree used to generate the expression). |
Value
Returns a plotmath expression by default. The output
parameter can
modify the type of the returned value.
If more than one string is specified in the input
parameter, returns a list
of expressions.
Adding new commands
New LaTeX commands can be defined by supplying the user_defined
parameter.
The user_defined
parameter is a list that contains LaTeX commands
as names, and template strings as values. A LaTeX command that matches
one of the names is translated into the corresponding string and included in
the final plotmath expression. The file symbols.R
in the source code
of this package contains one such table that can be used as a reference.
The template string can include one of the following special template parameters:
-
$arg1, $arg2, ...
represent the first, second, ... brace argument. E.g. for\frac{x}{y}
,$arg1
isx
and$arg2
isy
. -
$opt
is an optional argument in square brackets. E.g. for\sqrt[2]{x}
,$opt
is2
. -
$sub
and$sup
are arguments in the exponent (^
) or subscript (_
) following the current expression. E.g. for\sum^{x}
,$sup
isx
. -
$LEFT
and$RIGHT
are substituted the previous and following LaTeX expression relative to the current token.
See the Examples section for an example of using the user_defined
option.
Examples
TeX("$\\alpha$") # plots the greek alpha character
TeX("The ratio of 1 and 2 is $\\frac{1}{2}$")
a <- 1:100
plot(a, a^2, xlab=TeX("$\\alpha$"), ylab=TeX("$\\alpha^2$"))
# create a \variance command that takes a single argument
TeX("$\\variance{X} = 10$", user_defined=list("\\variance"="sigma[$arg1]^2"))
Deprecated; use TeX
instead.
Description
Deprecated; use TeX
instead.
Usage
latex2exp(string, output = c("expression", "character", "ast"))
Arguments
string |
A character vector containing LaTeX expressions. Note that any backslashes must be escaped (e.g. "$\alpha"). |
output |
The returned object, one of "expression" (default, returns a plotmath expression ready for plotting), "character" (returns the expression as a string), and "ast" (returns the tree used to generate the expression). |
Value
Returns an expression (see the output
parameter).
latex2exp Examples
Description
Plots a number of example LaTeX string, as parsed
by TeX
.
Usage
latex2exp_examples(cex = 1)
Arguments
cex |
Multiplier for font size |
Returns the list of supported LaTeX commands.
Description
If show
is TRUE, also show a searchable table of symbols.
Usage
latex2exp_supported(show = FALSE, ...)
Arguments
show |
Show a searchable table of symbols |
... |
Other parameters (not used) |
Value
A data frame containing a table of supported LaTeX commands.
Previews a LaTeX equation
Description
Plots the result of a call to [TeX] on the current graphical device. This is useful to preview the output before placing it on a plot.
Usage
## S3 method for class 'expression'
plot(x, ..., main = NULL)
Arguments
x |
|
... |
Parameters to be passed to the |
main |
Title of the plot |
Examples
plot(TeX("Example equation: $a \\geq b$"))
Print an expression returned by TeX()
Description
Prints out the plotmath expression generated by TeX
and the original TeX string.
Usage
## S3 method for class 'latexexpression'
print(x, ...)
Arguments
x |
Object to print |
... |
Ignored |
Prints out a parsed LaTeX object, as returned by TeX(..., output='ast'). This is primarily used for debugging.
Description
Prints out a parsed LaTeX object, as returned by TeX(..., output='ast'). This is primarily used for debugging.
Usage
## S3 method for class 'latextoken2'
print(x, depth = 0, ...)
Arguments
x |
The object |
depth |
Increases padding when recursing down the parsed structure |
... |
(Ignored) |
Renders a LaTeX tree
Description
Returns a string that is a valid plotmath expression, given a LaTeX tree
returned by parse_latex
.
Usage
render_latex(tokens, user_defined = list(), hack_parentheses = FALSE)
Arguments
tokens |
tree of tokens |
user_defined |
any custom definitions of commands passed to |
hack_parentheses |
render parentheses using |
Value
String that should be parseable as a valid plotmath expression