【发布时间】:2021-10-03 17:15:57
【问题描述】:
以 PDF 格式显示代码可能会很长,并且会分散一些读者或客户的注意力,但如果他们想要复制代码或验证我所做的事情,我会将其作为 HTML 版本中的一个选项。根据与我一起工作的人,我可能会共享一个或另一个(或两者),但我想避免每次都更改 Rmd 脚本来生成它们。
因此,我希望能够以某种方式将我的 R Markdown 脚本编写为 HTML 和 PDF,以便 HTML 输出可以显示代码(在 output: html_document 选项中使用 code_folding),但防止代码从出现在我的 PDF 输出中。
有没有办法做到这一点,而无需每次都重新编写部分脚本?
以 R Markdown 文本为例:
---
title: "Title"
output:
pdf_document:
df_print: kable
html_document:
code_folding: show
df_print: paged
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## R Markdown
```{r mtcars}
# I want to make this code visible when I knit to HTML, but hidden when I knit to PDF.
# How do I do that?
mtcars[1:2, 1:4]
```
它会在编织时显示mtcars 块。
我可以在设置块中将knitr::opts_chunk$set(echo = TRUE) 更改为knitr::opts_chunk$set(echo = FALSE),以防止代码显示在 PDF 输出中,但代码也会在 HTML 输出中消失。
code_folding: hide 可以隐藏html_document 输出选项的代码,并允许读者在必要时查看代码。但是,code_folding: hide 不适用于 pdf_document 输出选项。有没有我可以使用的替代品?
【问题讨论】:
标签: html r pdf output r-markdown