[Rd] possible bug in R CMD Rd2pdf

Duncan Murdoch murdoch.duncan at gmail.com
Wed Sep 27 20:38:35 CEST 2017


On 27/09/2017 1:57 PM, Kasper Daniel Hansen wrote:
> Sorry for the noise.

I wouldn't call this noise, it's a bug that happens to have a fairly 
easy workaround.  The tools functions are mainly for use by R utilities, 
so they sometimes make strong assumptions about the context in which 
they are used; this is a case where something that was thought of as 
internal leaked out into user-land.


> 
> I assumed I could run this in the same directory as R CMD check. If I cd 
> into the package dir, and run it like
>    R CMD Rd2pdf man
> it works. I was a bit sleep deprived yesterday.

You could also use

R CMD Rd2pdf .

while in that directory.

Duncan Murdoch

> 
> The fact that the output starts by
> Hmm ... looks like a package
> threw me off. That output suggests it should work, I think. So I would 
> suggests either
>    1) handling both package and man directories
>    2) check that the input dir is a collection of man pages with a 
> DESCRIPTION file in the same directory
> 
> Best,
> Kasper
> 
> 
> On Wed, Sep 27, 2017 at 7:03 AM, Duncan Murdoch 
> <murdoch.duncan at gmail.com <mailto:murdoch.duncan at gmail.com>> wrote:
> 
>     On 26/09/2017 10:27 PM, Kasper Daniel Hansen wrote:
> 
>         When I include the macros \packageAuthor, \packageDescription,
>         \packageTitle, \packageMaintainer in a XX-package.Rd file, R CMD
>         Rd2pdf
>         fails with
> 
>         $ R CMD Rd2pdf mpra
>         Hmm ... looks like a package
>         Converting Rd files to LaTeX Error : mpra/man/mpra-package.Rd:6:
>         file
>         './DESCRIPTION' does not exist
> 
>         This does not happen if I comment out 4 occurrences of these 4
>         macros in
>         mpra-package.Rd.
> 
>         This is with
> 
>         R Under development (unstable) (2017-09-26 r73351) -- "Unsuffered
>         Consequences"
>         Copyright (C) 2017 The R Foundation for Statistical Computing
>         Platform: x86_64-apple-darwin16.7.0 (64-bit)
> 
>         or
> 
>         R version 3.4.2 RC (2017-09-26 r73351) -- "Short Summer"
>         Copyright (C) 2017 The R Foundation for Statistical Computing
>         Platform: x86_64-apple-darwin16.7.0 (64-bit)
> 
>         and MacTex 2017.
> 
> 
>     Those errors are coming from tools:::Rd_package_author and related
>     functions, because the system-defined macros call them.  Current
>     definition of the \packageAuthor macro is
> 
>     \newcommand{\packageAuthor}{\Sexpr[results=rd,stage=build]{tools:::Rd_package_author("#1")}}
> 
>     and the function is defined as
> 
>     function (pkg, dir = ".")
>     {
>          desc <- .read_description(file.path(dir, "DESCRIPTION"))
>          if (pkg != desc["Package"])
>              stop(gettextf("DESCRIPTION file is for package '%s', not '%s'",
>                  desc["Package"], pkg))
>          desc["Author"]
>     }
> 
>     So Peter is right, this would likely work if the current working
>     directory was the top level directory of the package, but it can't
>     work in general.
> 
>     The easiest fix would probably be to change the code underlying R
>     CMD Rd2pdf so that it works from the top level directory; another
>     possibility might be to come up with a better default for the "dir"
>     parameter.
> 
>     Duncan Murdoch
> 
>



More information about the R-devel mailing list