我正在使用 Knitr、Markdown 和 Slidify 撰写演示文稿。幻灯片将部分处理 Knitr 作为主题,这就是我偶然发现一个问题的原因。例如,我不能包含一个 knitr-markdown 块以在幻灯片上显示它。即使我做了这样的事情,它总是会在第一次运行时被解释:
```
```{r eval = F, include = T}
```
```
如何防止一个块被解释并从最终输出中删除,以便我可以在使用 Markdown 和 Knitr 时显示一个块的结构?
编辑:
我尝试了@Ramnath 的版本,并制作了以下幻灯片:
## Testslide 1
```{r verbatimchunk, verbatim = TRUE}
x = 1 + 1
x
```
```{r regularchunk}
x = 1 + 1
x
```
---
## Testslide 2
```{r verbatimchunk_2, verbatim = TRUE}
x = 1 + 1
x
```
* element 1
* element 2
---
## Testslide 3
* element 1
* element 2
```{r verbatimchunk_3, verbatim = TRUE}
x = 1 + 1
x
```
前两张幻灯片工作正常,但最后一张是问题所在。如果在逐字块之前有一个项目符号列表,它会像往常一样被解释。所以它与@Scott 的第一个解决方案相同。我不明白这个。
编辑 2/3(工作解决方案)
```{r echo = FALSE}
require(knitr)
hook_source_def = knit_hooks$get('source')
knit_hooks$set(source = function(x, options){
if (!is.null(options$verbatim) && options$verbatim){
opts = gsub(",\\s*verbatim\\s*=\\s*TRUE\\s*", "", options$params.src)
bef = sprintf('\n\n ```{r %s}\n', opts, "\n")
stringr::str_c(bef, paste(knitr:::indent_block(x, " "), collapse = '\n'), "\n ```\n")
} else {
hook_source_def(x, options)
}
})
```
## Testslide
* Element one
* Element two
Some text here breaks list environment:
```{r verbatim = T}
any code
```