【问题标题】:R Markdown Different Echo Options for Different Output TypesR Markdown 不同输出类型的不同回声选项
【发布时间】:2020-02-13 15:13:16
【问题描述】:

在 R Markdown 中,有没有办法为不同的输出类型更改 echo 选项?

在下面的示例中,我想在 html_document 输出 (echo = TRUE) 上显示我的代码,但想在 word_document 输出 (echo = FALSE) 上隐藏代码。

目前,我有在我的第一个代码块中定义 knitr::opts_chunk$set(echo = TRUE) 的全局选项,这似乎是 YAML 标头中的 html_document code_folding 选项所必需的,但这也显示了 @987654329 中的代码@ 输出。如果我删除这个全局选项,我会看到相同的结果。有没有办法在 YAML 标头中定义每个输出类型下的 echo 选项(word_documenthtml_document)?

感谢您对此的帮助。

---
title: "test2"
author: "Carina"
date: "February 13, 2020"
output:
  word_document: default
  html_document: 
    code_folding: show

---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

【问题讨论】:

    标签: r r-markdown


    【解决方案1】:

    您可以使用函数is_html_output() 来检查您的输出是否为html,并在您的第一个块中使用它:

    ---
    title: "test2"
    author: "Carina"
    date: "February 13, 2020"
    output:
      word_document: default
      html_document: 
        code_folding: show
    
    ---
    
    ```{r setup, include=FALSE}
    knitr::opts_chunk$set(echo = knitr::is_html_output())
    ```
    

    【讨论】:

      【解决方案2】:

      除了Gilean0709's answer,我们可以使用调用knitr::opts_knit$get("rmarkdown.pandoc.to")返回的字符串。此方法取自this answer

      ---
      title: "test2"
      author: "Carina"
      date: "February 13, 2020"
      output:
        html_document:
          code_folding: show
        pdf_document: default
        word_document: default
      ---
      
      ```{r setup, include=FALSE}
      knitr::opts_chunk$set(echo = knitr::opts_knit$get("rmarkdown.pandoc.to") == "html")
      ```
      

      【讨论】:

        猜你喜欢
        • 2017-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-24
        • 1970-01-01
        • 2019-05-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多