Re: [Rd] Small inaccuracy in the Writing R Extensions manual

2016-01-12 Thread Duncan Murdoch

On 11/01/2016 11:59 PM, Berwin A Turlach wrote:

G'day all,

In Chapter 1.4 (Writing package vignettes) the Writing R Extensions
manual states:

By default @code{R CMD build} will run @code{Sweave} on all
Sweave vignette source files in @file{vignettes}.  If
@file{Makefile} is found in the vignette source directory, then
@code{R CMD build} will try to run @command{make} after the
@code{Sweave} runs, otherwise @code{texi2pdf} is run on each
@file{.tex} file produced.

This does not seem to be quite correct as stated.  'R CMD build' seems
to run make only if there was a file in the directory vignettes that
Sweave successfully processed.   If the directory vignettes contains a
Makefile and subdirectories in which the actual vignettes are, 'R CMD
build' does not run make.



I think it is behaving as documented:  it says it will run make after 
Sweave, so if Sweave never ran, neither would make.  But perhaps your 
suggestion is good:  it should run make whether or not Sweave (or some 
non-Sweave vignette builder) was run.


Duncan Murdoch

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Small inaccuracy in the Writing R Extensions manual

2016-01-12 Thread Martin Maechler
> Duncan Murdoch 
> on Tue, 12 Jan 2016 07:32:05 -0500 writes:

> On 11/01/2016 11:59 PM, Berwin A Turlach wrote:
>> G'day all,
>> 
>> In Chapter 1.4 (Writing package vignettes) the Writing R
>> Extensions manual states:
>> 
>> By default @code{R CMD build} will run @code{Sweave} on
>> all Sweave vignette source files in @file{vignettes}.  If
>> @file{Makefile} is found in the vignette source
>> directory, then @code{R CMD build} will try to run
>> @command{make} after the @code{Sweave} runs, otherwise
>> @code{texi2pdf} is run on each @file{.tex} file produced.
>> 
>> This does not seem to be quite correct as stated.  'R CMD
>> build' seems to run make only if there was a file in the
>> directory vignettes that Sweave successfully processed.
>> If the directory vignettes contains a Makefile and
>> subdirectories in which the actual vignettes are, 'R CMD
>> build' does not run make.
>> 

> I think it is behaving as documented: it says it will run
> make after Sweave, so if Sweave never ran, neither would
> make.  But perhaps your suggestion is good: it should run
> make whether or not Sweave (or some non-Sweave vignette
> builder) was run.

> Duncan Murdoch

I agree.  These were my thoughts too.
Martin

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Small inaccuracy in the Writing R Extensions manual

2016-01-12 Thread Duncan Murdoch

On 12/01/2016 11:11 AM, Berwin A Turlach wrote:

G'day Duncan,

On Tue, 12 Jan 2016 07:32:05 -0500
Duncan Murdoch  wrote:

> On 11/01/2016 11:59 PM, Berwin A Turlach wrote:
> > G'day all,
> >
> > In Chapter 1.4 (Writing package vignettes) the Writing R Extensions
> > manual states:
> >
> >   By default @code{R CMD build} will run @code{Sweave} on all
> >   Sweave vignette source files in @file{vignettes}.  If
> >   @file{Makefile} is found in the vignette source directory,
> > then @code{R CMD build} will try to run @command{make} after the
> >   @code{Sweave} runs, otherwise @code{texi2pdf} is run on each
> >   @file{.tex} file produced.
> >
> > This does not seem to be quite correct as stated.  'R CMD build'
> > seems to run make only if there was a file in the directory
> > vignettes that Sweave successfully processed.   If the directory
> > vignettes contains a Makefile and subdirectories in which the
> > actual vignettes are, 'R CMD build' does not run make.
> >
>
> I think it is behaving as documented:  it says it will run make after
> Sweave, so if Sweave never ran, neither would make.

Sorry, I disagree.  It says that  "R CMD build will try to run make
after the Sweave runs".  For me (and probably others) "after the Sweave
runs" (note the plural) include the cases of "no Sweave runs" and "one
Sweave run".  Otherwise the case of one vignette in the vignettes
directory would produce undocumented (albeit expected) behaviour. :-)


Regardless of that, there's a problem if there is no vignette in the 
main directory.  R uses the vignette filename and content to figure out 
which vignette engine to use.  If there's just a Makefile, how would R 
know what to display?  Which .html file or .pdf file corresponds to 
which source file, and where should R go to find the .R file?


So I don't think those things can really be handled as vignettes. They 
can still be handled as  additional files in the inst/doc directory, but 
we probably aren't going to be able to give them full vignette status.


Duncan Murdoch

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Small inaccuracy in the Writing R Extensions manual

2016-01-12 Thread Berwin A Turlach
G'day Duncan,

On Tue, 12 Jan 2016 07:32:05 -0500
Duncan Murdoch  wrote:

> On 11/01/2016 11:59 PM, Berwin A Turlach wrote:
> > G'day all,
> >
> > In Chapter 1.4 (Writing package vignettes) the Writing R Extensions
> > manual states:
> >
> > By default @code{R CMD build} will run @code{Sweave} on all
> > Sweave vignette source files in @file{vignettes}.  If
> > @file{Makefile} is found in the vignette source directory,
> > then @code{R CMD build} will try to run @command{make} after the
> > @code{Sweave} runs, otherwise @code{texi2pdf} is run on each
> > @file{.tex} file produced.
> >
> > This does not seem to be quite correct as stated.  'R CMD build'
> > seems to run make only if there was a file in the directory
> > vignettes that Sweave successfully processed.   If the directory
> > vignettes contains a Makefile and subdirectories in which the
> > actual vignettes are, 'R CMD build' does not run make.
> >
> 
> I think it is behaving as documented:  it says it will run make after 
> Sweave, so if Sweave never ran, neither would make.  

Sorry, I disagree.  It says that  "R CMD build will try to run make
after the Sweave runs".  For me (and probably others) "after the Sweave
runs" (note the plural) include the cases of "no Sweave runs" and "one
Sweave run".  Otherwise the case of one vignette in the vignettes
directory would produce undocumented (albeit expected) behaviour. :-)

Cheers,

Berwin

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel