[R] [Rd] How to link to vignette from .Rd file
Duncan Murdoch
murdoch at stats.uwo.ca
Thu Nov 9 13:16:19 CET 2006
On 11/9/2006 6:37 AM, Agner Fog wrote:
> Thanks for the tip. Actually I found that I can just write
> vignette("vignettename") in a demo. I think that's the easiest way to
> link to a .pdf file.
>
> It works only if the .pdf file is built from a Sweave file. I thought
> that I could just put a .pdf file and an index.html in inst/doc/ but I
> get no link to the index.html from anywhere. Using a Sweave file seems
> to be the only solution that works.
Actually how you built the .pdf is irrelevant, but it does look for file
with the same name and one of these extensions:
"Rnw" "rnw" "Snw" "snw" "Rtex" "rtex" "Stex" "stex"
So you could just create a zero length file with the same basename and
one of those extensions, and it should work.
I don't know if this restriction is intentional.
Duncan Murdoch
>
> Prof Brian Ripley wrote:
>
>> This looks very like the print method for vignettes. This is
>>
>>> utils:::print.vignette
>> function (x, ...)
>> {
>> if (length(x$pdf)) {
>> if (.Platform$OS.type == "windows")
>> shell.exec(x$pdf)
>> else system(paste(getOption("pdfviewer"), x$pdf, "&"))
>> }
>> else {
>> warning(gettextf("vignette '%s' has no PDF", x$topic),
>> call. = FALSE, domain = NA)
>> }
>> }
>>
>> which is more elegant in several ways than those solutions earlier in
>> this thread (the one below does not even work on Win9x or if CMD.exe
>> is not in the path).
>>
>>>> Duncan Murdoch wrote:
>>>>
>>>>> The demo system can be used to compensate for limitations of the help
>>>>> system.
>>>>> You can display PDF files from any package subdirectory using a
>>>>> demo file
>>>>> like this (named demo/ReadPkgDoc.R, and documented in demo/00Index):
>>>>>
>>>>> # ReadPkgDoc.R -- Displays a PDF file as a demo
>>>>> #
>>>>> isWindows <- (Sys.info()['sysname'] == 'Windows')
>>>>> file <- system.file("doc", "PkgManual.pdf", package="PkgName")
>>>>> if(isWindows) { # Windows automatically finds executable based on file
>>>>> type.
>>>>> system(paste("CMD /C ", file, "\n"))
>>>>> } else { # Change this to use path to Adobe reader if desired.
>>>>> system(paste("xpdf ", file, "\n"))
>>>>> }
>>>>>
>>>>> To create the PDF file from the Rd file use R CMD Rd2dvi, and dvipdf.
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list