首页 > 代码库 > 程序员需要的中文排版指南

程序员需要的中文排版指南

之前有不少人在我公众号留言,说看我的排版很舒服,求指导。

我不是一个专业的写字人,我是程序员出身,在写代码的时候有点小洁癖,尽量会把每个细节做到更好,所以我在公众号写作的时候一样会注重每个细节,我认为排版是对写作最基本的要求,所以当我决定要在公众号写作的时候,就非常在意排版,并且一直在改进,

可惜的是,我看到无数不管是写博客还是写公众号的作者,从不会注意自己的排版,有时候看到一篇好的文章,如果排版很烂,会觉得很可惜。

公众号「小道消息」的作者 Fenng 曾不止一次强调排版的重要性,对此我也非常认同,任何说不拘小节,注重内容就行了的反驳都是借口,我自己在我的小密圈中也一直强调排版的重要性,很多圈友发布的动态无一排版都太烂,为此,我在小密圈中写下了这么一篇排版指南,真心希望所有的写字人都能注意下自己的排版。

这篇文章适用于所有编辑、作家、撰稿人、公众号作者、博主等,甚至适合所有人,因为人的一生难免避免不了写作。

1. 空格

我每次看到网页上的中文字和英文、数字、符号挤在一起,就会坐立不安,忍不住想在他们之间加个空格。

「有研究显示,打字的时候不喜欢在中文和英文之间加空格的人,感情路都走得很辛苦,有七成的比例会在 34 岁的时候跟自己不爱的人结婚,而其余三成的人最后只能把遗产留给自己的猫。毕竟爱情跟书写都需要适时地留白。」

  • 中英文之间需要加空格

eg. 大家可以搜索公众号 AndroidDeveloper 或者 googdev 关注我。

  • 中文与数字之间需要加空格

eg. 不知不觉,我都快 30 岁了。

  • 数字与单位之间需要加空格

eg. 我有一块 20 TB 的硬盘,鬼知道我是怎么用完的。

  • 完整的英文整句时标点与单词之间需要加空格

eg. Stay hungry, stay foolish.

但是也有一些例外。

  • 度的标志、百分号不加空格

eg. 今天气温有 30° 的高温。
eg. 据统计,关注公众号 AndroidDeveloper 的读者中有 80% 是长得好看的。

  • 全角标点与其他字符之间不加空格

eg. 大家好,我是 stormzhang,请多多关照。

2. 标点

说到标点,不得不说下全角和半角,很多人可能不了解全角和半角的概念,这里顺便介绍下。

全角和半角是英文和中文的编码规范不同遗留下的问题,简单来说,全角占两个字节,半角占一个字节,你可以理解成中文汉字是全角,英文字母是半角,不过半角全角主要是针对标点符号来说的,中文标点占两个字节,英文标点占一个字节。体现在排版上的差异就是,全角字符屏幕打印宽度是两个,而半角字符屏幕打印宽度是一个,如中文逗号和英文逗号他们的显示分别是「,」和「,」。

  • 使用全角中文标点

中文排版中所有的标点都应该使用中文全角中文标点

eg. 大家好,我是 stormzhang。

  • 遇到英文整句、特殊名词时使用半角标点。

eg. 乔布斯说过:「Stay hungry, stay foolish.」
eg. Facebook, Inc.

  • 使用直角引号

我国国家标准要求弯引号,但是个人建议在新媒体排版时使用直角引号。

eg. 你竟然不知道「帅比张」?

如果引号再使用引号使用直角双引号。

eg. 我质问他,「你难道忘记『帅比张』了么?」

3. 其他

除以上之外,还有一些其他标准推荐大家使用的。

  • 英文名词首字母尽量大写

eg. Google、Android、Facebook

  • 专有名词使用正确的大小写

eg. GitHub、iOS、iPhone 6s、MacBook Pro

  • 首行不要缩进

这点可能有人不同意,但是我要在这里解释下,在说明之前我们必须弄明白「首行缩进」的目的是什么。

「每段之前空两格」是我们从小学写作文就养成的习惯,也是正式文体的格式要求,其目的是为了区分自然段。

但是像我们现在接触的阅读,都是没有固定的格式要求的,如微信公众号、电子文档等,所以大家一般都采用「空出一行」进行自然段与自然段之间的区分,这种写作方式非常省事,而且很整齐。

所以,我认为这种应该是最科学的方式,只要没有明确的格式要求,写作的排版无须首行缩进。

最后,你可能会问,以上这些原则是业界标准么?我不敢保证,但是你不妨看下 「Apple 中国官网」、「Microsoft 中国官网」、公众号「小道消息」、「MacTalk」等的排版,基本都是使用以上排版标准。

参考:

https://zhuanlan.zhihu.com/p/20506092

https://github.com/mzlogin/chinese-copywriting-guidelines

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

    程序员需要的中文排版指南