r语言 - 块选项类.输出在错误消息上不起作用



我正在为一门课程准备教程,我想将错误的颜色更改为红色。我正在使用BookDown和gitbook作为我的输出格式。但是我发现选项class.output不起作用。我想在收到的错误消息的输出中添加一个类。我该怎么做?您可以以此为例:

---
title: "Test Book"
author: "therimalaya"
site: bookdown::bookdown_site
output: bookdown::gitbook
---
# Hello World
```{r, error = TRUE, class.output="red"}
rnorm(-10)
```

如果没有错误,这有效。

class.output不适用于

错误(请参阅此处(。
在这个答案之后,我建议你使用一个错误钩子:

```{r error-hook, echo=FALSE}
knitr::knit_hooks$set(error = function(x, options) {
  paste0(
    "```{", 
    ifelse(is.null(options$class.error), 
           "", 
           paste0(" .", gsub(" ", " .", options$class.error))
    ),
    "}n",
    x,
    "n```"
  )
})
```

现在,您可以在区块中使用"新"class.error选项。

```{r, error = TRUE, class.error="red"}
rnorm(-10)
```

请随时在此处打开功能请求。

使用自定义CSS类处理错误,警告和消息的功能刚刚添加到knitr中,因此您将能够使用以下语法。

```{r error = TRUE, class.error = "bg-danger text-danger"}
rnorm(-10)
```

在这里,我使用的是引导类,但您可以传递需要class.error的任何类。块选项class.messageclass.warning也有效。请注意,class.output仅适用于标准代码输出。

相关内容

最新更新