【问题标题】:Prevent short comments from wrapping in R Markdown/knitr output防止简短的评论包含在 R Markdown/knitr 输出中
【发布时间】:2013-07-01 08:36:58
【问题描述】:

是否有可能得到一个代码块tidyed up,同时不理会 cmets?

假设我想将 ASCII 艺术放在函数中的一些 cmets 中,我可以设置 tidy = F,但其余代码块是“混乱”的,如下面的输出所示:

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

如果我设置tidy = T,那么短的 cmets 将全部包裹在一起,我得到以下输出:

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)
}

【问题讨论】:

  • 好的。我想到了。提到here roxygen cmets (#') 在任何情况下都不会被包装。版主,我应该删除这个问题,因为我在完成我应该在发布前完成的研究后自己回答了这个问题吗?
  • 如果您想在输出中匹配图形样式,也可以考虑 txtplot 包。

标签: r markdown knitr rstudio


【解决方案1】:

按照 cmets 中的建议,我将回答我自己的问题。

如果你看一下亿辉的documentation for formatR,你可能会注意到roxygen cmets(看起来像这样:#')无论如何都不会被包裹。

所以使用代码块

```{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)
}

【讨论】:

    猜你喜欢
    • 2021-07-01
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    • 2015-06-07
    • 2020-10-23
    相关资源
    最近更新 更多