[Rd] Use of MathJax (or something similar) in .Rd files

Viechtbauer, Wolfgang (SP) wo||g@ng@v|echtb@uer @end|ng |rom m@@@tr|chtun|ver@|ty@n|
Tue May 5 15:11:35 CEST 2020

Hi All,

After some tinkering, and with support from Duncan, I put together a package that allows for easy inclusion of MathJax equations in Rd files. The package has been submitted to CRAN, but those who want to try this out already can get it here:


or in other words:


Package authors can then use the \loadmathjax macro to enable its use and the \mjeqn{latex}{ascii} and \mjdeqn{latex}{ascii} macros for including inline and displayed equations.

Feedback and suggestions more than welcome!


>-----Original Message-----
>From: Ravi Varadhan [mailto:ravi.varadhan using jhu.edu]
>Sent: Thursday, 30 April, 2020 15:58
>To: Viechtbauer, Wolfgang (SP); r-devel
>Subject: Re: [Rd] Use of MathJax (or something similar) in .Rd files
>Thank you.  This is a very useful idea!
>From: R-devel <r-devel-bounces using r-project.org> on behalf of Viechtbauer,
>Wolfgang (SP) <wolfgang.viechtbauer using maastrichtuniversity.nl>
>Sent: Thursday, April 30, 2020 6:59:02 AM
>To: r-devel
>Subject: Re: [Rd] Use of MathJax (or something similar) in .Rd files
>Thanks Gabor and Duncan! It works. For those interested, I added this to the
>beginning of the \details{} section:
><script id="MathJax-script" async
>   src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js">
>And then I can use:
>\if{html}{\out{\(B_{x(a,b)} = \int_0^x t^{a-1} (1-t)^{b-1} dt\)}}
>\if{html}{\out{\[B_{x(a,b)} = \int_0^x t^{a-1} (1-t)^{b-1} dt\]}}
>to render the equation (inline or as 'displaymath'). I'll try to add MathJax
>locally next.
>>-----Original Message-----
>>From: Duncan Murdoch [mailto:murdoch.duncan using gmail.com]
>>Sent: Thursday, 30 April, 2020 12:22
>>To: Viechtbauer, Wolfgang (SP); r-devel
>>Subject: Re: [Rd] Use of MathJax (or something similar) in .Rd files
>>On 30/04/2020 6:15 a.m., Viechtbauer, Wolfgang (SP) wrote:
>>> Interesting. I gave this a try, but couldn't make this work. One would
>>have to infuse something like
>>> <script id="MathJax-script" async
>>>    src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js">
>>> </script>
>>> or
>>> <script id="MathJax-script" async
>>>    src="<url-to-your-site>/mathjax/tex-chtml.js">
>>> </script>
>>> into the .html file, but just adding this to the .Rd file (directly or
>>wrapped with \if{html}{}) doesn't do that (it just gets printed). If
>>somebody has already successfully done this, I would be interested in
>>hearing how.
>>You'd need to wrap that code in \out (inside the conditional, i.e.
>>something like
>>\if{html}{\out{<script id="MathJax-script" async
>>Duncan Murdoch
>>> Best,
>>> Wolfgang
>>>> -----Original Message-----
>>>> From: Gábor Csárdi [mailto:csardi.gabor using gmail.com]
>>>> Sent: Thursday, 30 April, 2020 11:51
>>>> To: Viechtbauer, Wolfgang (SP)
>>>> Cc: r-devel
>>>> Subject: Re: [Rd] Use of MathJax (or something similar) in .Rd files
>>>> You can probably already do this using the \if{html} conditional, and
>>>> either including the matchjax js files in the package, or getting them
>>>>from a CDN.
>>>> Gabor
>>>> On Thu, Apr 30, 2020 at 9:13 AM Viechtbauer, Wolfgang (SP)
>>>> <wolfgang.viechtbauer using maastrichtuniversity.nl> wrote:
>>>>> Hello All,
>>>>> I am wondering if there has ever been any discussion/consideration
>>>> to incorporating MathJax (or something similar) into R for rendering
>>>> equations in .Rd files. I know that equations are rendered beautifully
>>>> the pdf manuals, but I suspect the majority of users primarily look at
>>>> html help files when using R. While I am comfortable reading something
>>>> "B_x(a,b) = integral_0^x t^(a-1) (1-t)^(b-1) dt", it would definitely be
>>>> nicer if this was shown as a 'proper' equation.
>>>>> Best,
>>>>> Wolfgang

More information about the R-devel mailing list