如何以多种格式生成R包装晕影?

时间:2015-07-03 21:45:21

标签: r knitr r-markdown pandoc

我使用 knitr rmarkdown 为R包编写晕影。由于 pandoc 的神奇之处,很容易将这些文档转换为各种格式。我想通过提供HTML和PDF的插图来利用这一点。 rmarkdown 支持在文档元数据块中指定多种输出格式的参数。例如,我可能会有这样的事情:

output:
  html_document:
    standalone: true
    smart: true
    normalize: true
    toc: true
    highlight: tango
    self-contained: true
    theme: cerulean
  pdf_document:
    toc: true
    highlight: tango
geometry: margin=2cm
documentclass: article
classoption: a4paper

从R命令行我可以使用rmarkdown::render毫无困难地构建一个或两个输出文档。但是,在构建包时,仅使用首先列出的输出格式。我试图包含一个 Makefile ,它通过包含

的内容来构建
all: %.Rmd
    $(R_HOME)/bin/Rscript -e "rmarkdown::render('$*.Rmd', 'all')"

并且这是成功的,因为生成了所有输出文件但是其中只有一个被R识别为晕影。要获得docs/中包含的其他输出,必须将它们添加到 .install_extras 。虽然这确保了它们可以通过HTML索引访问,但它们与小插图分开列出,并且我不认为可以从R中访问它们(通过vignette())。

有没有更好的方法(或任何自动方式)来做到这一点?

1 个答案:

答案 0 :(得分:2)

两件事:

  1. 你可以包括'公共内容并有两个具有不同标题的源文件,或者

  2. 如果额外的小插图真的没有出现在索引中,请自己编写。从编写R扩展:"在安装时,除了目录inst / doc中存在文件index.html之外,将自动从\ VignetteIndexEntry语句创建包中所有vignet的HTML索引。该索引是从包的HTML帮助索引链接的。"晕影索引条目也可能是将您可能具有相同名称的晕影识别为不同的线索。