R 3.0以降、静的PDFファイルを「ビネット」としてCRANパッケージに含める適切な方法は何ですか?
このドキュメントで説明されている空のスタブを使用するトリックはRnw
、R 3.0 では機能しないようです。このドキュメントは、に基づいたより良い方法があることを示唆していますが、\VignetteEngine{}
これが静的 PDF ファイルでどのように機能するかは明確ではありません。
R.rsp (>= 1.19.0 ) を使用すると、以下を含む小さな「vignettes/main.pdf.asis」テキスト ファイルを追加することで、静的 PDF「vignettes/main.pdf」を含めることができます。
%\VignetteIndexEntry{My amazing package}
%\VignetteEngine{R.rsp::asis}
そして、次のことを確認してください。
Suggests: R.rsp
VignetteBuilder: R.rsp
パッケージの DESCRIPTION ファイルに。これは、静的な HTML ビネットにも機能します。これは、R.rspビネットの 1 つでも説明されています。
これは、このブログ投稿 で説明されているように、単純な LaTeX トリックで機能します。
私は最近、現在の R バージョン (つまり、現在は 3.6.0) でこれを行うことに切り替えました。このラッパー .Rnw ファイルを参照してください。
\documentclass{article}
\usepackage{pdfpages}
%\VignetteIndexEntry{Using Annoy in C++}
%\VignetteKeywords{Rcpp, Annoy, R, Cpp, Approximate Nearest Neighbours}
%\VignettePackage{RcppAnnoy}
\begin{document}
\includepdf[pages=-, fitpaper=true]{UsingAnnoyInCpp.pdf}
\end{document}
利点は、これが完全に従来のビネット ビルドに Sweave を使用し、追加の依存関係をまったく課さないことです。
UPDATE 2014-06-08: R パッケージに静的 PDF と HTML ファイルを含めるためのより良い解決策については、R.rsp (>= 0.19.0) とそのR.rsp::asis
ビネット エンジンの使用方法に関するこのスレッドの他の回答を参照してください。
必要なのは、静的ファイルと<name>.Rnw
一致する名前のファイルだけです。<name>.pdf
vignettes/
static.pdf
static.Rnw
ここ<name>.Rnw
(ここstatic.Rnw
) は最小限の有効な Sweave ファイルです。
%\VignetteIndexEntry{<title to be displayed on the R vignette index page>}
\documentclass{article}
\begin{document}
\end{document}
このビネット ソース ファイル ( <name>.Rnw
) は、それをビルドするためのトリックですR CMD build
。つまり、Rtools::buildVignettes()
は最初に通常どおり Sweave<name>.Rnw
し<name>.tex
ます。ただし、buildVignettes()
設計方法により、静的<name>.pdf
ファイルが Sweave エンジンによって既に作成されているものとして検出されるため、ダミーの TeX ファイルを PDF ファイルにコンパイルしません (静的ファイルを上書きします)。
理解することが重要なのは、(i) ビネットは の間に「ビルド」され、(ii) ビルドされると、ビルドされたパッケージR CMD build
のディレクトリ (欠落している場合は作成される) にコピーされることです。inst/doc/
また、(iii)vignettes/
ディレクトリはビルド パッケージ、つまりファイルの一部ではありません。<pkgname>_<version>.tar.gz
そのため、必ず を参照してくださいinst/doc/
。
したがって、ここで明確にするために、ダミーを使用する<name>.Rnw
ことは、誰かがこの戦略を阻止することを決定した場合に壊れる可能性のあるハックと見なすことができます. <name>.pdf
ただし、その場合、ファイルを ...ファイルにコンパイルすることのみを目的とする Sweave 以外のビネット エンジンを作成することは十分に可能<name>.pdf
です。これは、R (>= 3.0.0) で追加された Sweave 以外のサポートにより有効であり、可能です。\VignetteEngine{R.rsp::StaticPDF} など、そのようなエンジンを R.rsp パッケージに追加することを検討しています。これにより、ダミーの Rnw ファイルを用意する必要さえなくなります。PDF ファイルだけです。
お役に立てれば