防止在R Markdown/knitr输出中包含简短注释

Zoë*_*ark 4 markdown r rstudio knitr

是否有可能获得代码块tidy,同时单独留下评论?

假设我想在一个函数的某些注释中放入ASCII艺术,我可以设置tidy = F但是其余的代码块是"杂乱的",如下面的输出:

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

如果我设置tidy = T然后短评论全部包装在一起,我得到以下输出:

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

我想看到的是以下输出:

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

Zoë*_*ark 6

正如评论中所建议的,我会回答我自己的问题.

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

所以使用代码块

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

会给我想要的输出:

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