簡體   English   中英

鏈接到 R 中 roxygen2 文檔中的其他包

[英]Linking to other packages in documentation in roxygen2 in R

我想知道當我嘗試使用roxygen2為新包編寫文檔時,是否存在一種從其他包link到函數的方法。 \link{pck=PACKAGE_NAME, fun=FUNCTION_NAME}

你必須輸入\link[pkg]{function}例如\link[stringi]{stri_c}

Roxygen2現在還支持用 markdown 編寫的文檔。

鏈接的降價語法是[foo::bar()] ,它在生成的 .Rd 文件中被轉換為\code{\link[foo:bar]{foo::bar()}} (參見Roxygen2 小插圖。)

請注意,您可能需要通過在您的DESCRIPTION文件中編寫Roxygen: list(markdown = TRUE)來專門打開 Markdown 支持,或者如果您只想為特定的手冊頁啟用 Markdown,請#' @md注釋。 這也在鏈接的小插圖的最頂部進行了解釋。 (感謝@Tjebo 的評論)

請注意,markdown 版本有兩個冒號,而 Rd 版本只有一個冒號。

有兩種方法可以實現這一點,使用:

1. .Rd語法

來自“R包”書

  • \code{\link{function}} - 這個包中的函數。
  • \code{\link[MASS]{abbey}} - 在另一個包中起作用。
  • \link[=dest]{name} - 鏈接到 dest,但顯示名稱。
  • \code{\link[MASS:abbey]{name}} - 鏈接到另一個包中的函數,但顯示名稱。
  • \linkS4class{abc} - 鏈接到 S4 類。

2.markdown語法

來自roxygen2 小插圖

roxygen2 評論 描述 生成的 Rd 代碼
[func()] func()在這個包中 \code{\link[=func]{func()}}
[pkg::func()] pkg中的func() \code{\link[pkg:func]{pkg::func()}}
[thing] 此包中的主題 \link{thing}
[pkg::thing] pkg中的主題 \link[pkg:thing]{pkg::thing}
[`thing`] 此包中的主題 \code{\link{thing}}
[`pkg::thing`] pkg中的主題 \code{\link[pkg:thing]{pkg::thing}}

記得把Roxygen: list(markdown = TRUE)放在DESCRIPTION中
roxygen2>=6.0.0 提供的 Markdown 簡碼

除了potockan的回答:
一些軟件包在一個幫助頁面中記錄了多個功能。 例如,Bioconductor 包GenomicRanges中的trim函數記錄在intra-range-methods中(這也是其他包中的幫助頁面的名稱,例如IRanges )。

要使用roxygen2鏈接到正確的頁面,您可以使用:

\link[GenomicRanges:intra-range-methods]{trim} 

或者

\code{\link[GenomicRanges:intra-range-methods]{trim}}  

正確格式化文本。

幫助頁面只會顯示trim ,但會鏈接到正確的幫助頁面。

為了鏈接到一個函數,我們使用[function()][pkg::function()]稍微濫用了 markdown 語法。

  • 按 Cmd/Ctrl + Shift + D 重新記錄您的包。

  • 通過單擊構建窗格或按 Ctrl/Cmd + Shift + B 構建並安裝您的包。這會將其安裝到您的常規庫中,然后重新啟動 R 並重新加載您的包。

  • 使用 ? 預覽文檔?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM