Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以让R vignette和带有手动索引的预编译PDF.html显示vignette列表吗?_R_R Mosaic - Fatal编程技术网

我可以让R vignette和带有手动索引的预编译PDF.html显示vignette列表吗?

我可以让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

我想在R包中包含一个预编译的PDF作为一个小插曲。PDF不是通过Swave生成的。如果没有.Rnw进行处理,则不会有
\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]上遇到了这个窍门@本杰明很好,很好地给予了适当的信任。感谢您提供链接。可能的副本