Подтвердить что ты не робот

Как мне "предварительно создать" индекс виньетки для R-пакета?

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

В пакете есть поле VignetteBuilder, но нет предварительно настроенного индекса виньетки.

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

Файл vignette .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 и может ли кто-нибудь указать пример того, как это должно выглядеть?

Этот вопрос кажется тесно связанным, но я (умышленно) не имеет файла .Rbuildignore. Это также связано, хотя я не использую devtools для создания пакета. Я также рассмотрел этот вопрос, но я не вижу легкого ответа.

Обновление 1 июля

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

4b9b3361

Ответ 1

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

\documentclass{article}

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

\usepackage[]{graphicx}
...

Кажется, что это нормально.

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

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