我使用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())对其进行访问。

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

最佳答案

两件事情:

  • 您可以“包含”公共(public)内容,并具有两个带有不同标题的源文件,或者
  • 如果多余的小插图确实没有出现在索引中,请编写自己的小插图。来自Writing R扩展:“在安装时,将根据\ VignetteIndexEntry语句自动创建包中所有小插图的HTML索引,除非在目录inst / doc中存在文件index.html。该索引从HTML帮助索引链接到包。”小插图索引条目也可能是将您可能同名的小插图识别为不同的线索。
  • 关于r - 如何产生多种格式的R包小插图?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31214524/

    10-10 15:04