Возможно, это уже решает вашу проблему:
Существуют разные выходные крючки. Если вы немного изменили пример, который вы опубликовали, изменив обработчик ошибок вместо выходного, он работает:
error_hook <- knitr::knit_hooks$get("error")
knitr::knit_hooks$set(error = function(x, options) {
if (!is.null(n <- options$linewidth)) {
x = knitr:::split_lines(x)
if (any(nchar(x) > n)) x = strwrap(x, width = n)
x = paste(x, collapse = '\n')
}
error_hook(x, options)
})
MWE:
---
title: "example"
date: "22 January 2019"
output: pdf_document
---
```{r}
error_hook <- knitr::knit_hooks$get("error")
knitr::knit_hooks$set(error = function(x, options) {
if (!is.null(n <- options$linewidth)) {
x = knitr:::split_lines(x)
if (any(nchar(x) > n)) x = strwrap(x, width = n)
x = paste(x, collapse = '\n')
}
error_hook(x, options)
})
```
```{r, linewidth = 10, error = T}
print(iDoNotExist)
```