[Rd] Top level \Sexpr and R CMD check

Duncan Murdoch murdoch@dunc@n @ending from gm@il@com
Thu Jul 12 15:21:51 CEST 2018

On 12/07/2018 7:30 AM, Gábor Csárdi wrote:
> On Thu, Jul 12, 2018 at 12:23 PM Duncan Murdoch
> <murdoch.duncan using gmail.com> wrote:
>> On 12/07/2018 6:33 AM, Gábor Csárdi wrote:
>>> I would like to create \examples{} in the manual dynamically, and
>>> while it is possible to do this with a \Sexpr at the top level, R CMD
>>> check issues a warning for it. (See below.)
>>> Is it intentional that \Sexpr is not allowed at the top level?  The Rd
>>> grammar allows this, but R CMD check does not.
>>> Is there any other way to generate/modify the \examples{} section dynamically?
>> That looks like a bug in the check code, but wouldn't it be possible to
>> work around it with something like this?
>> \examples{
>> \Sexpr[stage=install,strip.white=FALSE,results=rd]{pkg:::decorate_code('
>>     CODE
>>    ')}
>> }
> Thanks for the reply! Unfortunately it seems that \Sexpr is not allowed inside
> \examples, either:
> checkRd: (7) ps_handle.Rd:46-47: Tag \Sexpr is invalid in a \examples block
> G.

I think I found the bug.  The tools::checkRd function only processes 
\Sexpr's with "stage=render".  I think the author (who might have been 
me, I forget) assumed that would imply all the earlier stages as well, 
but apparently it doesn't.

So you could use that as a workaround.

I'll do some more checking, then submit a bug report and patch to Bugzilla.

Duncan Murdoch

More information about the R-devel mailing list