文档对象中的非文件包锚定链接

Shi*_*ang 9 documentation r package

在我的 R 包检查中,我收到了一些关于文档链接的警告。

* checking Rd cross-references ... WARNING
Non-file package-anchored link(s) in documentation object 'show_sig_consensusmap.Rd':
  ‘[NMF:consensusmap]{NMF::consensusmap}’

Non-file package-anchored link(s) in documentation object 'show_sig_number_survey2.Rd':
  ‘[NMF]{summary}’
Run Code Online (Sandbox Code Playgroud)

奇怪的是,这样的警告只发生在 debian OS 中。

package sigminer_1.0.7.tar.gz does not pass the incoming checks automatically, please see the following pre-tests:
Windows: <https://win-builder.r-project.org/incoming_pretest/sigminer_1.0.7_20200616_163758/Windows/00check.log>
Status: OK
Debian: <https://win-builder.r-project.org/incoming_pretest/sigminer_1.0.7_20200616_163758/Debian/00check.log>
Status: 1 WARNING
Run Code Online (Sandbox Code Playgroud)

我只能通过删除链接来删除此警告。但是删除后,我的用户将无法通过单击链接获得更多信息。

在此处输入图片说明

有更好的解决方案吗?

Lau*_*rgé 9

看起来,如果您使用\code{\link[pkg]{foo}}指向包含多个功能的帮助页面的形式的链接,则该链接应该仅指向核心功能。

例如,假设功能foo_1foo_2在同一个帮助页面中描述并且foo_1是主要功能(即出现在帮助页面的左上角)。

要创建指向 的链接foo_2,您应该使用\code{\link[pkg:foo_1]{foo_2}}.

在编写 R 扩展时请参阅此 GH 问题此参考

  • 一个很好的例子是,如果您想链接到帮助文件中的“broom::augment()”。由于 broom 的 `augment()`、`tidy()` 和 `glance()` 都指向同一个 `broom::reexports`,所以您的帮助文件代码应该类似于 `\code{\link[broom:reexports] {扫视}}` (3认同)