我可以在pkg/doc文件夾中包含一些PDF,以使vignette
函數可以工作,但是沒有相應的Rnw,Rtex等存在嗎?R - 不是由Sweave製作的嗎?
我正在考慮幻燈片或包含用R塊編制的降價文本的文檔,這些R塊具有不同的構建過程,因此具有不同的文件擴展名。
編寫R擴展指南建議應該可以包含在安裝時無法生成的文檔,但vignette
函數似乎尋找具有特殊擴展名(Rnw,Rtex等)的文件,也適用於文件名爲vignette.rds
。
任何提示表示讚賞。
我可以在pkg/doc文件夾中包含一些PDF,以使vignette
函數可以工作,但是沒有相應的Rnw,Rtex等存在嗎?R - 不是由Sweave製作的嗎?
我正在考慮幻燈片或包含用R塊編制的降價文本的文檔,這些R塊具有不同的構建過程,因此具有不同的文件擴展名。
編寫R擴展指南建議應該可以包含在安裝時無法生成的文檔,但vignette
函數似乎尋找具有特殊擴展名(Rnw,Rtex等)的文件,也適用於文件名爲vignette.rds
。
任何提示表示讚賞。
幾年前我問過這個問題,雖然Fritz Leisch接受這個想法,但他沒有時間去實施它。
(從response I just left on R-help :)
作爲一種變通方法交叉貼,你可以包括你自己xvignette
功能在你的包,見下文。 它不會告訴你指數,但它會拿起任何適當命名的文件,您在inst/doc
目錄中的 包包括...
xvignette <- function(vname,pkg,ext="pdf") {
vname <- paste(vname,ext,sep=".")
fn <- system.file("doc",vname,package=pkg)
if (nchar(fn)==0) stop("file not found")
utils:::print.vignette(list(pdf=fn))
invisible(fn)
}
你必須以某種方式提醒你的包的用戶這個替代文檔存在的事實 - 可能在包本身的幫助文件中。
你可能會填寫的pkg
上面你的包名稱的默認值,使其對用戶更容易:我想過使用的getPackageName(environment(xvignette))
一些變種來自動執行,但似乎太複雜了......
布賴恩·裏普利也是他到該問題的迴應中提到:
目前暗角()是指Sweave文件,因爲只有他們有 元數據如標題。這計劃很快就會改變。
...但我不知道什麼是「快」是指(這將是6個月左右,直到2.14.0出來,我認爲)
編輯:http://article.gmane.org/gmane.comp.lang.r.devel/28449細節另一個解決辦法(創建結合了現有的PDF文件中的虛擬小插曲)
編輯2:與
R.rsp
包六個月直到2.14.0?通常不是四月和十月? –
我想是。我在想最近2.13.1版本,並忘記了它的發佈6個月0.0之間,而不是發行點。所以只有2.5個月。 –
downvote的任何解釋? –
這是原生支持爲R 3.0.0,請參閱http://yihui.name/knitr/demo/vignette/。
說明使用knitr
作爲小插曲引擎歸結爲:
- 添加
%\VignetteEngine{knitr::knitr}
到Rnw
源文件(注意,您仍然需要%\VignetteIndexEntry{}
如前)- 在包裝描述文件
指定VignetteBuilder: knitr
- 在
添加DESCRIPTION
如果只需要護身符
另請參閱有關該主題的official R documentation。
你爲什麼不只是建立了一個微型封裝,並嘗試它,看它是否工作? –
這就是我想要做的......我卡住了。 –
FWIW,'vignette'說'目前只能看PDF版本的小插曲。'其他所有內容都可供用戶自己查找。在這種情況下,'browseVignettes'可能會有所幫助。 –