Good good study, day day up

aleung的学习笔记, aleung的idea

几条基础排版规则,让文档显得专业

虽然我不是处女座的,但在有些事情上会表现得比较处女座,例如对于文档格式,我常会跟各种细节纠缠不休,为的是看起来显得完美一些。

作为软件开发者,写文档是必备的技能,而且文档里常常会出现大量英文。这里介绍一些很基本的规则,使得文档的显得专业一些。这些规则在其他类型的文章里也是适用的。

规则

用段落,不要强制换行

在我看来,禁止使用强制换行,是没有特例的(我们不写诗歌)。在必须保留原始换行的地方,应该作为 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, DTDD 标签,不属于基本的 markdown 格式,有些引擎会支持。

总结

保证各种元素的一致性。关注内容的层次结构,段落或文字的语义属性,而不是显示效果。显示效果由样式来控制。