我可以让R vignette和带有手动索引的预编译PDF.html显示vignette列表吗?
我想在R包中包含一个预编译的PDF作为一个小插曲。PDF不是通过Swave生成的。如果没有.Rnw进行处理,则不会有我可以让R vignette和带有手动索引的预编译PDF.html显示vignette列表吗?,r,r-mosaic,R,R Mosaic,我想在R包中包含一个预编译的PDF作为一个小插曲。PDF不是通过Swave生成的。如果没有.Rnw进行处理,则不会有\VignetteIndexEntry导致通常自动生成index.html和Meta/vignette.rds 我在inst/doc中创建了一个index.html,在安装过程中复制到doc中。这是从主程序包帮助页面链接的更正。但是,当我加载包并执行browseVignettes(“MyPackage”)时,我得到 No vignettes found by browseVigne
\VignetteIndexEntry
导致通常自动生成index.html和Meta/vignette.rds
我在inst/doc
中创建了一个index.html,在安装过程中复制到doc
中。这是从主程序包帮助页面链接的更正。但是,当我加载包并执行browseVignettes(“MyPackage”)
时,我得到
No vignettes found by browseVignettes("MyPackage")
这是有道理的,因为R显然无法知道包有一个小插曲。安装的软件包没有Meta/vignette.rds
文件。我是否可以让我的PDF与browseVignettes()一起出现
pdfpages
我熟悉的是,它使用pdfpages
来包含整个PDF。尽管我很聪明,但我觉得应该有一种更好的方法来避免文件的扩散。R确实需要一种更好的方法来处理小插曲:在我的提案获得批准和实施之前,我们仍然必须接受Makefile的黑暗巫术。例如,您可以将fake.Rnw
和real.pdf
放在inst/doc
下,并将mv real.pdf fake.pdf
放在Makefile中。在fake.Rnw
中,您只需在Yihui之后遵循\VignetteIndexEntry{}
的规则
制作一个假Rnw,如下所示:
%\VignetteIndexEntry{User manual}
\documentclass{article}
\begin{document}
\end{document}
然后将它放在预先编译的vignette旁边的inst/doc
中,您就可以全部设置好了。现在的mosaic
软件包有一个“asis”驱动程序,允许包含一个现有文件并创建VignetteIndexEntry
。与使用pdfpages
或虚拟.Rnw
文件相比,这看起来更不像是一种黑客行为
示例:对于文件v1minar.pdf
,有一个相应的v1minar.pdf.asis
文件,其内容如下:
%\VignetteIndexEntry{Minimal R for Intro Stats}
%\VignetteEngine{R.rsp::asis}
说明
包括以下内容:
Suggests: R.rsp
VignetteBuilder: knitr, R.rsp
这一点在.的作者中也有详细说明。为了清楚起见,这是否意味着您将一个名为Makefile
并包含单行mv real.pdf fake.pdf
的文件放在包源目录的顶部?这是否消除了对Makefile的需要?这种方法似乎非常有效。我认为R在处理Rnw时可能会破坏已有的PDF,但它没有。我不使用Makefile,我想这是我需要学习的。你只需输入文本,然后分别准备你的小插曲。当您运行'R CMD CHECK…'时,它会工作。我记不起我在哪里找到这个把戏了,它不在那个里。但这对我来说并不是原创。今天我在试图找到这个问题的答案时,在[Rd]上遇到了这个窍门@本杰明很好,很好地给予了适当的信任。感谢您提供链接。可能的副本