[R] How to include the documentation of a function in a Sweave document?
Duncan Murdoch
murdoch at stats.uwo.ca
Tue Feb 26 11:58:02 CET 2008
On 26/02/2008 5:30 AM, Thibaut Jombart wrote:
> Jean lobry wrote:
>> Dear R-help,
>>
>> I would like to include the documentation of an R function in an
>> *.rnw document processed by Sweave. Because I'm sharing my *.rnw
>> files with colleagues under Linux and Windows (I'm on Mac OS X),
>> I would like a pure R solution.
>>
>> The naive approach doesn't work, because Sweaving this *.rnw
>> file:
>>
>> -------- tmp.rnw --------
>> \documentclass{article}
>> \begin{document}
>> <<>>=
>> ?plot
>> @
>> \end{document}
>> -------- tmp.rnw --------
>>
>> yields the following LaTeX file on my platform (session info at the end):
>>
>> -------- tmp.tex --------
>> \documentclass{article}
>> \usepackage{/Library/Frameworks/R.framework/Resources/share/texmf/Sweave}
>> \begin{document}
>> \begin{Schunk}
>> \begin{Sinput}
>>
>>
>>> `?`(plot)
>>>
>> \end{Sinput}
>> \end{Schunk}
>> \end{document}
>> -------- tmp.tex -------
>> -
>>
>> in which no Soutput has been generated. Is it possible to redirect the
>> help output, in a platform-independent way, so that it is included in
>> the Soutput environment of the LaTeX file?
>>
>> Best,
>>
>> Jean
>>
>>
>>> sessionInfo()
>>>
>> R version 2.6.2 (2008-02-08)
>> i386-apple-darwin8.10.1
>>
>> locale:
>> C
>>
>> attached base packages:
>> [1] stats graphics grDevices utils datasets methods base
>>
>> loaded via a namespace (and not attached):
>> [1] rcompgen_0.1-17
>>
>>
> Maybe a clue: we can use
> cat(readLines(as.character(?plot)),sep="\n")
>
> to display the help (here, of plot) directly to the screen. So we could
> use something like:
>
> <<echo=TRUE,print=FALSE,eval=FALSE>>=
> ?plot
> @
>
>
> <<echo=FALSE,print=TRUE,eval=TRUE>>=
> cat(readLines(as.character(?plot)),sep="\n")
> @
>
> But this doesn't work (latex compilation error) as weird characters
> appear in the produced tex, at some places (tabulations?), like:
>
> _T_h_e _D_e_f_a_
>
> (not sure what it will look like in this email, but emacs reads things
> like _^HT_^HH_^He...).
>
> Maybe an encoding problem? I tried specifying different encoding to
> readLines, with no luck (latin1, UTF-8). Otherwise, the help appears in
> the .tex.
Those are backspaces: it's trying to underline the title. You'd get a
better display if you read the latex version instead. I think you need
to construct the path to it yourself (using system.file() etc.)
Duncan Murdoch
> Cheers,
>
> Thibaut.
>
>
>
> > sessionInfo()
> R version 2.6.2 (2008-02-08)
> i686-pc-linux-gnu
>
> locale:
> LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=en_US.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=C
>
> attached base packages:
> [1] datasets utils stats graphics grDevices methods base
>
> other attached packages:
> [1] phylobase_0.3 nlme_3.1-87 ape_2.1-1 adegenet_1.1-0
> pixmap_0.4-7
> [6] ade4_1.4-5 MASS_7.2-41
>
> loaded via a namespace (and not attached):
> [1] grid_2.6.2 lattice_0.17-6 rcompgen_0.1-17 tcltk_2.6.2
> [5] tools_2.6.2
>
>
More information about the R-help
mailing list