假设我的.Rmd中有一个纯文本块:
```
bruin@gen8u / $ dmesg|tail -5
[228393.788541] device lo entered promiscuous mode
[228393.817048] device eno2 entered promiscuous mode
[229850.184824] device lo left promiscuous mode
[229850.212337] device eno2 left promiscuous mode
[231129.765300] TCP: request_sock_TCP: Possible SYN flooding on port 3047. Sending cookies. Check SNMP counters.
```
最后一行太长,它将在PDF输出中被截断,因此我希望将其包装起来。我通过更改默认knitr
的块挂钩来找到解决方法<here>:
library(knitr)
def.chunk.hook = knit_hooks$get("chunk")
knit_hooks$set(chunk = function(x, options) {
# this hook is used only when the linewidth option is not NULL
if (!is.null(n <- options$linewidth)) {
x = knitr:::split_lines(x)
# any lines wider than n should be wrapped
if (any(nchar(x) > n))
x = strwrap(x, width = n, exdent=4)
x = paste(x, collapse = "\n")
}
def.chunk.hook(x, options)
})
...并通过添加“块头”来更改块:
```{r eval=FALSE, linewidth=40}
...
```
(顺便说一句,“块头”部分对我来说是未知的,就允许的内容或存在的可能性而言,我所做的只是尝试并出错。我阅读了《 RMarkdown参考指南》中的块部分,但它似乎总是有一个{r ...}
标头)。
但是,没有可视的迹象表明换行。因此,我想在每行换行的末尾都有一个特殊的换行符,或者在每行的开头都有行号。从<this>开始,有一种方法可以使用块头文件{#numCode .R .numberLines}
在每行之前放置行号,该头文件适用于html和pdf输出。
我的问题是,如何将这两种方法结合在一起,以便可以同时具有行号和换行符?