防止R Markdown/knitr输出中的短注释换行

4

在保留注释的情况下,是否可能对代码块进行整理

比如说,我想在函数的某些注释中放置ASCII艺术,我可以将tidy = F,但是这样代码块的其余部分就会变得"凌乱",如以下输出所示:

myfun=function(a,b){
  ##     ^_^
  ##    {o,o}
  ##    |)__)
  ##-----m-m-----
  c=sum(a,b)
  return(c) 
}

如果我设置tidy = T,则短注释都会合并在一起,并得到以下输出:
myfun = function(a, b) {
    ## ^_^ {o,o} |)__) -----m-m-----
    c = sum(a, b)
    return(c)
}

我希望看到的输出结果如下:

myfun = function(a, b) {
    ##      ^_^
    ##     {o,o} 
    ##     |)__)
    ## -----m-m-----
    c = sum(a, b)
    return(c)
}

1个回答

6

根据评论的建议,我将回答自己的问题。

如果您查看Yihui关于formatR文档,您可能会注意到roxygen注释(看起来像这样:#')在任何情况下都不会被包装。

因此,使用以下代码块:

```{r, tidy = T}
myfun=function(a,b){
  #'     ^_^
  #'    {o,o}
  #'    |)__)
  #'-----m-m-----
  c=sum(a,b)
  return(c)
}
```

将会给我想要的输出:

myfun = function(a, b) {
    #'     ^_^
    #'    {o,o}
    #'    |)__)
    #'-----m-m-----
    c = sum(a, b)
    return(c)
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接