我想写几行文本,它们应该以正常格式排版,除了每行应该从第6列开始。也就是说,我不想让代码块格式规则将此文本块视为代码,因为我将使用其他格式,例如粗体等。在Markdown中如何实现这一点?
我想写几行文本,它们应该以正常格式排版,除了每行应该从第6列开始。也就是说,我不想让代码块格式规则将此文本块视为代码,因为我将使用其他格式,例如粗体等。在Markdown中如何实现这一点?
Markdown本身没有提供这样的功能。但是Markdown允许嵌入HTML,因此可以这样写:
This will appear with six space characters in front of it
将产生:
这将在其前面加上六个空格字符
如果您可以控制页面上的CSS,您也可以使用标签并对其进行样式设置,无论是内联还是使用CSS规则。
无论哪种方式,Markdown 都不是用于布局的工具,它的作用是简化编写网络内容的过程,因此,如果您发现自己需要使用 Markdown 的特性来实现所需功能,您可以考虑是否正在使用正确的工具。请查看 Gruber 的文档:
 
(Unicode:\2002),它们不会显示为源代码中的 
,只有在呈现文件时才会显示。只需在操作系统上找到插入该字符的快捷键即可。 - vaughan
(Unicode U+00A0)字面字符。而具有良好不可见字符支持的代码编辑器(如 TextMate)将显示普通空格为淡色子弹,非断空格为更粗的子弹(但仍比文本颜色淡)。← 我认为具有良好不可见字符支持的编辑器对于 Markdown 特别重要,特别是因为 MD 的两个空格结尾= <br/>
语法。 - Slipp D. Thompson 
非常适合简单而直接的缩进。不会改变样式/字体,仅仅产生缩进效果。 - Green 
更接近于制表符。 - dimmech其中一种方法是使用项目符号,这可以让你指定多个缩进级别。通过使用两个空格、星号和另一个空格来插入项目符号,例如:
this is a normal line of text
* this is the first level of bullet points, made up of <space><space>*<space>
* this is more indented, composed of <space><space><space><space>*<space>
这种方法的优点在于在查看原始文本时也很有意义。
如果您不想看到项目符号本身,则可以(取决于您使用 markdown 的位置)将 li {list-style-type: none;}
添加到整个 markdown 区域的 css 中。
看看这个“>”是否有帮助:
Line 1
> line 2
>> line 3
> >
(中间有空格) 可以在 pandoc (v2.11.0.4) 中用于缩进文本块,尽管它最初是为引用而设计的。 - arash这是一个旧的讨论串,但我认为Markdown的块引用符('> ')最适合此情况:
请使用硬空格(不间断空格)
为什么要使用另一种标记语言?(我同意上面@c z的观点)。
Markdown的一个目标是使文档即使在纯文本编辑器中也易读。
代码
Sample code
5th position in an really ugly code
5th position in a clear an readable code
Again using non-breaking spaces :)
结果
示例代码
极丑的代码中的第五个位置
清晰易读的代码中的第五个位置
再次使用不间断空格 :)
不间断空格(或硬空格)的可视化表示通常是普通空格 " ",但其 Unicode 表示是 U+00A0。
普通空格的 Unicode 表示为 U+0020(在 ASCII 表中为 32)。
因此,虽然可视化表示相同,但文本处理器可能会有所不同。
| OS | Input method |
|-----------| ----------------------------------|
| macOS | OPTION+SPACE (ALT+SPACE) |
| Linux | Compose Space Space or AltGr+Space|
| Windows | Alt+0+1+6+0 |
Some text editor use Ctrl+Shift+Space.
一些文本编辑器在复制粘贴操作中可以将硬空格转换为普通空格,因此要小心。
在进行内容输入时,需先键入Tab键,然后添加加号符号和空格,最后加入您要显示的内容。
例如:
* 一级标题
+ 二级标题缩进
+
符号:[tab键][空格]你要输入的文本内容
。 - roblogic以非断行空格开头的一行存在的问题之一是,如果您的行足够长以至于需要换行,那么当它溢出到第二行时,溢出行的第一个字符将从左侧开始而不是在上面的第一个字符下方开始。
如果您的系统允许您在Markdown中混合使用HTML,则可以通过以下方式轻松获得缩进:
<ul>
My indented text goes here, and it can be long and wrap if you like.
And you can have multiple lines if you want.
</ul>
在你的HTML中,从语义上讲,这是没有意义的(一个没有任何LI项的UL部分),但是我使用过的所有浏览器都会愉快地缩进这些标签之间的内容。
>
完全相同,但没有成为引用(在Github上测试过)。 这正是我要找的。谢谢! - Emilio-
、*
或+
开头 - 没有列表起始标记,就没有符号。您的情况可能会有所不同。 - Jinlye 
进行硬编码只是一个问题多多的选择,我真不敢相信有人会建议这样做。 - eric我认为在这种情况下使用   更加简洁。
如果你想在段落开头设置一个确定的空格,可以使用数学环境,例如:
$\qquad$ 我的文本行...
这个方法对我很有效,希望对你也有帮助。
正如@AlexDupuy在评论中指出的那样,可以使用定义列表来实现此目的。
虽然不是所有的markdown处理器都支持,但是这种方法已经被广泛采用:Markdown指南-定义列表
Term 1
: definition 1
: definition 2
Term 2
: definition 1
: definition 2
渲染为(html):
<dl>
<dt>Term 1</dt>
<dd>definition 1</dd>
<dd>definition 2</dd>
<dt>Term 2</dt>
<dd>definition 1</dd>
<dd>definition 2</dd>
</dl>
通常DT
以标题格式呈现,每个DD
则以缩进文本的形式呈现在其下方。
如果您不想要标题/术语,请使用不间断空格代替定义术语:
: This is the text that I want indented. All text on the same line as the preceding colon will be included in this definition.
: If you include a second definition you'll get a new line; potentially separated by a space. <br />Some inline HTML may be supported within this too, allowing you to create new lines without spaces.
: Support for other markdown syntax varies; e.g. we can add a bullet list, but each one's wrapped in a separate definition term, so the spacing may be out.
: - item 1
: - item 2
: - item 3
你可以通过将上面的示例复制粘贴到此网站上来查看其效果:Stack Edit Markdown编辑器