Markdown缩进控制
前言
这其实是一个很久之前就遇到的问题,不过最近找到了一个比较好的解决方案。
在学习Markdown的时候,了解到Markdown更适合不太注重格式排版的文章,并没有仔细研究过这方面的问题。
最近写笔记的时候,就遇到要写数学性质的解题过程,出于美观考虑必然要严格控制排版格式,正好前后用到了两种方式。
先简单说明一下问题吧:
\qquad 作为一个程序员,已经习惯了用Tab符号控制缩进,在Markdown中:
\qquad\qquad
使用Tab符号不能控制缩进,实在是有点不适应。
\qquad\qquad
直接打出多个空格,只会显示一个空格。
\qquad\qquad
用转义符号 
、
打出多个空格之后,无意义的空格字符仍会明显地被选中。
\qquad 那么该如何在Markdown中控制缩进呢?
下面提供四种解决方案,只能说各有优缺点(本解决方案主要针对CSDN-Markdown编辑器)
Tips:
-
在Typora编辑器中,非源代码模式下,使用Tab键可以直接控制缩进,并且导出的PDF可以被正常显示、选中和复制
-
在Typora编辑器中,使用方案一、方案二导出的PDF可以被正常显示、选中和复制
-
在Typora编辑器中,无法使用方案三中的自定义列表(CSDN-Markdown特有)
-
方案一、方案二都不能控制块级元素(代码块、引用块等)的缩进
-
考虑到CSDN-Markdown可能会做一些Markdown文档的页面渲染作出调整,以下方案至少适用于2021年3月19日及以前
方案一:利用LaTeX空格符缩进
方案一
使用LaTeX的空格符\qquad
、\quad
、\;
、\,
控制缩进
示例md代码如下:
小标题
$\qquad$① 条件1
$\qquad\qquad$ 1° 子条件1
$\qquad\qquad$ 2° 子条件2
$\qquad$② 条件2
$\qquad\qquad$ 1° 子条件1
$\qquad\qquad$ 2° 子条件2
示例效果如下:
小标题
\qquad
① 条件1
\qquad\qquad
1° 子条件1
\qquad\qquad
2° 子条件2
\qquad
② 条件2
\qquad\qquad
1° 子条件1
\qquad\qquad
2° 子条件2
缺点:
\qquad
① 在CSDN博客显示时,选中复制会把空格符代码给复制出来
\qquad
② 公式结束符$
后紧跟数字将导致公式无法渲染(Typora编辑器不会,CSDN-Markdown可以将公式结束符后$
紧跟的数字套上<font></font>
)
优点:
\qquad
选中时,不会明显看到空格符号被选中
适用场景:
\qquad
面向观赏的博文,可能会被多次选中,但不会被复制内容(更适合我这样希望选中无空格的强迫症)
方案二:利用html空格符缩进
方案二
使用Html的空格符
、 
控制缩进。
示例md代码如下:
小标题
  ① 条件1
    1° 子条件1
    2° 子条件2
  ② 条件2
    1° 子条件1
    2° 子条件2
示例效果如下:
小标题
① 条件1
1° 子条件1
2° 子条件2
② 条件2
1° 子条件1
2° 子条件2
缺点:
选中时,可以明显看到空格符号被选中
优点:
在CSDN博客显示时,选中复制不会像LaTeX一样把空格符代码给复制出来,而只会复制出简单的空格符号,粘贴后清除方便
适用场景:
面向复制的博文,可能会被多次复制,不过粘贴后改起来不麻烦,选中起来明显发现空格
方案三:利用列表控制缩进
方案三
- 使用Markdown的列表控制缩进。
示例md代码如下:
无序列表标题
- ① 条件1
- 1° 子条件1
- 2° 子条件2
- ② 条件2
- 1° 子条件1
- 2° 子条件2
- > 可以缩进引用块
有序列表标题
1. 条件1
1. 子条件1
2. 子条件2
2. 条件2
1. 子条件1
2. 子条件2
3. > 可以缩进引用块
**自定义列表标题**
: **① 条件1**
: 1° 子条件1
: 2° 子条件2
: **② 条件2**
: 1° 子条件1
: 2° 子条件2
: > 可以缩进引用块
: > 可以缩进引用块
示例效果如下:
无序列表标题
- ① 条件1
- 1° 子条件1
- 2° 子条件2
- ② 条件2
- 1° 子条件1
- 2° 子条件2
-
可以缩进引用块
有序列表标题
- 条件1
- 子条件1
- 子条件2
- 条件2
- 子条件1
- 子条件2
-
可以缩进引用块
-
自定义列表标题
-
-
① 条件1
- 1° 子条件1
- 2° 子条件2
-
-
② 条件2
- 1° 子条件1
- 2° 子条件2
-
可以缩进引用块
-
可以缩进引用块
缺点:
- ① 无序列表和有序列表的表项缩进时会产生表项的标志
- ② 无序列表和有序列表的表项的标志无法赋予颜色
- ③ 无序列表嵌套有序列表时,两种列表的表项的标志缩进长度从视觉效果上看不同(Typora编辑器两种长度差不多)
- ④ 有序列表嵌套无序列表时,会显示为有序列表嵌套有序列表(Typora编辑器不会)
- ⑤ 自定义列表的标题也会被缩进,并且在使用CSDN-Markdown编辑器编辑时预览的显示中标题会被默认加粗,但在发布后文章的显示中标题并没有被加粗
- ⑥ 不能控制一次缩进的长度,而且下一级缩进必须依靠嵌套列表来实现
优点:
- ① 用有序列表和无序列表体现,表项的标志便于区分不同的表项
- ② 真实的缩进,不会被选中,选中复制粘贴后也不会出现不相干的字符
- ③ 可以缩进
<blockquote>
标签生成的引用块
适用场景:
觉得列表缩进样式还行、不需要任意缩进长度的博文
方案四:利用<figure>标签控制缩进
方案四
示例md代码如下:
小标题
<figure>
① 条件1
<figure>
1° 子条件1
<br/>
2° 子条件2
</figure>
② 条件2
<figure>
1° 子条件1
<br/>
2° 子条件2
</figure>
<figure>
<blockquote>可以缩进引用块</blockquote>
</figure>
<blockquote>可以缩进引用块</blockquote>
</figure>
<figure>
<figure>
可以不依赖上一级缩进,直接实现多级缩进
</figure>
</figure>
示例效果如下:
小标题
缺点:
<br/>
标签
② 段内不能正常解析markdown语法,只能解析html语法
③ 开闭标签,层级嵌套,编写麻烦,略显冗长
优点:
<blockquote>
标签生成的引用块
② 可以不依赖上一级缩进(上一级缩进内容可以为空),直接实现多级缩进
适用场景:
\qquad
更在乎markdown文本展示效果、而不在乎markdown文本编辑麻烦的人
更多推荐
所有评论(0)