2012-09-07 16 views
20

Vom Writing R Extensions Manual, las ich, dassWohin mit Vignetten für die CRAN-Einreichung?

Wie aus R 2.14.0 der bevorzugten Ort für die Sweave Quellen der Unterverzeichnis Vignetten der Quellpakete sind, aber für die Kompatibilität mit früheren Versionen von R, Vignette Quellen wird in inst/doc gesucht, wenn Vignetten nicht existieren.

Allerdings, wenn ich ein vignettes Unterverzeichnis der Paketquelle zu erstellen, wenn ich devtools::check() oder R CMD check laufen bekomme ich eine Warnung für Package vignette(s) without corresponding PDF. Wenn ich die Vignette (.RNW und .PDF) in setze, wird die Prüfung ohne Beanstandungen abgeschlossen. Ich habe versucht, in meiner Bibliothek zu suchen, installiert installiert und sah keine Verzeichnisse mit dem Namen vignettes. Sollte ich den veralteten Standort weiterhin verwenden?

Antwort

20

Sie setzen die .Rnw Quellen in vignettes/, wie Sie tat, aber Sie haben einen kritischen Schritt verpasst; Überprüfe den Quellbaum nicht. Der erwartete Workflow besteht darin, den Quell-Tarball zu erstellen und dann diesen Tarball zu überprüfen. Durch das Erstellen des Tarballs wird das Vignetten-PDF erstellt.

R CMD build ../foo/pkg 
R CMD check ./pkg-0.4.tar.gz 

zum Beispiel wird ein Quellpaket Tarball aus den Quellen in ../foo/pkg Erstellen das .tar.gz Paket im aktuellen Verzeichnis mit dem Paketnamen und die Version angehängt bauen. Dann führen Sie R CMD check auf diesem Quellpaket aus.

Wenn Sie möchten, dass Ihre Vignette für Sie gebaut wird, legen Sie sie in vignettes/ und bauen Sie das Quellpaket. Zu einem späteren Zeitpunkt kann R Core die Möglichkeit zum Erstellen von Vignetten von entfernen, also gehen Sie jetzt mit der empfohlenen Position und vermeiden Sie es, die Quellen direkt zu überprüfen.

13

Ich hatte eine harte Zeit, dies auch zu interpretieren.

Ich glaube, die Absicht ist, dass Sie die Datei .Rnw in vignettes/ und die PDF (in geeigneter Weise verdichtet) in inst/doc/ setzen sollen, die technisch mit der Dokumentation übereinstimmt, wenn man sorgfältig genug gelesen. (Das heißt, es heißt die Quellen sollten in vignettes/ gehen. Ich sehe nicht, wo es in so vielen Worten heißt, dass Sie die entsprechende PDF in inst/doc/ setzen sollten, aber es nicht nicht sagen, und Diese Interpretation scheint R CMD check glücklich zu machen ...)

Die Auflösung ist in @ GavinSimpson die Antwort (dh man wird erwartet, das Tarball zu erstellen und dann überprüfen, anstatt das Quellverzeichnis selbst zu überprüfen). (Mein zwei Cent ist, dass es am besten wäre, wenn R-Kern offiziell als veraltet (und schließlich entfernt) direkte Quelle Überprüfung statt uns alle Gründl verwirrend ...)

+2

Es ist beabsichtigt, dass Sie die Paketquellen nicht überprüfen, sondern die * gepackte * Version überprüfen, d. H. Das Quellpaket, das durch eine 'R CMD build'-Operation erstellt wurde. –

+5

Wenn Sie 'foo.Rnw' und' foo.pdf' in 'vignettes /' setzen, wird das PDF automatisch in das installierte 'doc' Verzeichnis übertragen. Kein manuelles Eingreifen über "inst/doc" erforderlich. –

+1

Das etwas andere ist falsch, da zahlreiche Pakete, darunter einige meiner konvertierten, mit 'vignettes /' arbeiten. –