Knitr 上的自定义语言引擎
Custom language engine on Knitr
我已经根据文档在 Knitr 上添加了自定义语言引擎。
require(knitr)
knit_engines$set(upper = function(options) {
code <- paste(options$code, collapse = "\n")
if (options$eval)
toupper(code) else code
})
当我向 Rmd 文件添加以下命令时,我可以 运行 RStudio 中的当前块。
```{upper}
Hello, **knitr** engines!
```.
你好,KNITR 引擎!
但是如果我尝试将整个文件编成 html 页,我将看不到分块代码的结果。我将在 R Markdown 选项卡上收到以下警告消息。
Warning message:
In get_engine(options$engine) :
Unknown language engine 'upper' (must be registered via knit_engines$set()).
那么我如何注册引擎以便程序稍后可以看到它?
---
title: "Untitled"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
knitr::knit_engines$set(upper = function(options) {
code <- paste(options$code, collapse = "\n")
if (options$eval)
toupper(code) else code
})
```
```{upper}
Hello, **knitr** engines!
```
我已经根据文档在 Knitr 上添加了自定义语言引擎。
require(knitr)
knit_engines$set(upper = function(options) {
code <- paste(options$code, collapse = "\n")
if (options$eval)
toupper(code) else code
})
当我向 Rmd 文件添加以下命令时,我可以 运行 RStudio 中的当前块。
```{upper}
Hello, **knitr** engines!
```.
你好,KNITR 引擎!
但是如果我尝试将整个文件编成 html 页,我将看不到分块代码的结果。我将在 R Markdown 选项卡上收到以下警告消息。
Warning message:
In get_engine(options$engine) :
Unknown language engine 'upper' (must be registered via knit_engines$set()).
那么我如何注册引擎以便程序稍后可以看到它?
---
title: "Untitled"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
knitr::knit_engines$set(upper = function(options) {
code <- paste(options$code, collapse = "\n")
if (options$eval)
toupper(code) else code
})
```
```{upper}
Hello, **knitr** engines!
```