Мы можем адаптировать Yihui С static_help
function получить исходный HTML для данного файла справки
static_help <- function(pkg, topic, out, links = tools::findHTMLlinks()) {
pkgRdDB = tools:::fetchRdDB(file.path(find.package(pkg), 'help', pkg))
force(links)
tools::Rd2HTML(pkgRdDB[[topic]], out, package = pkg,
Links = links, no_links = is.null(links))
}
Если записать источник во временный файл можно затем прочитать его обратно и сдирать верхние и нижние колонтитулы , давая вам тело файла справки, чтобы включить в свой уценки документ
```{r, echo = FALSE, results = "asis"}
static_help <- function(pkg, topic, out, links = tools::findHTMLlinks()) {
pkgRdDB = tools:::fetchRdDB(file.path(find.package(pkg), 'help', pkg))
force(links)
tools::Rd2HTML(pkgRdDB[[topic]], out, package = pkg,
Links = links, no_links = is.null(links))
}
tmp <- tempfile()
static_help("datasets", "mtcars", tmp)
out <- readLines(tmp)
headfoot <- grep("body", out)
cat(out[(headfoot[1] + 1):(headfoot[2] - 1)], sep = "\n")
```
EDIT
Вышеописанное решение создало выход HTML, в то время как на самом деле был задан вопрос о выходе PDF. Мы можем адаптировать вышеуказанное, чтобы вместо этого получить выход латекса; на этот раз требуется только-пост-редактирования для переключения %
для \n
```{r, echo = FALSE, results = "asis"}
static_help <- function(pkg, topic, out, links = tools::findHTMLlinks()) {
pkgRdDB = tools:::fetchRdDB(file.path(find.package(pkg), 'help', pkg))
force(links)
tools::Rd2latex(pkgRdDB[[topic]], out, package = pkg,
Links = links, no_links = is.null(links))
}
tmp <- tempfile()
static_help("datasets", "mtcars", tmp)
out <- readLines(tmp)
out <- gsub("%", "\n", out, fixed = TRUE)
cat(out, sep = "\n")
```
Однако файлы .Rd зависят от Rd.sty. Самый простой способ заставить LaTeX найти Rd.sty - поместить копию в тот же каталог, что и ваш .Rmd-файл. Затем вам нужно определить настраиваемый шаблон для замены default pandoc LaTeX template. Опять же, самым простым решением является поместить копию шаблона по умолчанию в тот же каталог, что и ваш .Rmd-файл, а затем изменить его, заменив все между командой \documentclass
и командой \begin{document}
(строки 2 - 145) командой
Наконец изменить метаданные вашего .Rmd файла использовать новый шаблон
---
output:
pdf_document:
template: template.tex
---