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

9 messages
Open this post in threaded view
|

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

 Hello All, I am wondering if there has ever been any discussion/consideration given to incorporating MathJax (or something similar) into R for rendering equations in .Rd files. I know that equations are rendered beautifully in the pdf manuals, but I suspect the majority of users primarily look at the html help files when using R. While I am comfortable reading something like "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 ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Open this post in threaded view
|

## Re: 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) <[hidden email]> wrote: > > Hello All, > > I am wondering if there has ever been any discussion/consideration given to incorporating MathJax (or something similar) into R for rendering equations in .Rd files. I know that equations are rendered beautifully in the pdf manuals, but I suspect the majority of users primarily look at the html help files when using R. While I am comfortable reading something like "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 > > ______________________________________________ > [hidden email] mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Open this post in threaded view
|

## Re: Use of MathJax (or something similar) in .Rd files

 Interesting. I gave this a try, but couldn't make this work. One would have to infuse something like or 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. Best, Wolfgang >-----Original Message----- >From: Gábor Csárdi [mailto:[hidden email]] >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) ><[hidden email]> wrote: >> >> Hello All, >> >> I am wondering if there has ever been any discussion/consideration given >to incorporating MathJax (or something similar) into R for rendering >equations in .Rd files. I know that equations are rendered beautifully in >the pdf manuals, but I suspect the majority of users primarily look at the >html help files when using R. While I am comfortable reading something like >"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 >> >> ______________________________________________ >> [hidden email] mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Open this post in threaded view
|

## Re: Use of MathJax (or something similar) in .Rd files

 In reply to this post by Gábor Csárdi This sounds promising. Also remember that user-defined macros are possible, so even if you need a lot of contortions to enter the code, you can simplify it at the Rd level. Duncan Murdoch On 30/04/2020 5:50 a.m., Gábor Csárdi wrote: > 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) > <[hidden email]> wrote: >> >> Hello All, >> >> I am wondering if there has ever been any discussion/consideration given to incorporating MathJax (or something similar) into R for rendering equations in .Rd files. I know that equations are rendered beautifully in the pdf manuals, but I suspect the majority of users primarily look at the html help files when using R. While I am comfortable reading something like "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 >> >> ______________________________________________ >> [hidden email] mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel> > ______________________________________________ > [hidden email] mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel> ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Open this post in threaded view
|

## Re: Use of MathJax (or something similar) in .Rd files

 In reply to this post by Wolfgang Viechtbauer-2 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 > > > > or > > > > 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{}} Duncan Murdoch > > Best, > Wolfgang > >> -----Original Message----- >> From: Gábor Csárdi [mailto:[hidden email]] >> 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) >> <[hidden email]> wrote: >>> >>> Hello All, >>> >>> I am wondering if there has ever been any discussion/consideration given >> to incorporating MathJax (or something similar) into R for rendering >> equations in .Rd files. I know that equations are rendered beautifully in >> the pdf manuals, but I suspect the majority of users primarily look at the >> html help files when using R. While I am comfortable reading something like >> "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 >>> >>> ______________________________________________ >>> [hidden email] mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-devel> ______________________________________________ > [hidden email] mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel> ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Open this post in threaded view
|

## Re: 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: \if{html}{\out{ }} And then I can use: \if{html}{\out{$$B_{x(a,b)} = \int_0^x t^{a-1} (1-t)^{b-1} dt$$}} or \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. Best, Wolfgang >-----Original Message----- >From: Duncan Murdoch [mailto:[hidden email]] >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 >> >> >> >> or >> >> >> >> 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{}} > >Duncan Murdoch > >> >> Best, >> Wolfgang >> >>> -----Original Message----- >>> From: Gábor Csárdi [mailto:[hidden email]] >>> 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) >>> <[hidden email]> wrote: >>>> >>>> Hello All, >>>> >>>> I am wondering if there has ever been any discussion/consideration given >>> to incorporating MathJax (or something similar) into R for rendering >>> equations in .Rd files. I know that equations are rendered beautifully in >>> the pdf manuals, but I suspect the majority of users primarily look at >the >>> html help files when using R. While I am comfortable reading something >like >>> "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 ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Open this post in threaded view
|

## Re: Use of MathJax (or something similar) in .Rd files

 Thank you.  This is a very useful idea! Best, Ravi ________________________________ From: R-devel <[hidden email]> on behalf of Viechtbauer, Wolfgang (SP) <[hidden email]> 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: \if{html}{\out{ }} And then I can use: \if{html}{\out{$$B_{x(a,b)} = \int_0^x t^{a-1} (1-t)^{b-1} dt$$}} or \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. Best, Wolfgang >-----Original Message----- >From: Duncan Murdoch [mailto:[hidden email]] >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 >> >> >> >> or >> >> >> >> 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{}} > >Duncan Murdoch > >> >> Best, >> Wolfgang >> >>> -----Original Message----- >>> From: G�bor Cs�rdi [mailto:[hidden email]] >>> 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) >>> <[hidden email]> wrote: >>>> >>>> Hello All, >>>> >>>> I am wondering if there has ever been any discussion/consideration given >>> to incorporating MathJax (or something similar) into R for rendering >>> equations in .Rd files. I know that equations are rendered beautifully in >>> the pdf manuals, but I suspect the majority of users primarily look at >the >>> html help files when using R. While I am comfortable reading something >like >>> "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 ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel        [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
 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: https://github.com/wviechtb/mathjaxror in other words: install.packages("remotes") remotes::install_github("wviechtb/mathjaxr") 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! Best, Wolfgang >-----Original Message----- >From: Ravi Varadhan [mailto:[hidden email]] >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! > >Best, >Ravi >________________________________________ >From: R-devel <[hidden email]> on behalf of Viechtbauer, >Wolfgang (SP) <[hidden email]> >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: > >\if{html}{\out{ > >}} > >And then I can use: > >\if{html}{\out{$$B_{x(a,b)} = \int_0^x t^{a-1} (1-t)^{b-1} dt$$}} > >or > >\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. > >Best, >Wolfgang > >>-----Original Message----- >>From: Duncan Murdoch [mailto:[hidden email]] >>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 >>> >>> >>> >>> or >>> >>> >>> >>> 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{}} >> >>Duncan Murdoch >> >>> >>> Best, >>> Wolfgang >>> >>>> -----Original Message----- >>>> From: Gábor Csárdi [mailto:[hidden email]] >>>> 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) >>>> <[hidden email]> wrote: >>>>> >>>>> Hello All, >>>>> >>>>> I am wondering if there has ever been any discussion/consideration >given >>>> to incorporating MathJax (or something similar) into R for rendering >>>> equations in .Rd files. I know that equations are rendered beautifully >in >>>> the pdf manuals, but I suspect the majority of users primarily look at >>the >>>> html help files when using R. While I am comfortable reading something >>like >>>> "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 ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
 The package is really nice, I recommend it.  Package writers should install it, but users of their help pages don't need it unless they're working offline.  Even then, because of the way MathJax works, they get something that's fairly readable, e.g. "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." For a user who is online, or who has the mathjaxr package installed, this would be displayed with the equation as a display equation, and mu and sigma displayed properly inline.  To obtain that output I used this input in an Rd file: "The probability density function of a normal distribution is given by \mjdeqn{f(x) = \frac{1}{\sqrt{2\pi} \sigma} e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2},}{f(x) = 1/(sqrt(2 pi) sigma) e^-((x - mu)^2/(2 sigma^2)),} where \mjeqn{\mu}{mu} denotes the mean of the distribution and \mjeqn{\sigma}{sigma} its standard deviation." A frill that might be possible to add would be a test for a remote connection, and a fallback to the ascii display if it's not there.  It already has a display-time test for the presence of the MathJax files locally. Maybe once all the kinks are worked out this could be incorporated into the R distribution.  However, it's not really needed there, since it works so well as a contributed package already. Duncan Murdoch On 05/05/2020 9:11 a.m., Viechtbauer, Wolfgang (SP) wrote: > 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: > > https://github.com/wviechtb/mathjaxr> > or in other words: > > install.packages("remotes") > remotes::install_github("wviechtb/mathjaxr") > > 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! > > Best, > Wolfgang > >> -----Original Message----- >> From: Ravi Varadhan [mailto:[hidden email]] >> 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! >> >> Best, >> Ravi >> ________________________________________ >> From: R-devel <[hidden email]> on behalf of Viechtbauer, >> Wolfgang (SP) <[hidden email]> >> 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: >> >> \if{html}{\out{ >> >> }} >> >> And then I can use: >> >> \if{html}{\out{$$B_{x(a,b)} = \int_0^x t^{a-1} (1-t)^{b-1} dt$$}} >> >> or >> >> \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. >> >> Best, >> Wolfgang >> >>> -----Original Message----- >>> From: Duncan Murdoch [mailto:[hidden email]] >>> 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 >>>> >>>> >>>> >>>> or >>>> >>>> >>>> >>>> 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{}} >>> >>> Duncan Murdoch >>> >>>> >>>> Best, >>>> Wolfgang >>>> >>>>> -----Original Message----- >>>>> From: Gábor Csárdi [mailto:[hidden email]] >>>>> 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) >>>>> <[hidden email]> wrote: >>>>>> >>>>>> Hello All, >>>>>> >>>>>> I am wondering if there has ever been any discussion/consideration >> given >>>>> to incorporating MathJax (or something similar) into R for rendering >>>>> equations in .Rd files. I know that equations are rendered beautifully >> in >>>>> the pdf manuals, but I suspect the majority of users primarily look at >>> the >>>>> html help files when using R. While I am comfortable reading something >>> like >>>>> "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 > > ______________________________________________ > [hidden email] mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel> ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel