虽然我不是处女座的,但在有些事情上会表现得比较处女座,例如对于文档格式,我常会跟各种细节纠缠不休,为的是看起来显得完美一些。
作为软件开发者,写文档是必备的技能,而且文档里常常会出现大量英文。这里介绍一些很基本的规则,使得文档的显得专业一些。这些规则在其他类型的文章里也是适用的。
规则
用段落,不要强制换行
在我看来,禁止使用强制换行,是没有特例的(我们不写诗歌)。在必须保留原始换行的地方,应该作为 preformatted text block(HTML 的 PRE
,markdown 的 4 空格缩进段落)出现。
保持一致性
保持标点、字体等元素的一致性,整篇文档看起来清晰整齐,可读性高。
在这方面常见问题有:
- 中文英文标点混用
- 写技术文章,经常会出现中文英文(西文)混合的场景。原则应该是在中文句子中使用中文标点,西文句子中使用西文标点。至于中文句子中嵌入西文引文,那么嵌入的西文内容中应该遵循西文引文这个“亚环境”的规则,用西文标点,但用来包裹嵌入内容的引号或者括号还是属于中文句子的环境,因此用中文标点。
- 简体繁体中文混用
- 这个如果不考虑海外用户,问题也不算大,对大陆读者来说,混合简体繁体阅读起来基本上没有违和感。
- 全角半角混用
- 除了中文标点外,西文字母和数字这些字符是不应该出现全角的。
- 成对的符号没有对称
- 例如引号,是区分左引号和右引号的,一般输入法会正确识别方向,但在拷贝粘贴或者插入编辑的时候要小心方向不要弄错。
空格的使用
中文标点不需要加空格。西文标点后需要加一个空格;成对的符号,开始的要在前面加空格,结束的在后面加空格。
西文单词之间要用空格分隔,这个不容易错。但是单词与数字之间也要加空格,例如“iPhone 6”。
中文与西文混排时,中文与西文之间可能要添加空格,以保证有一定间距,具体视乎显示效果而定。有人习惯一律加空格。(空格杂谈, 中西文混排)
西文大小写不要误用
强调以下的规则似乎有点小题大做,但确实还是经常会见到这样的错误。
- 句子首字母大写,句子内不应该用大写,除非下面的情况;
- 有些专有名词首字母大写的,即使用在句子中间也要保留大写;
- 全部大写的缩写,放在哪里都不能变成小写。
西文没有书名号
书名号是中文特有的。在西文中,书名用斜体表示,篇名用引号。
使用样式,不要在文字上添加格式
同样语义的文字,就应该有同样的显示效果,这也是一致性的体现。把文字变得五颜六色,再插一段超大字体,这种做法还是留在小毛孩的论坛里吧。
不要滥用强调
强调会吸引注意力,打破文档视觉结构,只应该用在真正需要的地方。满篇的强调等于没有强调。
若要突出文档架构,应该使用标题(headings)。当文章中有些整行文字需要强调时,往往是应该将它们作为小标题。
在西文中,按照强调的程度不同,一般强调用斜体,特别强调用加粗。但是,斜体只适合西文,中文不好看,在印刷中可以用楷体或者加着重号代替,不过在一般电子文档中不方便使用(在 web 上可以用 CSS 来控制),没有什么好方法,所以在中文中就没法区分一般强调和特别强调了。(大眾字型學:理想的排版強調法)
改颜色改字体大小之类的奇淫技巧不可使用。
合理使用格式
通过合理使用语义化的格式,可以达到需要的显示效果,而不用去直接指定如何显示。HTML 和 markdown 都支持以下几种格式:
- 引用 (blockquote)
- 整段文字引用自其他地方。
- Preformatted text block
- 保留原始格式,包括换行,空格等。
- 代码格式
- 用等宽字体(monospaced font)显示。要做得漂亮一点就是加上自动语法高亮渲染了。
- 定义列表 (definition list)
- 适用于一个名词,后面一段解释的场合,就像现在这段文字。也就是 key-value map 在文本中的体现。在HTML 里是
DL
,DT
和DD
标签,不属于基本的 markdown 格式,有些引擎会支持。
总结
保证各种元素的一致性。关注内容的层次结构,段落或文字的语义属性,而不是显示效果。显示效果由样式来控制。