Provides 'MathJax' and macros to enable its use within Rd files for rendering equations in the HTML help files.
The mathjaxr package allows for easy inclusion of MathJax equations in Rd files. Package authors wanting to make use of the package and its functionality need to:
mathjaxr package,mathjaxr to Imports in the DESCRIPTION file of their package,mathjaxr to RdMacros in the DESCRIPTION file of their package (or add RdMacros: mathjaxr if the DESCRIPTION file does not yet contain a RdMacros entry),BuildManual: TRUE to the DESCRIPTION file,import(mathjaxr) in the NAMESPACE file of their package.One can then enable the use of MathJax by calling the \loadmathjax macro (that is provided by the mathjaxr package) within the \description{} section of an Rd file (or within the @description section when using roxygen2).
An inline equation can then be added with the \mjeqn{latex}{ascii} macro, with the LaTeX commands for the equation given between the first set of curly brackets (which will be rendered in the HTML and PDF help pages) and the plain-text version of the equation given between the second set of curly brackets (which will be shown in the plain-text help). With the \mjdeqn{latex}{ascii} macro, one can add 'displayed equations' (as in LaTeX's displaymath environment).
Single argument versions of these macros, \mjseqn{latexascii} and \mjsdeqn{latexascii}, are also available. In case that one must specify different LaTeX commands for the PDF and HTML pages, there are also triple argument versions of these macros, namely \mjteqn{pdflatex}{htmllatex}{ascii} and \mjtdeqn{pdflatex}{htmllatex}{ascii}.
The JavaScript code for MathJax is contained in this package. If a user viewing a help page has mathjaxr installed, it will be retrieved from there, otherwise it will be retrieved from the CDN site https://cdn.jsdelivr.net/npm/mathjax@4/tex-mml-chtml.js. To force use of the CDN site, the user can set the environment variable MATHJAXR_USECDN to any non-blank value (e.g., Sys.setenv(MATHJAXR_USECDN=TRUE)). The URL for a diferent CDN can be specified via the environment variable MATHJAXR_CDN.
\lt and \gt macros provided by MathJax. However, these macros cause problems when rendering the PDF help pages. Hence, one should then use \mjteqn{} and \mjtdeqn{} to specify different LaTeX commands for the PDF and HTML pages. For example, \mjteqn{i < j}{i \lt j}{i < j} will work across all output formats and does not cause any problems for the HTML help pages. For the less- and greater-than-or-equal-to symbols, one can use the \le and \ge macros that work across all output formats.\lbrace and \rbrace (possibly in combination with \left and \right to make them sufficiently large) is a solution (e.g., \mjeqn{\left\lbrace ... \right\rbrace}{\{...\}} should render nicely in the PDF/HTML help pages and the plain-text version).\mjteqn{100\\\%}{100\\\\\\\%}{100\\%} should be rendered correctly in all three help pages.server-add-header=X-Content-Type-Options: to /etc/rstudio/rserver.conf (and then restarting the server). This of course requires admin rights on the machine running the server.The probability density function of a normal distribution is given by $$f(x) = \frac{1}{\sqrt{2\pi} \sigma} e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2}$$ where $\mu$ denotes the mean of the distribution and $\sigma$ its standard deviation.
The current official (i.e., CRAN) release can be installed within R with:
install.packages("mathjaxr")
The development version of the package can be installed with:
install.packages("remotes")
remotes::install_github("wviechtb/mathjaxr")
This builds the package from source based on the current version on GitHub. Note that Windows users must have Rtools installed for this to work.
The mathjaxr package is licensed under the GNU General Public License Version 3, while MathJax itself is licensed under the Apache License, Version 2.0. To report any issues or bugs, please go here.