27

Roxygen2にはないので、 Roxygen2rlandscapeを使用して、プレーンなRoxygenビネットに従おうとしています。

ビネット(3ページ)のようにrlandscape-package.R、パッケージのドキュメントのみを含むというファイルを作成しました。ビネットでは、彼らは言います

各Roxygen記述ブロックの後には、特定の関数の代わりにファイルまたはパッケージを記述するヘッダー資料でさえ、ステートメントが続く必要があります。roxygen()は、そのような場合を代用するNOOP(nullステートメント)として提供されます。

しかし、descriptionブロックroxygen()の後にを呼び出してをpackage.skeleton生成するとしますError in eval(expr, envir, enclos) : could not find function "roxygen"。だから私はroxygen()呼び出しを完全に省略し、それをに置き換えることを試みましたがNA、どちらも同じ結果をもたらすようです:package.skeleton()正常に動作し(引数rlandscape-package.Rの1つとしても含む)、それから私はできますcode_filesroxygenize

> roxygenize("rlandscape", roxygen.dir = "rlandscape")
Updating collate directive in  /Users/Gregor/Dropbox/rlandscape/rlandscape/DESCRIPTION 
Updating namespace directives
Writing plot.landscape.Rd
Writing rland.Rd
Writing rland.gui.Rd
Writing makePoints.Rd
Writing rCluster.Rd
Writing rlandscape-package.Rd
Writing rlandscape.Rd

これは正常に実行されているように見えますが、DESCRIPTIONファイルには「Collat​​e」フィールドが追加されていますが、それ以外はpackage.skeleton作成されたものから変更されていません。説明ファイルの残りの部分が更新されないのはなぜですか?

4

1 に答える 1

32

roxygen2は意図したとおりに機能していますが、パッケージを文書化するために最初に使用したときに同じ混乱を経験しました。理解しておくべき重要な点は、いくつかの異なるパッケージ記述ファイルが混在していることです。

  • のroxygenマークアップが処理されると、ソースパッケージのmanディレクトリにrlandscape-package.Rファイルが生成されます。これにより、またはrlandscape-package.Rdを入力したときに表示されるドキュメントが生成されます。?rlandscape?"rlandscape-package"

  • ソースツリーの最DESCRIPTION上位ディレクトリにあるファイルは、完全に別の獣です。たまたま(を介して)表示できるヘルプファイルが作成されますがhelp(package="rlandscape")、パッケージの作成を指示する上で、他にも多くの重要な役割があります。roxygen2が影響を受ける/影響を受ける唯一の方法は、関数(パッケージを実行するときに実行される)が既存のファイルのCollat​​eフィールドとのマージを実行することです(このpdfのp 10で説明されています)。collate_roclet()roxygenize()DESCRIPTION

主な持ち帰りメッセージは、roxygen2を使用している場合でも、DESCRIPTIONファイルに変更を加える場合は、ファイルを直接編集して変更する必要があるということです。

于 2012-03-02T20:39:43.377 に答える