停止R Markdown在代码和输出之间添加中断

时间:2016-06-28 16:32:15

标签: r markdown r-markdown github-flavored-markdown

我正在使用以下.rmd代码从R Markdown创建HTML页面:

---
title: 'TITLE'
author: "NAME"
date: "DATE"
output: 
  html_document: 
    keep_md: yes
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r}
(n1 <- nrow(perf))  # Save the number of rows in 'perf'
(m1 <- ncol(perf))  # Save the number of columns in 'perf'
```

当我编织我的页面时,它会以单独的块返回我的代码和输出,但我希望它们都包含在我的.md中的一个块中。结果如下:

Screen shot of .md output

但是,我希望各部分之间的空格消失,代码和输出都包含在一个部分中。这可能吗?

我打算把它放在GitHub上,所以无论如何都要为GitHub特定的降价做这项工作会有所帮助(我知道这不是我当前配置的.md,但这是我的下一步)。

2 个答案:

答案 0 :(得分:3)

非常简单,在.rmd文件中的代码块规范中包含规范collapse = TRUE

```{r, collapse = TRUE}
(n1 <- nrow(perf))  # Save the number of rows in 'perf'
(m1 <- ncol(perf))  # Save the number of columns in 'perf'
```

答案 1 :(得分:0)

我有两种可能的解决方案:

<强> 1。将每个源代码块与以下输出块组合

您可以尝试在RMarkdown脚本中添加以下JavaScript块:

<script>
$chunks = $('pre.r');
$chunks.each(function() {
    if ($(this).next().is('pre:not(r)')) {
        var newc = '<br>' + $(this).next('pre').children('code').html();
        var oldc = $(this).children('code').html();
        $(this).children('code').html(oldc.concat(newc));
        $(this).next('pre').remove();
    }
})
</script>

enter image description here

<强> 2。将属于一个R-chunk的所有内容放入一个框

或者,如果您想在一个框中同时拥有属于同一个RMarkdown块的所有 html块,请尝试

<script>
$chunks = $('pre.r');
$chunks.each(function() {
    while($(this).next().is('pre')) {
        var newc = '<br>' + $(this).next('pre').children('code').html();
        var oldc = $(this).children('code').html();
        $(this).children('code').html(oldc.concat(newc));
        $(this).next('pre').remove();
    }
})
</script>

enter image description here