如何在 knitr::spin 中输出文字反引号
How to output literal backticks in knitr::spin
我正在尝试在 R Studio 中为 knitr::spin
文档创建一些片段模板,我需要它们包含文字反引号,以便生成的文档包含 R 片段:
所需输出示例:
#' ---
#' author: 'ENTER'
#' title: 'ENTER'
#' date: '`r Sys.time()`'
#' output:
#' html_document
#' ---
但是,我不知道如何输出反引号。这个:
`r paste("#' date: '`Sys.time()`')`
当从 R Studio 片段渲染到 R 代码时,刻度线会中断粘贴命令,因此将不起作用。我一直在尝试散列刻度线,添加正斜杠和反斜杠等,但还没有找到将此行正确呈现为的解决方案:
#' date: '`r Sys.time()`'
Windows 7 企业版,64 位操作系统
R 版本:3.2.5
R Studio 版本:0.99.903
针织版本:1.14
示例:我试过了,但它仍然翻译 R 代码而不是仅仅打印文本:
snippet spin.header
`r paste("#' ---")`
`r paste("#' author: 'ENTER'")`
`r paste("#' title: 'ENTER'")`
`r paste("#' date: '<code>``` `r Sys.time()` ```</code>'")`
`r paste("#' output:")`
`r paste("#' html_document")`
`r paste("#' ---")`
一个选项是中断内联 R 的片段处理期间使用的标记。
snippet sh
#' ---
#' author: '${1:AUTHOR}'
#' title: '${2:TITLE}'
#' date: '`${3:}r Sys.time()`'
#' output:
#' html_document
#' ---
[=10=]
另一种选择是完全避免内联 R 解析。
snippet sh
`r paste0(readLines("~/.R/snippets/spinheader.txt"),collapse = '\n')`
spinheader.txt
#' ---
#' author: '${1:AUTHOR}'
#' title: '${2:TITLE}'
#' date: '`r Sys.time()`'
#' output:
#' html_document
#' ---
[=12=]
正确答案由 rawr
发布在评论中(他只漏掉了 r 和一个勾号):
snippet spin.header
`r paste("#' ---")`
`r paste("#' author: 'ENTER'")`
`r paste("#' title: 'ENTER'")`
`r paste("#\' date: '\x60r Sys.time()\x60'")`
`r paste("#' output:")`
`r paste("#' html_document")`
`r paste("#' ---")`
我正在尝试在 R Studio 中为 knitr::spin
文档创建一些片段模板,我需要它们包含文字反引号,以便生成的文档包含 R 片段:
所需输出示例:
#' ---
#' author: 'ENTER'
#' title: 'ENTER'
#' date: '`r Sys.time()`'
#' output:
#' html_document
#' ---
但是,我不知道如何输出反引号。这个:
`r paste("#' date: '`Sys.time()`')`
当从 R Studio 片段渲染到 R 代码时,刻度线会中断粘贴命令,因此将不起作用。我一直在尝试散列刻度线,添加正斜杠和反斜杠等,但还没有找到将此行正确呈现为的解决方案:
#' date: '`r Sys.time()`'
Windows 7 企业版,64 位操作系统
R 版本:3.2.5
R Studio 版本:0.99.903
针织版本:1.14
示例:我试过了,但它仍然翻译 R 代码而不是仅仅打印文本:
snippet spin.header
`r paste("#' ---")`
`r paste("#' author: 'ENTER'")`
`r paste("#' title: 'ENTER'")`
`r paste("#' date: '<code>``` `r Sys.time()` ```</code>'")`
`r paste("#' output:")`
`r paste("#' html_document")`
`r paste("#' ---")`
一个选项是中断内联 R 的片段处理期间使用的标记。
snippet sh
#' ---
#' author: '${1:AUTHOR}'
#' title: '${2:TITLE}'
#' date: '`${3:}r Sys.time()`'
#' output:
#' html_document
#' ---
[=10=]
另一种选择是完全避免内联 R 解析。
snippet sh
`r paste0(readLines("~/.R/snippets/spinheader.txt"),collapse = '\n')`
spinheader.txt
#' ---
#' author: '${1:AUTHOR}'
#' title: '${2:TITLE}'
#' date: '`r Sys.time()`'
#' output:
#' html_document
#' ---
[=12=]
正确答案由 rawr
发布在评论中(他只漏掉了 r 和一个勾号):
snippet spin.header
`r paste("#' ---")`
`r paste("#' author: 'ENTER'")`
`r paste("#' title: 'ENTER'")`
`r paste("#\' date: '\x60r Sys.time()\x60'")`
`r paste("#' output:")`
`r paste("#' html_document")`
`r paste("#' ---")`