在Markdown中创建两个空行

373
我正在为我的CMS编辑器添加Markdown支持。
在编写Markdown内容时,如何创建两个空行?
我一直在尝试,但始终只得到一行。

我投票关闭此问题,因为它应该放在http://webapps.stackexchange.com/上。 - Factor Mystic
62
我正在一个非网页应用程序中使用Markdown,因此我会反对。 - stone
4
@FactorMystic 这个问题是关于Markdown而不是CMS。Markdown不是一个Web应用程序,它是一种格式化语言。 - Andrew S
17个回答

360

如果您的Markdown编译器支持HTML,您可以在Markdown源代码中添加<br/><br/>标签。


32
嗯,是的,但我想知道是否只能使用Markdown语法。 - Miguel Moura
1
Markdown将多个空白行视为一个空白行,您可以使用pre标签来包含空白行。由于pre块内的Markdown不会被解析,因此我更倾向于不这样做,而是添加尽可能多的<br>标签。 - vmx
29
如果我希望文本在裸文的状态下也能够美观,这些标签似乎会破坏我的文档。 - Kyle Delaney
2
这个答案似乎无法与输出到PDF(通过xelatex)一起使用。 - Alex Roberts
下面有关在行末使用\然后换行的答案似乎比这个答案更好,因为它们仅使用Markdown语法并保持文档易读。它似乎不能与所有Markdown库一起使用,但它应该比迄今为止获得的关注更多。 - Alex Roberts
<br> 不需要带斜杠,只需返回翻译后的文本即可。 - qoomon

238

我在很多Markdown实现上进行了测试。非打断空格ASCII字符&nbsp;(后跟一个空行)会生成一个空行。重复这对组合即可完成工作。到目前为止,我还没有失败过。

例如:

 

 

你好

 

 

世界!

 

 


13
很遗憾,在 Bitbucket Wiki 中,Markdown 不支持此功能。 - Antony Hatchkins
1
@david 我在 Daring Fireball 的 'Dingus' 页面上尝试了这个,使用 <code> 块,但是用 反引号 时,它会被渲染为  ,而在 HTML 中,它是 &amp;nbsp; - user3290525
我需要在TFS/VSTS的一个markdown文件中的两个表格之间添加一个空格,这个方法很有效。谢谢! - Steve L.
这在Django模板中与markdown-deux一起使用。谢谢! - Encompass
使用R Markdown pdf输出对我有用。谢谢。对于空白页,如果您在代码块内部,请使用cat("\n\n\\pagebreak\n")。如果在代码块外,请查看此帖子。https://dev59.com/H18e5IYBdhLWcg3w6N2W - Nova
显示剩余3条评论

77

我只知道以下选项。将它们全部列出并注明它们之间的差异会很棒。

# RAW
## Creates 2 Lines that CAN be selected as text
## -------------------------------------------------
### The non-breaking space ASCII character
&nbsp;
&nbsp;

### HTML <(br)/> tag
<br />
<br />

## Creates 2 Lines that CANNOT be selected as text
## -------------------------------------------------
### HTML Entity &NewLine;
&NewLine;
&NewLine;

### Backticks with a space inside followed by two spaces
`(space)`(space)(space)
`(space)`(space)(space)
#### sample:
` `  
` `

# End

3
适应我,它会生成一个空的<p></p>标签。 - Galley
4
今天我在HTML和Word中都成功地使用了&Newline; ,这正是我现在所需要的 :-) - Mike M
最佳答案是使用反引号!谢谢! - quinton-ashley

26

在支持数学公式输出的Markdown版本中,以下格式应该能够在单独一行工作,并且在前后都有空行(如果需要多行则重复此步骤):

$~$

基本上这是一个只包含单个方程-空格的等式。好处在于,在同时支持PDF和HTML输出选项的Markdown版本(包括Rmarkdown)中,无论输出类型如何,它都应该被理解得相同,而我不确定PDF输出如何解释 <br> 或 &nbsp;


这个解决方案在Reveal.js中对我有效(更好的分级解决方案没有起作用)。 - Adrien Pacifico

24

基本上,如果你使用的库符合CommonMark标准,可以轻松添加多个硬换行(<br />)。以下是来自CommonMark最新规范(0.28)的引用:

在非代码跨度或HTML标记中,前面有两个或多个空格并且不在块的末尾出现的换行符会被解析为硬换行(在HTML中呈现为
标签)

然后...

为了更明显的替代方式,可以在行结尾之前使用反斜杠代替两个空格

规范非常清晰。然而,我一直在使用的库MarkDig与使用两个空格的技术不太兼容(可能是BUG),但是它可以完美地使用反斜杠。

话虽如此,这个输入...

Line one\
\
\
\
Line two

在"Line one"之后会产生四个硬换行。您可以在此处查看(使用反斜杠)...

https://babelmark.github.io/?text=Line+one%5C%0A%5C%0A%5C%0A%5C%0ALine+two%0A

请注意,所有符合CommonMark标准的实现都将正确处理它。


对我非常有效,谢谢。\ 生成了一个 <br> - Yacine Rouizi
1
在使用“\”字符时的另一个好处是:我的编辑器删除额外空格的设置不会破坏 MD 文档 :) - Gonen

13
您可以使用 <br/><br/> 或者 &nbsp;&nbsp; 或者 \ \ 来换行。

如果你在代码中创建它,添加一个新行字符(\n) -> 例如:<br/><br/>\n - undefined

12

你可以完美地使用这个:

texttextexttexttext
&nbsp;
&nbsp;
texttexttexttexttext

许多建议适用于某些 Markdown 的格式,但不适用于 Github Markdown。但是这个建议甚至在 Github Markdown 中也适用。 - user697473
这同样适用于 Bitbucket Markdown。 - deepdive

10
在GitHub的Wiki markdown中,我使用了井号#后面加上两个空格来使得换行更大。实际上它并没有多个换行符,但对于我的需求来说它起到了很好的作用。
而不是:
text
(space)(space)
more text

我做了:

text
(hash mark)(space)(space)
more text

1
被低估的答案! - quinton-ashley

9

反引号中间加一个空格,并在其后面加上两个空格。如需更多行,请重复此操作:

text1 text1
`(space)`(space)(space)
`(space)`(space)(space)
text2 text2

在Markdown源代码中,它看起来还不错:

text1 text1
` `  
` `  
text2 text2

虽然这个解决方案可行,但在某些 Markdown 格式(如 Github)中,空格会显示为实际字符。 - Bobby Axe

7
&nbsp;<br>
&nbsp;<br>
&nbsp;<br>

新的,三行空白。祝好运。


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