念一叨

我的排版法则

本文记录我个人发行文档时所循的法则,随时更新。

  • 要至少有两套字体(font set,而非 typeface),用作正体(normal)与意体(italic)。
  • 段首无缩进,段间有间距。
  • 行文时常会碰见“间接环境”的嵌套,如引文、专名等。

    需明确定义“间接环境”。

    • 有的文字系统的格式对嵌套层数敏感,如汉语,有的标点符号会在两种方案之间轮换。
    • 有的结构会需要在正体和意体间切换。如果准备了多套字体(谁家好人),可以按顺序轮换。
  • 多文字系统(语言)混排:
    • 不同书写系统的文本间要留空白,通常实现为 ASCII 空格;有条件的话可以精调宽度,例如 1/4 em。
      • 有的全角符号的固定侧可以不额外留空。
    • 对于不同文字系统的“间接环境”:
      • 直接内容跟随当前环境的格式。
      • 嵌套层数归零。也即,内容的标点符号层级重新计数。
      • 字体轮换保持。
      • 例:
        • 有る中国人が「《Sherlock》这剧太好看了」と言う。

        • The phrase "ありがとうございます" could be written mostly with Chinese characters as "有り難う御座います".

  • 行内文本碰见以下情况时需要应用特殊格式:

    标点符号的上位替代罢了。

    • 行内引文:
      • 中文中用直角引号(「」)括起。
        • 偶数级嵌套时用双直角引号(『』)。
      • 英文中用引号("")括起。
      • 日文中用直角引号(「」)括起。
    • 专名(即语法上和外部环境割裂,但总体可视为一个单词的):
      • 出版物
        • 中文中用书名号(《》)括起。
          • 在引文内时,用单书名号(〈〉)。
        • 英文中用双弯引号(“”)括起,并连同内容施意体。
          • 条件受限时通常实现为傻瓜双引号(")。
        • 日文中用双直角引号(『』)括起。
      • 其余所有:加下划线,施意体。
        • HTML 里通常通过给 <u> 施加 CSS 样式来实现。
  • 块级特殊格式:
    • 块级引文:
      • 奇数级块级引文内字体轮换。
  • 各种横线形字符的使用规则:
    • 连字符(hyphen)(-U+002D HYPHEN-MINUS):用来分割(注意不是分隔)西文单词。
    • 范围:
      • 中文:
        • 阿拉伯数字之间用半角波浪号()。
        • 汉字之间用全角波浪号()。
      • 英文:
        • 阿拉伯数字之间用 figure dash(U+2012 FIGURE DASH)。
        • 非数字之间用 en dash(U+2013 EN DASH)。
      • 日文: 我不会,长大后再学习。
    • 破折:
      • 英文中用来 em dash(),前后不加空格。
      • 中文和日文中用两个全角破折号(——)。

        结果 Unicode 里全角破折号就是 em dash……

  • 括号的位置:
    • 句中。紧跟要注释的单词或语法成分后面。
    • 句末。在句号后。

      虽然这样看起来很像后一个句子的前置注释,但也没什么好办法了……

      • 若是词式书写文字系统,应当在结束括号后添加空格。
  • 列表:
    • 同级的列表项的格式应当统一。有以下几种选择:
      • 短语或短句组。最多只能用逗号表示分隔,不能出现句号或分号。
      • 完整句子或段落。可以以冒号结尾,以示更深一集的内容。
        • 如果父级列表项是完整句子,子级列表项不好用短语。