如何在Markdown中转义反斜杠和方括号 (\[)?

74

如何在GitHub的Markdown中转义“反斜杠方括号”\[ \]序列?该序列会生成一个<pre><code>...</code></pre>部分。

这只是针对GitHub的Markdown存在问题,我在这里可以不使用问题写出:

\[something \]

但是,在GitHub中编写此代码将会产生以下结果:

\ something


在使用Hugo处理Markdown文件时遇到了同样的问题;所选解决方案起作用了,幸运的是。 - GreenMatt
4个回答

51

这个问题在github.com上已经得到修复。我不确定具体修复时间,但现在你可以用一个反斜杠来转义方括号。例如:

\[Hello\]

被渲染为

[你好]


3
这是在原始的Markdown定义中,因此这是GitHub Markdown的一个弱点:https://daringfireball.net/projects/markdown/syntax#backslash - Eric O. Lebigot

37

我已经采用反引号将带括号的字符串括起来:

[[320,50],[300,250]]

这样就不会将我的数组转换成链接了。


3
好的,反引号确实可以解决问题。谢谢。 顺便说一句,我提出的问题不是如何转义括号,而是转义括号(\[)在许多Bash脚本中的使用。反引号确实可以防止GitHub Markdown尝试执行任何转换。 - Bernard
3
GitHub已通过最初的Markdown定义(https://daringfireball.net/projects/markdown/syntax#backslash)解决了这个问题,现在我们可以使用标准的`\[`和`\]`(而不是用反引号切换到代码模式)。 - Eric O. Lebigot
2
你也可以使用HTML实体数字&#91;&#93;分别表示[]。例如:&#91;320,50&#93;,但这不太易读。 - DJDaveMark

8

这个问题现在已经在GitHub上修复了,所以不再需要转义方括号。要输入[一些文本],你只需要直接输入即可:

// your markdown
[some text]

这样做有两个好处:

  1. 方括号不再与数字和超链接分开解析。
  2. 这意味着我们可以使用 \]\[ 来显示 LaTeX 数学公式,这是正确的 LaTeX 写法。($$ 不是 LaTeX 命令,不应该使用。)

您可以通过编辑 GitHub 项目的 README.md 文件来检查此功能。


5

只需写:

This is a __backslash with a square bracket__: \\\[.  

这对我在GitHub上可行。


编辑

现在问题已更新,以下是更新后的答案。
只需在开头和结尾处转义所有字符:

foo \\\[something\\\] bar 会得到 => foo \[something\] bar

在GitHub上正常工作:http://tinypic.com/view.php?pic=oh2xyp&s=6


编辑2

刚才在维基上尝试了一下...你是对的,在那里不起作用。我想这是因为类似[[foobar]]这样的结构在维基语法中具有特殊意义。
我建议你尝试这个: __\__ __[__ __something__ __\__ __]__(没有代码反引号)。
奇怪的是,它在这里不起作用,但在GitHub维基上却可以。

尽管如此,如果您认为这是一个错误,您应该像他们在这里说的那样报告它。


抱歉,但是这段代码对我仍然不起作用。我创建了一个维基页面,在其中粘贴了foo \[something\] bar,但它仍然显示添加了一个<code>块。请注意,GitHub Gist编辑器不会这样做。这只发生在维基页面上(使用GitHub风格的Markdown)。 - Bernard
我已经向GitHub报告了这个错误。感谢您提供的链接。我会为您的工作点赞,但不幸的是,答案是无法实现。 - Bernard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接