Могу ли я иметь виньетку 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. Будучи умным, я чувствую, что должен быть лучший способ избежать распространения файлов.
3 ответа
Сразу после Yihui....
Сделайте фальшивый Rnw, который выглядит так:
%\VignetteIndexEntry{User manual}
\documentclass{article}
\begin{document}
\end{document}
И положить его в inst/doc
вдоль вашей предварительно скомпилированной виньетки, и все будет готово.
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{}
,
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.