23

R 3.0以降、静的PDFファイルを「ビネット」としてCRANパッケージに含める適切な方法は何ですか?

このドキュメントで説明されている空のスタブを使用するトリックはRnw、R 3.0 では機能しないようです。このドキュメントは、に基づいたより良い方法があることを示唆していますが、\VignetteEngine{}これが静的 PDF ファイルでどのように機能するかは明確ではありません。

4

3 に答える 3

14

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 つでも説明されています。

于 2014-06-08T21:49:08.013 に答える
4

これは、このブログ投稿 で説明されているように、単純な 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 を使用し、追加の依存関係をまったく課さないことです。

于 2019-06-09T04:41:40.117 に答える
2

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 ファイルだけです。

お役に立てれば

于 2013-10-31T23:42:31.217 に答える