代码之家  ›  专栏  ›  技术社区  ›  Mark

将标记代码块添加到R标记文档

  •  2
  • Mark  · 技术社区  · 7 年前

    `**this is bold**` will render 'this is bold' with bold text, i.e. **this is bold**
    

    这样做很好,`以代码形式呈现其中的文本。但是,我不知道如何正确显示代码块。例如

    ```{markdown, eval=FALSE}
      ```{r}
      x = rnorm(1)
      ```
    ```
    

    这不起作用,因为markdown不是受支持的语言。我不能将r代码块括在`中,因为我需要那个符号来标记代码块的开头,它只能内联工作。

    我可以用R来跳一些篮球

    ```{r, echo="FALSE"}
    o = "```{r}\nx=sample(1)\n```\n"
    cat(o)
    ```
    

    它呈现为

    ## ```{r}
    ## x=sample(1)
    ## ```
    

    但这对我编写文档来说更复杂,它生成的代码不允许简单的复制/粘贴。

    是否有一种本机方式将创建R代码块所需的标记呈现为代码?

    3 回复  |  直到 7 年前
        1
  •  4
  •   Mark    7 年前

    我找到了关于Rmarkdown的bookdown书籍,其中有通过Rmarkdown呈现R代码块的示例。书的来源可以在GitHub上找到,相关章节位于 here

    下面的块可以根据需要工作。我无法解释为什么在块的开头需要'r',但它是。

    ````markdown
    `r ''````{r}
    x = sample(1)
    ```
    ````
    
        2
  •  1
  •   user2554330    7 年前

    如果你不把 {r} 在三次倒勾之后,rmarkdown将把块传递给markdown,它几乎可以工作。比如说这个,

    ```
      ```{r}
      x = rnorm(1)
      ```
    ```
    

    显示为

    screenshot

    这不太正确;周围的支架 r 已被删除。(我认为是r-markdown做的,不是markdown。)我不知道是否有强迫他们加入的选项,但如果在前面有一个非字母,他们就会出现 R "\u200B" .

        3
  •  1
  •   Michael Harper    7 年前

    钩子 包,它添加了chunk选项 chunk_head 使我们能够保留标题。该软件包正在开发中 GitHub here

    要安装软件包,请使用以下命令 devtools::install_github("nathaneastwood/knitrhooks") . 安装后,可以通过加载包然后调用函数来使用chunk钩子 chunk_head() 在你的头上。

    ---
    title: "Untitled"
    output: pdf_document
    ---
    
    ```{r, include = FALSE}
    library(knitrhooks)
    chunk_head()
    ```
    
    
    ```{r, chunk_head = TRUE, echo = TRUE}
    x <- sample(1)
    ```
    

    enter image description here

    不幸的是,这不会显示语法突出显示,但如中所述 this issue ,这是如何限制的 克尼特