Hi, I am doing a small experiment to test if I can use MathJax ( official site: http://www.mathjax.org ) in R's html help pages (i.e. options(help_type='html')) and it seems working with some minor modifications. The screenshot (rendered by Firefox 4.0 beta and with STIX fonts) of the help page in html format with MathJax enabled is at the following url: http://picasaweb.google.com/gongyi.liao/RDevel#5568989227748103346 (the corresponding R.css in this srceenshot is obtained from Yihui Xie http://yihui.name/en/2011/01/customizing-the-theme-of-your-r-html-help/ ) I made a simple modification on R-2.12.1/src/library/tools/R/Rd2HTML.R with diff: 435c435 < of1('$') ---> of1("<i>")439c439 < of1('$') ---> of1("</i>")444c444 < of1('</p>\\[') ---> of1('</p><p align="center"><i>')447c447 < of1('\\]<p>') ---> of1('</i></p><p>')688,694c688 < of0('<script type="text/javascript" src="http://mathjax.connectmv.com/MathJax.js">\n', < 'MathJax.Hub.Config({\n', < 'extensions: ["tex2jax.js"],\n', < 'jax: ["input/TeX","output/HTML-CSS"],\n', < 'tex2jax: {inlineMath: [["$","$"]]}\n', < '});\n', < '</script>\n') --->and the modified R-2.12.1/src/library/base/man/svd.Rd: for demonstration: 47,51c47,50 < \deqn{ \mathbf{X} = \mathbf{U D V}^\top,} where \eqn{\mathbf{U}} and \eqn{\mathbf{V}} are < orthogonal, \eqn{\mathbf{V}^\top} means \emph{V transposed}, and < \eqn{\mathbf{D}} is a diagonal matrix with the singular < values \eqn{D_{ii}}{D[i,i]}. Equivalently, \eqn{\mathbf{D} < \mathbf{U}^\top \mathbf{X V}},\deqn{1 = \int_{\mathbb R}\phi(z)dz} ---> \deqn{ \bold{X = U D V'},} where \eqn{\bold{U}} and \eqn{\bold{V}}are> orthogonal, \eqn{\bold{V'}} means \emph{V transposed}, and > \eqn{\bold{D}} is a diagonal matrix with the singular > values \eqn{D_{ii}}{D[i,i]}. Equivalently, \eqn{\bold{D = U' X V}},My personal opinion is, html is a better format for showing R help documents, because modern browsers can process some complicated interactive contents, while text editors (emacs, vim, etc.) and PDF readers (Adobe reader, evince, xpdf, etc.) only have limited ability to process complicated contents like interactive animations. But, at this moment, R's html help pages do not show the mathematical materials (I mean, the formula) in a proper way. R's PDF and PS help pages provide good mathematical material layouts but PDF and PS are better choices for printing rather than screen displaying. So, if R provides some mechanism that we can customize the html header in R's html help pages, like include some javascripts, then we could have much more flexible, accessible R help documents in html format and both users and developers can benefit from better reading experience. Any comments are greatly appreciated. -- Gong-Yi Liao Department of Statistics University of Connecticut 215 Glenbrook Road U4120 Storrs, CT 06269-4120 860-486-9478 -------------- next part -------------- A non-text attachment was scrubbed... Name: Rd2HTML.diff Type: text/x-patch Size: 706 bytes Desc: not available URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20110202/5fffeeb7/attachment.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: svd-Rd.diff Type: text/x-patch Size: 645 bytes Desc: not available URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20110202/5fffeeb7/attachment-0001.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: mathjax_in_R_help.png Type: image/png Size: 124573 bytes Desc: not available URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20110202/5fffeeb7/attachment.png>
Ken.Williams at thomsonreuters.com
2011-Feb-02 14:57 UTC
[Rd] Using MathJax in R's help system
Very nice. I think this is a great idea too. -- Ken Williams Senior Research Scientist Thomson Reuters Phone: 651-848-7712 ken.williams at thomsonreuters.com http://labs.thomsonreuters.com On 2/2/11 2:00 AM, "GONG-YI LIAO" <gong-yi.liao at uconn.edu> wrote:>Hi, > > I am doing a small experiment to test if I can use > > MathJax ( official site: http://www.mathjax.org ) > > in R's html help pages (i.e. options(help_type='html')) > > and it seems working with some minor modifications. >
Two comments: * one problem with mathjax is it's sheer size: 130 meg and >30,000 files. A hosted solution is in the works and will hopefully resolve that situations * you might also want to look at the helpr package, which is a ground up rewrite of the R documentation html renderer to provide things like global comments on functions, examples that run in browser, syntax highlighting, search across all packages (coming in the next version), and much much more. Hadley On Wed, Feb 2, 2011 at 2:00 AM, GONG-YI LIAO <gong-yi.liao at uconn.edu> wrote:> Hi, > > ?I am doing a small experiment to test if I can use > > ?MathJax ( official site: http://www.mathjax.org ) > > ?in R's html help pages ?(i.e. options(help_type='html')) > > ?and it seems working with some minor modifications. > > > ?The screenshot (rendered by Firefox 4.0 beta and with STIX fonts) of > > ?the help page in html format with MathJax enabled is at the following > > ?url: > > ?http://picasaweb.google.com/gongyi.liao/RDevel#5568989227748103346 > > ?(the corresponding R.css in this srceenshot is obtained from > > ? Yihui Xie > http://yihui.name/en/2011/01/customizing-the-theme-of-your-r-html-help/ ) > > ?I made a simple modification on > > ?R-2.12.1/src/library/tools/R/Rd2HTML.R > > ?with diff: > > ?435c435 > < ? ? ? ? ? ? ? ? ? ?of1('$') > --- >> ? ? ? ? ? ? ? ? ? ?of1("<i>") > 439c439 > < ? ? ? ? ? ? ? ? ? ?of1('$') > --- >> ? ? ? ? ? ? ? ? ? ?of1("</i>") > 444c444 > < ? ? ? ? ? ? ? ? ? ?of1('</p>\\[') > --- >> ? ? ? ? ? ? ? ? ? ?of1('</p><p align="center"><i>') > 447c447 > < ? ? ? ? ? ? ? ? ? ?of1('\\]<p>') > --- >> ? ? ? ? ? ? ? ? ? ?of1('</i></p><p>') > 688,694c688 > < ? ? ? ? of0('<script type="text/javascript" > src="http://mathjax.connectmv.com/MathJax.js">\n', > < ? ? ? ? ? ? 'MathJax.Hub.Config({\n', > < ? ? ? ? ? ? 'extensions: ["tex2jax.js"],\n', > < ? ? ? ? ? ? 'jax: ["input/TeX","output/HTML-CSS"],\n', > < ? ? ? ? ? ? 'tex2jax: {inlineMath: [["$","$"]]}\n', > < ? ? ? ? ? ? '});\n', > < ? ? ? ? ? ? '</script>\n') > --- >> > > and the modified R-2.12.1/src/library/base/man/svd.Rd: > > for demonstration: > > > 47,51c47,50 > < ? \deqn{ \mathbf{X} = \mathbf{U D V}^\top,} where \eqn{\mathbf{U}} and > \eqn{\mathbf{V}} are > < ? orthogonal, \eqn{\mathbf{V}^\top} means \emph{V transposed}, and > < ? \eqn{\mathbf{D}} is a diagonal matrix with the singular > < ? values \eqn{D_{ii}}{D[i,i]}. ?Equivalently, \eqn{\mathbf{D} > < ? \mathbf{U}^\top \mathbf{X V}},\deqn{1 = \int_{\mathbb R}\phi(z)dz} > --- >> ? \deqn{ \bold{X = U D V'},} where \eqn{\bold{U}} and \eqn{\bold{V}} > are >> ? orthogonal, \eqn{\bold{V'}} means \emph{V transposed}, and >> ? \eqn{\bold{D}} is a diagonal matrix with the singular >> ? values \eqn{D_{ii}}{D[i,i]}. ?Equivalently, \eqn{\bold{D = U' X V}}, > > > ?My personal opinion is, html is a better format for showing R help > > ?documents, because modern browsers can process some complicated > > ?interactive contents, while text editors (emacs, vim, etc.) and PDF > > ?readers (Adobe reader, evince, xpdf, etc.) only have limited ability > > ?to process complicated contents like interactive animations. > > > ?But, at this moment, R's html help pages do not show the > > ?mathematical materials (I mean, the formula) in a proper > > ?way. R's PDF and PS help pages provide good mathematical > > ?material layouts but PDF and PS are better choices for printing > > ?rather than screen displaying. > > > ?So, if R provides some mechanism that we can customize the > > ?html header in R's html help pages, like include some > > ?javascripts, then we could have much more flexible, accessible > > ?R help documents in html format and both users and developers > > ?can benefit from better reading experience. > > > ?Any comments are greatly appreciated. > > > > > > > -- > Gong-Yi Liao > > Department of Statistics > University of Connecticut > 215 Glenbrook Road ?U4120 > Storrs, CT 06269-4120 > > 860-486-9478 > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > >-- Assistant Professor / Dobelman Family Junior Chair Department of Statistics / Rice University http://had.co.nz/