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

How to render triple backticks as inline code block in Markdown?

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

Syntax Rules们很清楚这一点:

To include a literal backtick character within a code span, you can use multiple backticks as the opening and closing delimiters:

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

which will produce this:

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

The backtick delimiters surrounding a code span may include spaces -- one after the opening, one before the closing. This allows you to place literal backtick characters at the beginning or end of a code span:

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

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

will produce:

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

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

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

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

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

变成

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

给我指出了正确的方向:

the opening and closing backtick deliminators only need to be a different number of backticks than those in the code span

所以我发现使用 4 个反引号 作为开始和结束分隔符可以解决问题:

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

呈现为:```

查看 this page,看起来可以通过在每个三重反引号前加上 `r ''`.

来呈现 RMarkdown/Knitr 的元代码(块代码)

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

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

输出为

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

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