在Rmarkdown中的纯文本块之前换行并将行号放在前面吗?

时间:2018-10-11 06:14:28

标签: r-markdown bookdown

假设我的.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输出。

我的问题是,如何将这两种方法结合在一起,以便可以同时具有行号和换行符?

0 个答案:

没有答案