R Markdown Различные параметры эха для разных типов вывода - PullRequest
1 голос
/ 13 февраля 2020

В R Markdown, есть ли способ изменить параметр echo для разных типов вывода?

В приведенном ниже примере я хотел бы показать свой код на выходе html_document (echo = TRUE), но хотел бы скрыть код на выходе word_document (echo = FALSE).

В настоящее время у меня есть глобальная опция для определения knitr::opts_chunk$set(echo = TRUE) в моем первом фрагменте кода, которая, кажется, требуется для опции html_document code_folding в заголовке YAML, но это также показывает код в word_document выход. Если я уберу эту глобальную опцию, я увижу тот же результат. Есть ли способ определить параметр echo в заголовке YAML для каждого из типов вывода (word_document против html_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)
```

Ответы [ 2 ]

2 голосов
/ 13 февраля 2020

Вы можете использовать функцию 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())
```
1 голос
/ 13 февраля 2020

В качестве альтернативы ответа Gilean0709 , мы можем использовать строку, которая возвращается при вызове knitr::opts_knit$get("rmarkdown.pandoc.to"). Этот подход взят из этого ответа .

---
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")
```
...