2015-06-22 6 views
11

Я готовлю пакет для отправки в CRAN. Я использую R CMD build myPackage, затем R CMD check myPackage --as-cran, и он передает все чеки без примечаний или предупреждений. Однако, каждый раз, когда я пытаюсь представить, я получаю следующее сообщение об ошибке одного из CRAN сопровождающих:Как мне «создать» индекс виньетки для пакета R?

Пакета имеет поле VignetteBuilder но не скомпилированную индекс виньетки.

В начале я хотел был бы иметь возможность воспроизвести вышеуказанное сообщение об ошибке в моей собственной системе (R version 3.0.1).

Виньетка .Rnw файл выглядит следующим образом:

%\VignetteEngine{knitr::knitr} 
%\VignetteIndexEntry{myVignetteName} 
\documentclass{article} 
\begin{document} 
Here is some code: 
<<>>= 
plot(1:10, 10:100) 
@ 
\end{document} 

Я попытался добавить в INDEX файл в корневой директории с записью виньетка как это:

myFunction  a brief description 
abc-vignette  vignette description 

Опять же, это проходит R CMD check myPackage --as-cran но Я получаю то же сообщение об ошибке.

Я также пробовал R CMD build myPackage --md5, чтобы создать файл MD5, но не напрасно.

Когда я смотрю myPackage.Rcheck/00_pkg_src/myPackage/inst/doc Я нахожу файлы виньетки, .Rnw и .pdf как и ожидалось.

DESCRIPTION Пакет файл имеет следующую запись:

VignetteBuilder: knitr 
Suggests: knitr 

Когда я смотрю на myPackage.Rcheck/myPackage/Meta я вижу запись vignette.rds. Однако, как представляется, это двоичный файл, поэтому я не могу понять это.

Это от «написания расширений R»:

При установке времени индекс HTML для всех виньеток в пакете автоматически создается из заявлений \ VignetteIndexEntry, если файл «index.html» существует в каталог 'inst/doc'. Этот индекс связан с индексом справки HTML для пакета. Если вы поставляете файл «inst/doc/index.html», он должен содержать относительные ссылки только на файлы в каталоге «doc» или, возможно, (не на самом деле индекс) на файлы справки HTML или в файл «DESCRIPTION» ,

. Нужно ли мне вручную создавать index.html и может ли кто-нибудь указать пример того, как это должно выглядеть?

This question похоже тесно связан, но у меня нет (не зря) файл .Rbuildignore. This is also related, хотя я не использую devtools для создания пакета. Я также посмотрел this question, но не вижу легкого ответа.

Update Июль 1

Для воспроизводимого Например, пакета доступен here on github. Загрузка и установка (например,с devtools::install_github() должна допускать воспроизведение этой ошибки.

ответ

1

Я соберу Vignette команды должны быть в преамбуле, т.е. ниже documentclass, так что файл myVignette.Rnw следует читать:

\documentclass{article} 

% \VignetteIndexEntry{myVignette} 
% \VignetteEngine{knitr::knitr} 

\usepackage[]{graphicx} 
... 

Это, кажется, работает хорошо.

сообщение об ошибке от развития версии R CMD check на который в настоящее время 3.3.0. Я использовал более старую «стабильную» версию, которая не Рекомендуемый способ проверки пакетов при рассмотрении отправки в CRAN.

Я по-прежнему не уверен в достоинствах использования файла index.html руководства - оно кажется ненужным, но я с радостью изменю принятый ответ, если кто-нибудь может пролить свет на это.

0

This может помочь, или вы можете обратиться к devtools, чтобы создать свой пакет.