r - 如何制作多种格式的 R 包插图?

标签 r knitr r-markdown pandoc

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

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)内容并拥有两个具有不同标题的源文件,或者,
  • 如果额外的小插图确实没有出现在索引中,请自己编写。从编写 R 扩展:“在安装时,包中所有小插图的 HTML 索引会自动从\VignetteIndexEntry 语句创建,除非文件 index.html 存在于目录 inst/doc 中。该索引是从 HTML 帮助索引链接的包裹。”小插图索引条目也可能是让您可能同名的小插图被识别为不同的线索。
  • 关于r - 如何制作多种格式的 R 包插图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31214524/

    相关文章:

    替换 kable/R markdown 中的列名

    r - Bookdown 在编织时生成带有章节标题而不是 "index.html"的索引文件

    r - 如何将 R 文本+图像输出捕获到一个文件(html、doc、pdf 等)中?

    用于动态文档的 Python 库

    正则表达式删除punct删除R中的非标点字符

    r - 向量化函数中 sapply() 的意外行为

    r - Knitr:不要注释掉未评估的代码

    r - 有没有办法为 RStudio 中的 Knit 按钮指定中间体_dir?

    r - 为什么使用 knitr 和 grid 不会出现第二个 ggplot?

    r - Kernlab 疯狂 : inconsistent results for identical problems