0%

Markdown 中关于字间距的研究与总结

一直以来都是用 Markdown 来书写技术文档,Markdown 这东西是老外发明的,对于中文并没有太多的说明。最开始接触 Markdown 时并没有关注太多的语法规则,现在看以前的 Markdown 文档,格式太混乱,经过这几年的接触和学习,这里总结一份自用的规范指南,主要是介绍空格以及换行的使用场景。

文件名规则

一开始写 Markdown 文档时肯定会创建本地文件,对于文件名网上很多文章推荐使用全英文,并且使用“-”连字符作为分隔符,而且文件名中不能出现空格。但是我在写 Hexo 博客的时候养成的习惯是使用标题作为文件名,这样很方便我日后查询,但这种习惯跟官方推荐的大相径庭,不过按照标题的命名方式确实存在一些问题,例如带有中文、空格的链接使得 Gitalk 不能正常工作,不利于 SEO 等。为了解决中文文件名的问题,后来发现 Hexo 有 hexo-abbrlink 这个插件,这个插件会根据标题算出一个唯一标识,这样不仅可以让文章的网址唯一,也解决了标题中文、空格的问题。

空格的使用

其实 Markdown 的英文规范大家在学习英文的过程中都有所了解,主要是的中文、英文、数字混排时的间距问题,大家可以查看一下网上的博客,风格迥异,甚至相同的场景间距也不一致。我在最开始写 Markdown 的时候也是这样随意空格,因为那个时候都不知道混排需要注意间距。在后来不断的写作中发现了混排需要注意间距的问题,这里整理一下自己在写作中需要注意间距的场景。

1. 中文与英文

这种场景很常见,因为写技术文档很多名词都是英文,如果将其翻译成中文会别扭。中文与英文最明显的区别在于中文的最小单位是字,而英文的最小单位是词,如果中文和英文组成的部分都是由词组成的,那么中文和英文之间添加空格很正常。但是如果某些场景下某个词是由中文和英文组成的,那么中间是否需要添加空格呢?这个问题我查阅过很多资料,没有发现一个绝对有说服力的规范,感觉这种就像个人喜好一样,两者都是合理的。不过后来我去 Apple 的官网查阅了一些说明文档,Apple 这样的大公司对于中英文的空格规范是一律添加空格,即使对于 APP 的命名上也是如此,例如“查找 iPhone”,另外我也去查阅了阿里云的官网,发现中英文的间距风格并不统一,有的有空格,有的没有,当然国内的 APP 命名却很同意,中英文之间不添加空格,例如“BOSS直聘”、“Metro大都会”。综上所述是否添加空格我个人的看法是如果是中英文组成的名词或者品牌可以选择不加,因为本身就是一个整体,加了之后有种割裂感,但是中英文组成的句子还是要加上空格的。

错误示范:

1
这段代码使用Java语言编写的。

正确示范:

1
这段代码使用 Java 语言编写的。

2. 中文与数字

中文与数字的组合一般常见在时间的表达以及计量单位上面,这方面通过网上查阅资料得出的结论是可以添加空格,也可以不添加,但是风格必须统一。但如果数字后面其实是与英文组成的名词,这种场景还是需要添加空格的。我个人的偏好是不添加空格,因为整体上来说添加空格的场景能少则少,这样也方便我们记忆,否则很容易混淆。

错误示范:

1
我买了一部64GB版本的 iPhone XR。

正确示范:

1
2
3
4
5
我买了一部 64GB 版本的 iPhone XR。

在2020年1月10号我买了2台电脑。

在 2020 年 1 月 10 号我买了 2 台电脑。

3. 英文与数字

数字与英文的场景基本上也是计量单位上面,如果数字后面紧跟的英文是大写英文名词,则不需要添加空格,如果后面紧跟的英文是词组,这种情况下是需要添加空格的。

错误示范:

1
我的手机容量有64 GB。

正确示范:

1
我的手机容量有64GB。

4. 中文与符号

中文与符号很容易碰到一起,例如逗号、句号、感叹号等,这些符号与中文在一起的时候不需要添加空格,但需要注意的是这些符号需要使用全角的符号,不要弄成了半角符号。

5. 英文与符号

在写中文文档的时候,如果英文前面或者后面是标点符号,这种场景也不必添加空格。

错误示范:

1
我买了一台最新款的 Mac Pro 。

正确示范

1
我买了一台最新款的 Mac Pro。

空行的使用

这里的换行主要指的是 Markdown 中各大标记之间是否需要添加空行,就像代码中函数之间是否需要空行一样,主要是提升观感。这部分网上也没有查到具体的说明,我个人的喜好是如果标记之间需要添加换行符,例如标题符号与段落之间,代码块与段落之间等。但有一种场景除外,那就是列表,因为它们本身就是一体的。

参考链接

如果觉得我的文章对您有用,请查看广告(Google Ads)或扫码。您的支持将鼓励我继续创作!