中文排版规范:标点、空格、引号与数字的实用规则

中文排版规范:标点、空格、引号与数字的实用规则

中文排版常被当成审美问题,其实八成是几类固定规则:中英文之间的空格、标点全半角、引号与括号的嵌套、数字与单位。规则统一之后,页面看起来就「像样」了,跟字体和配色关系不大。

下面的写法以通行的中文出版规范为依据(标点符号用法见 GB/T 15834,出版物上的数字用法见 GB/T 15835),并标出网络写作里常见的放宽做法。核心原则只有一条:同一篇文章里保持一致。

中英文之间留一个半角空格

汉字与英文单词、阿拉伯数字相邻时,中间加一个半角空格。这条规则在网页与移动端阅读里几乎是默认做法,因为它能明显降低混排的拥挤感。

三类例外不要加空格:

至于数值与单位,国际单位制的写法是留一个空格(10 GB、25 ms),这条在技术文档里比较通行;「10GB」不算错,但同一篇里不要两种混用。

标点:正文全角,代码与网址半角

中文正文用全角标点,这是硬规则。唯一需要切换的是代码、命令行、网址、文件名——这些必须保持半角,否则复制出去就跑不起来。

场景写法说明
正文句读,。;:?!全角,占一个汉字宽度
行内代码npm run build半角,代码内标点保持原样
英文句子Use it, then stop.整句英文用半角标点
引号「引文」或“引文”全文统一,不混用
省略号……六点,占两个字宽
破折号——两条,占两个字宽

半角逗号和句号混进中文段落是最常见的错误,来源通常是输入法没切回来,或者从英文文档里粘贴。它们混在中文里视觉上几乎看不出来,但会让整段的行距不均匀。

引号:选一种,然后一直用它

中文有两套常用引号:直角引号「」和弯引号“”。两者都成立,区别在场合——「」在中文排版里更清晰,嵌套时也不会和英文引号打架;“”在网页和社交媒体上更常见,输入成本低。

嵌套规则:外层「」,内层用『』;如果用弯引号,外层“”,内层‘’。三层以上就该改写句子了。

引号还有两个细节:句末标点放在引号内还是外,取决于引文是否独立成句。整句引用,句号放引号内;引文只作为句子成分,句号放引号外。不确定时,把引文改短,问题就消失了。

括号与嵌套,越少越好

中文括号用全角(),括号内的内容如果整段是英文或代码,可以用半角。括号嵌套时,外层全角、内层半角是常见做法:请先看说明(详见 docs/setup.md)。

但更实用的建议是别嵌套。一段话里出现两层括号,通常说明这句该拆成两句,或者该单独成段。括号里的信息如果重要,就给它一个句子;如果不重要,删掉。

中文排版规范:直尺与放大镜压在网格纸上的细节
排版的多数问题不是审美,是空格、全半角和符号数量

数字、范围与日期

数字用法的规则不多,但违反之后很显眼。

标题层级与编号

标题不加句号,问句可以保留问号。层级符号不要混用——「一、」和「1.」出现在同一页里,会让人以为有两套结构。

网页里还有一个额外约束:H1 只出现一次,通常由文章标题占位,正文从 H2 开始。为了让目录自动生成,H2 与 H3 之间不要跳级。小标题的写法(结论句而非名词)属于结构问题,见文章结构怎么安排。

常见错误对照表

错误写法正确写法问题
用Markdown写用 Markdown 写中英文之间缺空格
好的, 我知道了.好的,我知道了。中文句子用了半角标点
“他说:“走吧””他说:「走吧。」引号嵌套未分层
3-5天3~5 天范围符号与空格
30 %30%百分号前多余空格
等等...等等……省略号应为六点
这是一个——很重要的点这是一个很重要的点破折号滥用,句子可直说
2026.10.222026-10-22日期分隔符不规范
(详见 setup.md)(详见 setup.md)文件名应用行内代码

把规则变成设置,而不是记忆力

靠记规则不可持续,把它交给工具更省事。

  1. 输入法:中文状态下默认全角标点,需要写代码时临时切英文。多数输入法可以设置「中文时使用英文标点」,写代码多的人可以常开,写完再统一替换。
  2. 编辑器检查:支持中文文案检查的 lint 工具能自动标出中英文空格、全半角混用、重复标点,接入编辑器后保存即提示。
  3. 批量替换要谨慎:全局把半角逗号换成全角,会连代码块和网址一起改坏。替换前先限定范围,替换后抽查代码段。
  4. 发布前通读一遍:工具查不出的问题(引号嵌套、破折号滥用)只能靠读。

Markdown 的语法符号必须保持半角,这一条和正文标点规则相反,容易搞混。写之前先把语法过一遍:Markdown 语法入门。

发布前五分钟检查

← 返回首页 更多「排版规范」