From mjhubisz at gmail.com  Thu Jul 14 19:12:57 2011
From: mjhubisz at gmail.com (Melissa Jane Hubisz)
Date: Thu, 14 Jul 2011 13:12:57 -0400
Subject: [Rd] Creating package Vignette
In-Reply-To: <loom.20110714T183517-879@post.gmane.org>
References: <CA+A3Hr6-SNPmegaZMJzb=yA+1pSLvAGUAd0us=h01nq7xzoVxQ@mail.gmail.com>
	<alpine.LFD.2.02.1107141726570.3525@gannet.stats.ox.ac.uk>
	<loom.20110714T183517-879@post.gmane.org>
Message-ID: <CAC8fApJxDg=mVVSA1a+oJn-Ka9JVw6+Woe864310g5qSzn6vLg@mail.gmail.com>

Another workaround is to create a "dummy" vignette which does nothing
but include the pdf file.  Something like this:
vignette.Rnw:

% \VignetteIndexEntry{vignette}
% \VignetteKeywords{keywords here}
% \VignettePackage{package name}

\documentclass[a4paper]{article}
\usepackage{hyperref}
\usepackage{pdfpages}
\begin{document}
\includepdf[fitpaper=true,pages=-]{vignette-source.pdf}
\end{document}

Not sure if this is totally kosher, but I did this for my package when
the vignette was too computationally intensive to be submitted to
CRAN.
-Melissa

On Thu, Jul 14, 2011 at 1:00 PM, Ben Bolker <bbolker at gmail.com> wrote:
> Prof Brian Ripley <ripley <at> stats.ox.ac.uk> writes:
>
>>
>> It depends what you mean by 'vignette': the R docs have been unclear
>> (but R >= 2.13.0 are more consistent). ?In most cases a 'vignette' is
>> an Sweave document, the vignette source being the .Rnw file, and the
>> vignette PDF the processed .pdf file.
>>
>> At present vignette() means Sweave documents, as only they have
>> metadata like titles. ?This is planned to be changed soon.
>>
>> On Thu, 14 Jul 2011, Nipesh Bajaj wrote:
>>
>> > Hi all, I was trying to create some vignette files for my newly
>> > developed package, however wondering whether there could be any
>> > simpler way to do so. In writing R extension it is advised to go
>> > through Sweave route, however I have already got a big pdf file and
>> > want to use this as package vignette.
>> >
>> > So far I have manually created the inst/doc folder in the main package
>> > skeleton, and put that file into this, which is not working by calling
>> > "vignette(file_name)" after I build ?and load the package. I am
>>
>> file_name is not an argument to vignette(): it is 'topic'. ?And topics
>> are normally file basenames (without any extension), not file names.
>>
>> > getting following error without opening that pdf file: "vignette
>> > 'file_name' *not* found"
>> >
>> > So I like to know, is there any way to use any arbitrary pdf file as
>> > vignette?
>>
>> By definition, no.
>>
>> >
>> > Any suggestion is highly appreciated.
>
> ?One possibility: as a workaround, you could include your
> own "xvignette" function in your package: see below.
> It won't show you indices, but it will pick up any appropriately
> named file that you include in the inst/doc directory of your
> package ...
>
> xvignette <- function(vname,pkg,ext="pdf") {
> ? vname <- paste(vname,ext,sep=".")
> ? fn <- system.file("doc",vname,package=pkg)
> ? if (nchar(fn)==0) stop("file not found")
> ? utils:::print.vignette(list(pdf=fn))
> ? invisible(fn)
> ?}
>
> ?You'll have to somehow alert your package users to the
> fact that this alternative documentation exists -- perhaps in the help
> package for the package itself.
>
> ?You might fill in the default value of "pkg" above with your
> package name to make it easier on the user: I thought about
> using some version of getPackageName(environment(xvignette))
> to do it automatically, but that seems too complicated ...
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



[Rd] Creating package Vignette
Melissa Jane Hubisz