Это похоже на ошибку (или может быть больше, чем один). Я бы назвал это ошибкой в R, но это может быть ошибка в knitr
. При сборке архива R копирует основной файл в inst/doc
, но не в дочерний файл. knitr
затем смотрит на него, и так как он не видит ребенка, он уходит.
Чтобы получить пакет для сборки, вам просто нужен пустой файл в inst/doc
с тем же именем, что и дочерний файл. Но этого недостаточно, чтобы пройти проверку.
При проверке пакета R увидит, что дочерний файл находится в inst/doc
, и расстроится, потому что это неправильная виньетка. Так что вам нужно обмануть R, думая, что он один.
Насколько я вижу, существует простой (хотя и некрасивый) способ обхода. Просто поместите файл с именем child_doc.Rmd
в каталог inst/doc
. Чтобы заставить R думать, что это виньетка, скопируйте строки
%\VignetteIndexEntry{title}
%\VignetteEngine{rmarkdown::render}
%\VignetteEncoding{UTF-8}
из основного файла. В противном случае содержимое кажется неактуальным, поэтому я бы не стал больше ничего там размещать.
Поместите настоящий файл child_doc.Rmd
в каталог vignettes
. Я думаю, что если вы сделаете это, ваш пакет будет собран и проверен без ошибок.
Это, вероятно, стоит сообщения об ошибке, но я не уверен, что исправление должно быть. Возможно, knitr
должен быть более терпимым при проверке, или, возможно, R должен скопировать файл раньше.
Жаль, что обходной путь настолько уродлив, и, вероятно, вызовет другие проблемы, как только ошибка будет исправлена.