[Rd] processing of /vignettes and /inst/doc

Duncan Murdoch murdoch.duncan at gmail.com
Tue Sep 17 17:29:44 CEST 2013


On 17/09/2013 9:56 AM, Kasper Daniel Hansen wrote:
> It is stated in R-exts that Sweave files (.Rnw) are either processed in
> /vignettes or /inst/doc, not both.  Furthermore, it is stated that external
> manuals and other files in /inst/doc will be installed.

The long run intention is that vignettes will be in the vignettes 
directory, and nowhere else.  Files in inst/doc will be installed, but 
they are not vignettes, they are just documentation files.  This has 
been documented for a long time, but it hasn't been enforced.

The new change is that vignettes will be produced at build time, by the 
package maintainer, not by the user, at INSTALL time.  Version 3.0.2 is 
intended to handle tar.gz files built under earlier versions of R 
according to the old rules, and also tarballs built under the new system.

So how your example below is handled depends on which version built the 
tarball.  I'll assume everything is being done with 3.0.2 beta.
>
> This behaviour has been used to deal with the situation where a package has
> two "vignettes", one that is easily processed and one that has a long
> running time.  This could be done by having
>    /vignettes/small.Rnw
>    /inst/doc/big.pdf
> with obvious notation.  Now, big.pdf is really produced by a Sweave
> document, so what we really have is
>    /vignettes/small.Rnw
>    /inst/doc/big.pdf
>    /inst/doc/big.Rnw

Since this package has a vignettes directory, it's assumed that that is 
where the vignettes are.  So the current version doesn't see 
inst/doc/big.Rnw as a vignette.

>
> This used to work, in the sense that the tarball produced by R CMD build
> produced
>    /inst/doc/small.Rnw
>    /inst/doc/small.pdf
>    /inst/doc/big.pdf
>    /inst/doc/big.Rnw
>
> Recently (R-3.0.2 beta, specifically "R version 3.0.2 beta (2013-09-16
> r63937)"), the final tarball only has
>    /inst/doc/small.Rnw
>    /inst/doc/small.pdf
>    /inst/doc/big.Rnw

That looks like a bug, in that inst/doc/big.pdf should still have been 
included as a non-vignette documentation file.  I'll look into that.
>
> If we remove
>    /inst/doc/big.Rnw
> the pdf gets included.  So it seems that the presence of
>    /inst/doc/big.Rnw
> prevents the pdf from being included.
>
> This seems to me to be unwanted behaviour, since R-exts says
>
> "In addition to the help files in Rd format, R packages allow the inclusion
> of documents in arbitrary other formats. The standard location for these is
> subdirectory inst/doc of a source package, the contents will be copied to
> subdirectory docwhen the package is installed."

That statement should be correct, hence current behaviour is a bug.

Duncan Murdoch

>
> However, it is also clear that Sweave docs are "special".  Still, I believe
> the past behaviour was better and more in line with what I infer as the
> intended behaviour.
>
> An example is the ADaCGH2 package in Bioconductor which I am not involved
> with.  I include a cc to the maintainer who reported this on bioc-devel.
>
> Best,
> Kasper
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



More information about the R-devel mailing list