CẬP NHẬT 2014-06-08: Để có giải pháp tốt hơn để bao gồm tệp PDF tĩnh và HTML trong gói R, hãy xem câu trả lời khác của tôi về cách sử dụng R.rsp (> = 0.19.0) và R.rsp::asis
họa tiết họa tiết.
Tất cả những gì bạn cần là tệp <name>.Rnw
có tên khớp với tệp <name>.pdf
tĩnh của bạn, ví dụ:
vignettes/
static.pdf
static.Rnw
nơi <name>.Rnw
(ở đây static.Rnw
) là một tập tin Sweave hợp lệ tối thiểu, ví dụ
%\VignetteIndexEntry{<title to be displayed on the R vignette index page>}
\documentclass{article}
\begin{document}
\end{document}
file nguồn họa tiết này (<name>.Rnw
) thủ đoạn R CMD build
để xây dựng nó, ví dụ: R của tools::buildVignettes()
đầu tiên sẽ Sweave <name>.Rnw
vào <name>.tex
như bình thường. Tuy nhiên, do cách buildVignettes()
được thiết kế, nó sẽ phát hiện tệp tĩnh <name>.pdf
của chúng tôi đã được tạo bởi công cụ Sweave và do đó nó sẽ không biên dịch tệp TeX giả này thành tệp PDF (tệp này sẽ ghi đè tệp tĩnh của chúng tôi).
Điều quan trọng cần hiểu là (i) họa tiết "đang xây dựng" trong R CMD build
, (ii) và khi chúng được sao chép vào thư mục inst/doc/
(được tạo nếu thiếu) của gói được tạo. Ngoài ra, (iii) thư mục vignettes/
sẽ không là một phần của gói xây dựng, tức là <pkgname>_<version>.tar.gz
tệp. Vì vậy, hãy đảm bảo xem trong inst/doc/
.
Vì vậy, phải rõ ràng ở đây, sử dụng giả <name>.Rnw
có thể được coi là một hack có thể phá vỡ nếu ai đó quyết định ngăn chặn chiến lược này. Tuy nhiên, nếu điều đó xảy ra, bạn hoàn toàn có thể tạo ra một công cụ họa tiết không Sweave mà mục đích duy nhất là biên dịch một tệp <name>.pdf
thành một tệp ... <name>.pdf
. Điều này là hợp lệ và có thể do sự hỗ trợ không Sweave được thêm vào trong R (> = 3.0.0). Tôi đã cân nhắc việc thêm công cụ như vậy vào gói R.rsp, ví dụ: \ VignetteEngine {R.rsp :: StaticPDF}. Với điều đó bạn thậm chí sẽ không phải có tệp Rnw giả đó - chỉ có tệp PDF.
Hope this helps
+1, tôi cũng muốn bao gồm các họa tiết tĩnh trong các gói của mình quá – sckott
Tôi tự hỏi về điều đó nhưng khi đọc hướng dẫn sử dụng và lá trà, nó đang hướng tới tất cả 'họa tiết /' thậm chí còn thực thi nghiêm ngặt hơn trong Tương lai. –
Hmmm. Trong trường hợp đó, tôi nghĩ rằng tôi chỉ có thể có các liên kết đến các trang web với các hướng dẫn vì hầu hết các gói của tôi thực hiện các cuộc gọi API tới web. Trừ khi có một số lý do quan trọng để có họa tiết thực sự bên trong pkgs? – sckott