【问题标题】:Specifying multiple simultaneous output formats in knitr在 knitr 中指定多个同时输出格式
【发布时间】:2014-09-24 13:25:25
【问题描述】:

我希望能够同时指定多种输出格式,例如 html_document 和 pdf_document。我知道这可以通过类似的方式非常简单地完成

---
  output: [html_document, pdf_document]
---

我可能关闭了某些语法,但我似乎无法在任何地方找到文档。我最近发现了 knitr-bootstrap 并喜欢它。我一直在寻找能够动态隐藏我的代码和输出块的功能。

不幸的是,默认情况下,knitr-bootstrap 调用的 YAML 块非常复杂,我不知道如何为此指定多个输出。

我查看了 YAML 规范并尝试了一些不同的方法,但我不知所措。以下是我目前的 YAML 前线。

---
title: "Beta Regression Comparison"
opset: bootstrap
output:
  knitrBootstrap::bootstrap_document:
    title: "Beta Regression Comparison"
    theme: Simplex
    highlight: Solarized - Light
    theme.chooser: FALSE
    highlight.chooser: FALSE
    menu: FALSE
  pdf_document
---

【问题讨论】:

    标签: r knitr


    【解决方案1】:

    解决方法是将pdf_document 改为pdf_document: default。不幸的是,我在官方文档中找不到此语法的参考。但是,如果您在最新版本的 RStudio 中打开 RMarkdown 文档,请单击 Knit HTML,然后单击 Knit PDF,它使用此 : default 语法。

    语法是:

    ---
    output:
      html_document:
        keep_md: yes
      pdf_document: default
    ---
    

    【讨论】:

    • 这只是yaml的一个限制——输出需要是一个命名列表,不能创建一个没有内容的命名元素
    • 是的,没错。我无法在 rmarkdown 文档中找到 default 关键字的参考或示例。
    • 谢谢,我发现一直在找这个。我不觉得 knitr 标题这么直观。
    • keep_md 的标志不再是“yes”而是“true”。 (所以:keep_md: true)。请参阅文档:bookdown.org/yihui/rmarkdown/html-document.html
    【解决方案2】:

    在我的例子中,我尝试使用 bookdown 编织多个输出文档,发现 this post 可以让我得到想要的结果。

    您可以在 YAML 标头中编写输出定义,如下所示:

    ---
    output:
      bookdown::pdf_document2:
        template: "path-to-my-template"
      bookdown::word_document2:
        default
    knit: (function(inputFile, encoding){
      rmarkdown::render(inputFile, encoding = encoding,
      output_dir = "my-output-path", output_format = "all") })
    ---
    

    【讨论】:

      猜你喜欢
      • 2017-11-24
      • 2018-01-24
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 2015-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多