ChatGPT解决这个技术问题 Extra ChatGPT

如何在 Markdown 标记中缩进几行?

我想写几行文字。它们应该被正常格式化,除了每一行应该从第 6 列开始。即我不希望代码块格式规则使这块文本看起来像代码,因为我将使用其他格式,如粗体等。如何在 Markdown 中做到这一点?

: 呢?
使用 : 定义列表在 Markdown 实现中并不通用,但如果您的 Markdown 变体支持它,这将非常有效。你应该把它作为一个真正的答案。

S
Scott C Wilson

在 Markdown 的原生功能中没有办法做到这一点。然而markdown允许内联HTML,所以写

      This will appear with six space characters in front of it

将产生:

这将出现在它前面有六个空格字符

如果您可以控制页面上的 CSS,您还可以使用标签和样式,内联或使用 CSS 规则。

无论哪种方式,markdown 都不是用于布局的工具,它旨在简化为 Web 编写的过程,所以如果你发现自己扩展了它的功能集来做你需要的事情,你可能会看看你是否'在这里重新使用正确的工具。查看格鲁伯的文档:

http://daringfireball.net/projects/markdown/syntax#html


可以将   (Unicode: \2002) 插入到 Markdown 文件中,并且它们不会在源文件中显示为   - 仅当您呈现文件时。只需锻炼操作系统上的快捷键即可插入此字符。
块引号是执行此操作的好方法(请参阅@ChrisV 的答案)
&nbsp; (Unicode U+00A0) 文字字符可以在 macOS 上使用 <kbd>option</kbd>-<kbd>空格键</kbd> 轻松输入。并且具有良好不可见支持的代码编辑器(例如 TextMate)会将正常空格显示为暗淡的项目符号,将非中断空格显示为更粗的项目符号(但仍然比文本颜色更暗)。 ← 我认为对于 Markdown 来说,一个具有良好 invisibles viz 的编辑器是必不可少的,尤其是因为 MD 的两个空格在行尾=<br/> 语法。
&ensp; 非常适合简单明了的缩进。没有样式/字体更改,只是缩进👍
长文本中的换行不会缩进,您可能不希望在布局中使用这种缩进。调整渲染视图的大小以进行测试。此外,&emsp; 更接近标签。
S
SColvin

一种方法是使用项目符号,它允许您指定多个缩进级别。使用两个空格、星号、另一个空格的倍数插入项目符号点 例如:

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>

这种方法有一个很大的优势,即当您查看原始文本时它也很有意义。

如果您不想看到项目符号本身,您应该(取决于您使用降价的位置)能够将 li {list-style-type: none;} 添加到整个降价区域的 CSS 中。


不错的技巧,但我只想禁用 Markdown 的一部分(及其生成的 HTML)的可见项目符号,而不是全部。有没有一种干净的方法可以做到这一点?
@MengLu 我也有同样的要求。你有想过这个吗?
请记住,markdown 可以接受 HTML——它是规范的一部分。所以对于一个特定的列表,没有什么可以阻止你使用 HTML 来解决这个问题。请记住,您可以在 Markdown 中包含 HTML,但不能在 HTML 片段中包含 Markdown。
  • 你的缩进内容必须是HTML
这似乎比我接受的答案要好得多。它使您可以更精细地控制缩进文本,更不用说更具可读性和更易于维护
赞成。但是请注意,如果在 GitHub 上使用您的降价,例如在 README 中,GitHub 会阻止所有自定义 CSS,因为我和其他人已经在各个地方记录,包括我自己在此处的回答:GitHub README.md center image
i
idnavid

看看这个“>”是否有帮助:

Line 1
> line 2 
>> line 3

这是使用乳胶标记的 jupyter 笔记本中的甜蜜票
请参阅上面的评论:“错误。块引号(>)用于创建引号,而不是简单的缩进。风格完全不同”
这将文本设置为“引号”,其想法是缩进文本。
> >(中间有空格)与 pandoc (v2.11.0.4) 一起使用以在 pdf 中创建文本块。虽然它最初是为报价而设计的。
很简单,但它以某种方式起作用。
A
Abhijeet Kasurde

这是一个 old thread,但我认为 Markdown 的块引号 ('> ') 最适合这个:


如果您不需要缩进指定的数量,并且您不关心获得不同的背景颜色或可能与块引用一起出现的其他样式,这是一个很好的解决方案。最终,块引用具有语义目的,如果您实际上想将某些内容设置为引用,那么它们是最好的。
错误的。块引号 (>) 用于创建引号,而不是简单的缩进。它的风格完全不同。
e
ePi272314

请使用硬(不间断)空格

为什么要使用另一种标记语言? (我同意上面的@cz)。 Markdown 的一个目标是使文档即使在纯文本编辑器中也可以阅读。

相同的结果两种方法

编码

Sample code
&nbsp;&nbsp;&nbsp;&nbsp;5th position in an really ugly code  
    5th position in a clear an readable code  
    Again using non-breaking spaces :)

结果

示例代码在一个非常丑陋的代码中的第 5 个位置在一个清晰可读的代码中的第 5 个位置再次使用不间断空格:)

不间断空格(或硬空格)的视觉表示通常是普通空格“”,然而,它的 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.

问题

一些文本编辑器可以在复制和粘贴操作中将硬空格转换为公共空格,所以要小心。


OPTION+SPACE 激活聚光灯搜索
不能,仅当您更改了默认快捷方式时。 Spotlight 搜索字段使用 COMMAND-SPACE 触发(COMMAND 键类似于 Windows 键)。不间断空格由 OPTION-SPACE 引入(选项类似于 ALT)
在我的 Mac 上,我自己在 Option + Space 上有一个快捷方式,但 Shift + Option + Space 效果很好。
带有长句子的换行看起来很难看。
就个人而言,我同意为什么使用另一种标记语言?概念。大多数人认为他们的 Markdown 将以 HTML 格式呈现。虽然这在许多情况下都是正确的,但并非普遍正确。越来越多的非 HTML 应用程序现在能够呈现 Markdown(至少,其中一些)。对 HTML 技巧的依赖越少,对标记语言本身的依赖越多,您的页面就越有可能被普遍呈现。想象一下,带有数字墨水(并且没有网络浏览器)的电子书可能会在不久的将来呈现 Markdown;更容易解析和显示......
P
Pavan Katepalli

执行制表符,然后是 + 号,然后是空格,然后是您的内容

所以

* level one + level two tabbed


github/bitbucket markdown 支持类似的缩进规则,但没有 +: [tab][space]your-text-goes-here
N
Netferret

我会用  在我看来要干净得多。


M
Marcos Lourenço

如何使用数学环境在段落开头放置一个确定的空间,如下所示:

$\qquad$ My line of text ...

这对我有用,希望对你也有用。


J
JohnLBevan

正如@AlexDupuy 在评论中指出的那样,可以使用定义列表。

并非所有降价处理器都支持此功能,但可以广泛使用:Markdown Guide - Definition Lists

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 在其下方呈现为缩进文本。

如果您不想要标题/术语,只需使用不间断空格代替定义术语:

&nbsp;
: 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 Editor

https://i.stack.imgur.com/kxyZ4.png


J
Jinlye

用不间断空格开始行的一个问题是,如果您的行足够长可以换行,那么当它溢出到第二行时,溢出行的第一个字符开始硬左而不是从第一个字符下开始它上面的线。

如果您的系统允许您将 HTML 与 Markdown 混合使用,那么获得缩进的一种廉价而愉快的方式是这样的:

<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 中测试)。这正是我一直在寻找的。谢谢!
g
goulashsoup

令人惊讶的是,还没有人想出只将 divpadding 一起使用的想法,所以你开始吧:

<div style="padding-left: 30px;">
My text
</div>

可能是因为您将其包装在 div 中,所以默认的降价功能(如反引号和星号)在 div 内停止工作。
使用 Mdocs,可以通过设置 <div style="padding-left: 30px;" markdown="1"> 来允许 div 内的降价
w
wellplayed

如果您确实必须使用标签,并且您不介意灰色背景颜色和填充,则 <pre> 标记可能会起作用(如果支持):

<pre>
This        That        And             This
That        This        And             That    
</pre>
This        That        And             This
That        This        And             That

w
webwurst

检查您是否可以在降价中使用 HTML。也许这对你有用:

列表条目一
缩进行

还有一些..

第二个条目 子条目
你好!

子条目
你好!


为此,您只需要以两个空格结束该行。
g
geotheory

对于引用/缩进的段落,这个 hack 可能会起作用(取决于渲染引擎):

| | | |
|-|-|-|
|  | _"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."_ | |
|

呈现为:

https://i.stack.imgur.com/LtWtu.png


c
c z

直接使用不间断空格  (与 不同!)。

(您可以插入 HTML 或一些深奥的降价代码,但我可以想出更好的理由来破坏与标准降价的兼容性。)


q
quadratecode

作为一种解决方法,我建议插入竖线 (|),后跟硬空格(Windows 上的 Alt 代码:Alt+0160)。这会保留小节后的缩进,从而为原始和渲染的 Markdown 提供视觉上可接受的解决方案。

This is a normal line of text.
|    This is an indented line of text.
|        This is another indented line of text.

A
Arepo

为了回答 MengLu 和 @lifebalance 的问题以回应 SColvin 的回答(我更喜欢它提供的控件的公认答案),似乎您可以在将显示设置为无时只针对列表的父元素,添加如有必要,周围的元素。因此,如果我们假设我们正在为目录执行此操作,我们可以扩展 SColvin 的答案:

HTML

<nav class="table-of-contents">
  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>
</nav>

CSS

.table-of-contents ul {
  list-style-type: none;
}

l
lizasperling

另一种选择是使用像 StackEdit 这样的降价编辑器。它在 WYSIWYG 编辑器中将 html(或文本)转换为 markdown。您可以在编辑器中创建缩进、标题、列表,它会以 Markdown 格式显示相应的文本。然后,您可以保存、发布、共享或下载文件。您可以在 their website 上访问它 - 无需下载!


B
Bryan Butler

好的,在您的 R 代码中添加一点 HTML,我执行以下代码以在 R Markdown 中生成纯文本。 <h3 style="text-indent: 15em;"> 将文本缩进 15 个空格。对于原始问题,将 15 更改为 6。

## Option: Du Pont Ratio Concept - (ROE Decomposition)
### (Closed Quotes/Total Premium) = (Closed Quotes/Quotes Issued) X <br>
<h3 style="text-indent: 15em;">
 (Quotes Issued/Renewal Premium) X <br></h3>
<h3 style="text-indent: 15em;">
 (Renewal Premium/Total Premium)</h3>

所以生成的代码给出了我想要的输出格式。我正在为 Markdown 文档使用标签,并希望排列有效的 () 文本。

https://i.stack.imgur.com/9byW5.png


F
Franta

为了完整起见,更深的项目符号列表:

嵌套更深层次:---- 此处留空行 * 第一级 A 项目 - 子弹字符前面没有空格 * 第二级 Aa 项目 - 1 个空格就足够 * 第三级 Aaa 项目 - 最少 5 个空格 * 第二级 Ab 项目- 也可以有 4 个空格 * 第一级 B 项

嵌套更深层次:

第一级 A 项目 - 子弹字符前面没有空格 第二级 Aa 项目 - 1 个空格就足够了 第三级 Aaa 项目 - 至少 5 个空格 第二级 Ab 项目 - 4 个空格也可能

二级 Aa 项目 - 1 个空格就足够了 三级 Aaa 项目 - 5 个空格分钟

第三级 Aaa 项目 - 5 个空格分钟

二级 Ab 项目 - 也可以有 4 个空格

第一级 B 项 嵌套更深层次: ...跳过一行并缩进八个空格。 (正如编辑器帮助中所说,就在这个页面上) * 第一级 A 项目 - 子弹字符前面没有空格 * 第二级 Aa 项目 - 1 个空格就足够了 * 第三级 Aaa 项目 - 5 个空格分钟 * 第二级 Ab项目 - 也可能有 4 个空格 * 第一级 B 项目 而且可能还有更多这样的八位位组空格。


佚名

如果您正在使用项目符号,请尝试以下操作:

<ul>
  <li>Coffee</li>
  <li>Tea
    <ul>
      <li>Black tea</li>
      <li>Green tea</li>
    </ul>
  </li>
  <li>Milk</li>
</ul>

这是我在设置 markdown 样式时使用的方法。


J
Jan Kyu Peblik

在 gitlab.com 上,单个 en 空格 (U+2002) 后跟单个 em 空格 (U+2003) 效果不错。

大概其他重复或未完全解释的空格字符的组合也足够了。


n
npclaudiu

一些 Markdown 实现似乎使用 ~ 字符进行缩进。