如何在Markdown中将三重反引号渲染为内联代码块?

时间:2015-10-19 22:01:03

标签: github markdown backticks

我正在使用Markdown在GitHub上编写关于Markdown的教程,我想编写```但是像this一样呈现为内联代码块。

3 个答案:

答案 0 :(得分:12)

Syntax Rules对此非常清楚:

  

要在代码范围内包含文字反引号字符,您可以使用   多个反对作为开始和结束分隔符:

``There is a literal backtick (`) here.``
     

将产生这个:

<p><code>There is a literal backtick (`) here.</code></p>
     

围绕代码跨度的反引号分隔符可能包含空格 -   一个在开幕后,一个在结束前。这允许你放置   代码范围开头或结尾的文字反引号字符:

A single backtick in a code span: `` ` ``

A backtick-delimited string in a code span: `` `foo` ``
     

将产生:

<p>A single backtick in a code span: <code>`</code></p>

<p>A backtick-delimited string in a code span: <code>`foo`</code></p>

规则没有提到的一件事,但在参考实现中工作的是,开始和结束反引号分隔符只需要与代码范围中的反引号数量不同。因此,如果你在代码范围内有两个或更多连续反引号,那么你可以用一个反引号分隔打开,一个反引号来关闭代码范围。诀窍在于代码跨度以反引号开始或结束时使用空格(如上所述)。

事实上,many implementations是正确的:

foo ` ``` ` bar

变为

<p>foo <code>```</code> bar</p>

显然(正如评论中所指出的),一些实现特别要求分隔符中的反引号数量更大(不仅仅是不同),而不是codespan中的反引号数量。将其与空格规则放在一起,这应该适用于most implementations

foo ```` ``` ```` bar

但是,如果两种方法都不适用于您正在使用的Markdown实现,我建议您向该实现的开发人员提交错误。与此同时,您可以使用原始HTML强制它工作:

foo <code>```</code> bar

变为

<p>foo <code>```</code> bar</p>

答案 1 :(得分:5)

Waylan's answer向我指出了正确的方向:

  

开启和关闭反引号分隔符只需要与代码范围内的反引号数不同

所以我发现使用 4个反引号作为开启和关闭的分隔符可以解决问题:

所以,这个: ```` ``` ````

呈现为:```

答案 2 :(得分:0)

查看this page,看起来可以通过在每个三重反引号前加`r ''`来为RMarkdown / Knitr呈现元代码(块代码)。

因此,在您的RMarkdown文档中,您可能希望最终呈现如何设置代码块的示例,您可以键入以下内容(注意4空格缩进以将其呈现为代码):

    `r ''````{r mychunk, echo=TRUE, eval=TRUE}
    1+1
    `r ''````

,输出为

```{r mychunk, echo=TRUE, eval=TRUE}
1+1
```

在您的文档中(PDF,HTML等)。注意它没有运行,只是打印出来。