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 <bbol...@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@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel