如何在markdown(.Rmd)中包装代码和输出

时间:2015-11-02 15:34:03

标签: r markdown knitr r-markdown

r部分的文档中,我使用长代码,如:

```{r}
output <- "very long query for example url to some website............................................."
output
```

有没有办法不让R自动包装代码,让我们说60个字符后?我尝试了tidy=TRUE, tidy.opts=list(width.cutoff=60)选项,但它不起作用。

我希望输出相同,因为我的查询输出是一些文本。我想在很多行中显示整个内容,而不仅仅是在一行中开头。我该怎么办?

2 个答案:

答案 0 :(得分:3)

自2015年以来情况发生了变化,但FWIW认为您现在正在使用rmarkdown_1.8knitr_1.20

  1. 在默认的html输出中正确处理;
  2. 如果您正在寻找pdf输出,您可以做的是

    • 打破行来控制代码块长度(如果你愿意的话) 显示它)但请注意,在字符串中将添加\n (在这种情况下,您可以从使用两个不同的代码块中受益:一个用于显示输出的另一个代码);
    • 关于输出,您可以将代码块选项results设置为'asis',以便将输出视为常规文本处理,在这种情况下您也可以使用{{1 }或paste()使用latex标签来调整文本的显示方式。
  3. 所以:

    1-显示代码

    paste0()

    2-获取输出

    {r, eval = F}
    output <- "Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
        sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
    output
    

    希望这可以提供帮助。

答案 1 :(得分:2)

我遇到了同样的问题,直到我意识到需要安装 R 包 formatR。 安装并加载此软件包后,请使用 tidy=TRUE, tidy.opts=list(width.cutoff=60) 在您的块中,或使用以下代码行全局设置它:

knitr::opts_chunk$set(tidy.opts = list(width.cutoff = 60), tidy = TRUE)