Могу ли я использовать виньетку R с предварительно скомпилированным PDF файлом с ручным index.html, чтобы показать список виньет?
Я хочу включить предварительно скомпилированный PDF файл в качестве виньетки в R-пакет. PDF не создается через Sweave. Без .Rnw для обработки нет \VignetteIndexEntry
, чтобы вызвать обычную автоматическую генерацию index.html и Meta/vignette.rds
.
Я создал index.html в inst/doc
, который был скопирован в doc
во время установки. Это исправлено, связанное с главной страницей справки по пакету. Однако, когда я загружаю пакет и выполняю browseVignettes("MyPackage")
, я получаю
No vignettes found by browseVignettes("MyPackage")
Это имеет смысл, потому что R, по-видимому, не знает, что у пакета есть виньетка. У установленного пакета нет файла Meta/vignette.rds
. Могу ли я каким-то образом получить свой PDF файл с browseVignettes()
?
pdfpages
Я знаком с подходом сделанным пакетом мозаики, который должен использовать pdfpages
для включения всего PDF. Хотя я умный, я чувствую, что должен быть лучший способ избежать распространения файлов.
Ответы
Ответ 1
Сразу после Yihui....
Сделайте подделку Rnw, которая выглядит так:
%\VignetteIndexEntry{User manual}
\documentclass{article}
\begin{document}
\end{document}
И поставьте его в inst/doc
вдоль вашей предварительно скомпилированной виньетки, и все будет установлено.
Ответ 2
R определенно нужен лучший способ справиться с виньетками: http://comments.gmane.org/gmane.comp.lang.r.devel/31967 Прежде чем мое предложение будет одобрено и реализовано, нам все равно придется жить с темный вуду из Makefile. Например, вы можете поместить fake.Rnw
и real.pdf
под inst/doc
и mv real.pdf fake.pdf
в Makefile. В fake.Rnw
вы просто следуете правилу \VignetteIndexEntry{}
.
Ответ 3
Пакет mosaic
теперь по-видимому, использует пакет R.rsp
, который имеет драйвер asis, который позволяет включать существующий файл и создавая VignetteIndexEntry
. Это выглядит намного хуже, чем использование pdfpages
или файла фиктивного .Rnw
(который больше не работает в R 3.1).
Пример. Для файла V1MinimalR.pdf
имеется соответствующий файл V1MinimalR.pdf.asis
со следующим содержимым:
%\VignetteIndexEntry{Minimal R for Intro Stats}
%\VignetteEngine{R.rsp::asis}
DESCRIPTION
содержит (среди прочего) следующее:
Suggests: R.rsp
VignetteBuilder: knitr, R.rsp
Это также подробно описано в этом ответе Генриха Бенгтсона, автора R. пакет rsp.