如何为自己的 R 包创建新闻功能

How to create a news function for your own R package

我正在创建一个 R 包,现在正在处理 NEWS 文件。我在 inst 子文件夹中有一个 .Rd 文件,我想通过 my_pckg_news() 等自定义函数调用它。我在 gamlss 包中看到了这一点,它具有 gamlssNews() 作为调用 NEWS.txt 文件的自定义函数。

那么我是否可以创建一个类似的函数,以便在调用此函数时在 RStudio 的帮助部分显示 NEWS.Rd 文件?我们 ?function_name 显示相应 Rd 文件的方式。

编辑:添加了示例 .Rd 文件

\name{my_package}
\title{News for package \pkg{my_package}}

\section{}{
  \itemize{ 
    \item item1
  }       
}


\section{Version 0.1}{
  \subsection{f1}{
    \itemize{
      \item item1
      \item item2
    }
  }
  \subsection{f2}{
    \itemize{
      \item item1
    }
  }
}

我在这里面临的另一个问题是,f1f2 没有被打印出来。并且此文件不会加载到帮助部分(RStudio),而是直接打印到 R 控制台

经过一些阅读、试验(很多!)和来自@nrussell 的帮助,我能够为我的新闻文件定制功能。

简而言之:

  1. 在您的主目录中创建一个 inst 子文件夹(其中存在 DESCRIPTION 等)文件。

  2. inst 文件夹中创建另一个子文件夹 doc,您将在其中保存 NEWS.txt 文件。

  3. 现在创建一个 .R 文件,其中包含您要保留的自定义新闻函数的名称,该函数在调用时应显示 NEWS 文件。您可以将此文件名作为 alias.Rd 文件之一中,这样您就不需要为此创建单独的 .Rd 文件

  4. 在此函数中,编写一行代码来加载 .txt 文件。 file.show(system.file("doc", "NEWS.txt", package = "your_pckg_name"))

  5. 同时尝试构建 .onAttach() 功能,例如在加载包时显示欢迎消息。您也可以在此提及您定制的新闻功能的名称。

  6. 最终结果:=调用你的新闻功能!!!!

希望这对未来的用户有帮助!