如何解决编织/渲染 R Markdown 输出:我可以阻止代码在 PDF 输出中显示但允许在 HTML 输出中折叠代码吗?
以 PDF 格式显示代码可能会很长并且会分散某些读者或客户的注意力,但是如果他们想要复制它或验证我所做的事情,我会将其作为 HTML 版本中的一个选项。根据我的合作对象,我可能会共享一个(或两个),但我想避免每次都更改 Rmd 脚本来生成它们。
因此,我希望能够以某种方式将我的 R Markdown 脚本编织为 HTML 和 PDF,以便 HTML 输出可以显示代码(在 code_folding
选项中使用 output: html_document
),但是防止代码出现在我的 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
输出选项。有没有我可以使用的替代方案?
解决方法
也许在 is_html_output
和 eval
中使用 echo
---
title: "Title"
output:
html_document:
code_folding: show
df_print: paged
pdf_document:
df_print: kable
---
```{r setup,include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## R Markdown
```{r mtcars,eval = knitr::is_html_output(),echo = knitr::is_html_output()}
# 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]
```
-输出html
-输出pdf
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。