[R] (S|odf)weave : how to intersperse (\LaTeX{}|odf) comments in source code ? Delayed R evaluation ?

Gabor Grothendieck ggrothendieck at gmail.com
Sun Dec 12 14:24:20 CET 2010


On Sat, Dec 11, 2010 at 5:58 PM, Emmanuel Charpentier
<emm.charpentier at free.fr> wrote:
> Dear list,
>
> Inspired by the original Knuth tools, and for paedaogical reasons, I wish
> to produce a document presenting some source code with interspersed
> comments in the source (see Knuth's books rendering TeX and metafont
> sources to see what I mean).
>
> I seemed to remember that a code chunk could be defined piecewise, like in
>
> Comments...
>
> <<Chunk1, eval=FALSE, echo=TRUE>>=
> SomeCode
> @
>
> Some other comments...
>
> <<Chunk2, eval=FALSE, echo=TRUE>>=
> MoreCode
> @
>
> And finally,
>
> <<Chunk3, eval=TRUE, echo=TRUE>>=
> <<Chunk1>>
> <<Chunk2>>
> EndOfTheCode
> @
>
> That works ... as long as SomeCode, MoreCode and EndOfTheCode are self-
> standing pieces of R code, but *not* code fragments. You can *not*
> intersperse comments in, say, a function body, or  local() environment
> this way : when Sweaving, *R* complains of an incomplete source (makes
> noise about an unexpected end of input at the end of Chunk1, IIRC, and
> never sees Chunk2).
>
> I hoped that Sweave's "alternative" syntax could offer a way out : no
> such luck.
>
> There seems to be no way to delay R evaluation of a R chunk passed by
> Sweave ; at least, the "eval=FALSE" option of chunk declaration is not
> sufficient for that.
>
> Am I missing something in the Sweave nd odfWeve documentations (that I
> read till I grew green and moldy) ? Or does this require a fundamental
> change in the relevant Sweave drivers ?
>
> Can you suggest alternative ways of doing what I mean to do ? The only
> workaround I found is to paste a second copy of my code in a \verbatim
> environment (or, in the case of odfWeave, in the "text" part), and spice
> it with \end{verbatim} comments.. \begin{verbatim} chunks. This way, I
> lose any guarantee of consistency between commented text and effective
> code.
>
> Any other idea ?

Try the brew package.

-- 
Statistics & Software Consulting
GKX Group, GKX Associates Inc.
tel: 1-877-GKX-GROUP
email: ggrothendieck at gmail.com



More information about the R-help mailing list