[R] How to include the documentation of a function in a Sweave document?
Thibaut Jombart
jombart at biomserv.univ-lyon1.fr
Tue Feb 26 11:30:39 CET 2008
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.
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
--
######################################
Thibaut JOMBART
CNRS UMR 5558 - Laboratoire de Biométrie et Biologie Evolutive
Universite Lyon 1
43 bd du 11 novembre 1918
69622 Villeurbanne Cedex
Tél. : 04.72.43.29.35
Fax : 04.72.43.13.88
jombart at biomserv.univ-lyon1.fr
http://lbbe.univ-lyon1.fr/-Jombart-Thibaut-.html?lang=en
http://adegenet.r-forge.r-project.org/
More information about the R-help
mailing list