中文混排为什么要加空格?
更新于 2026 年 5 月
有用户问到:“为什么 Flow 输出的文字里,中文和英文、数字之间会有空格?”
简短的回答:中文和英文、数字之间确实应该有间距——这是中文排版的通用做法,不是 Flow 的独创行为。
不过这里有一个重要的区分:专业排版软件(如 InDesign、LaTeX)会自动产生这个间距,不需要手动打空格。但在微信、飞书、邮件这些纯文本环境中,没有排版引擎来自动处理,所以需要用半角空格来近似实现。
Flow 做的就是这件事——在纯文本环境中,帮你实现专业排版软件自动完成的排版效果。
以下是完整的解释和依据。
一、排版规范怎么说
W3C《中文排版需求》(CLREQ)
W3C CLREQ 是由万维网联盟(W3C)发布的中文排版标准文档。它规定:
汉字与西文字母、阿拉伯数字之间,原则上使用不多于四分之一个汉字宽的字距或空白。
注意,CLREQ 规定的是排版间距(四分之一个汉字宽),不是“打一个空格”。在专业排版软件中,这个间距由排版引擎自动生成。但在纯文本环境中(如聊天软件、邮件、网页输入框),无法精确控制间距宽度,因此普遍使用一个半角空格(U+0020)来近似实现。
专业排版怎么处理
在专业出版领域,这个间距不需要作者手动输入:
- InDesign 等排版软件——自动在中西文之间添加排版间距
- LaTeX——
xeCJK宏包自动处理中西文间距(清华大学学位论文模板 THUTHESIS 就是这么做的) - Microsoft Word——内置“自动调整中文与西文的间距”选项,默认开启
- CSS——CSS Text Level 4 定义了
text-autospace属性,2025 年 11 月起被主流浏览器支持(MDN 文档)
人民日报、新华社等出版物的中西文之间也有视觉间距,但那是排版软件的自动 kerning 效果,不是源文件中的空格字符。
纯文本环境怎么处理
在没有排版引擎的纯文本环境中(微信、飞书、短信、邮件、小红书),多个主流平台的中文风格指南要求用半角空格来实现这个间距:
二、不是国标强制要求,但也不是个人偏好
需要说清楚的是:没有任何中国国家标准(GB/T)要求作者在源文件中手动打空格。
- GB/T 15834-2011 规范的是标点符号用法,不涉及中西文间距
- GB/T 7713.1(学位论文编写规则)不涉及中西文间距
- CY/T 154-2017(中文出版物夹用英文的编辑规范)涉及间距,但指的是排版软件的渲染行为,不是要求作者打空格
但它也不是个人偏好或审美选择——中西文之间保留间距是有 W3C 国际标准、CSS 浏览器标准和多个平台风格指南支撑的排版规范。在有排版引擎的环境中由软件自动实现,在纯文本环境中用半角空格近似实现。
三、正确的加法和常见例外
空格不是机械地“在所有英文和数字两侧”都加。以下是正确的做法:
✓ 正确我用 GPT-5 写了 100 字。
✓ 正确刚买了一部 iPhone,好开心!
✓ 正确这个功能在 v2.0 版本中发布。
✗ 错误刚买了一部 iPhone ,好开心!(中文标点前不加空格)
✗ 错误访问 https://flowkeyboard .com(URL 不拆开)
例外情况
- 中文全角标点前后不加空格——“iPhone,好开心”而不是“iPhone ,好开心”。标点紧跟前面的文字。
- URL、邮箱、路径、代码不拆开——保持原始结构完整,不在内部插入空格。
- 英文内部、数字与单位保留原结构——“iPhone 15 Pro”“10 Gbps”“20 TB”保持英文世界的空格习惯。
- 品牌名尊重官方写法——如果官方写法是“豆瓣FM”或“bilibili”,不强行加空格或改大小写。
- 版本号、标准编号保持原格式——“v1.2.3”“GB/T 15834-2011”不拆开。
四、为什么 Flow 默认加空格
Flow 输入法的定位是“说话出稿”——你自然地说话,输出的是整理好的、可以直接使用的书面文字。
用户使用 Flow 输出文字的地方通常是微信、飞书、短信、邮件、小红书、网页输入框——这些都是纯文本环境,没有 InDesign、Word 那样的排版引擎来自动处理中西文间距。
Flow 做的事情,本质上是:在纯文本环境中,用半角空格帮你实现专业排版软件自动完成的排版效果。同时智能处理例外情况(标点前后不加、URL 不拆开等)。这和 Flow 的产品理念一致——让输出的文字更专业、更易读,不需要用户手动修改格式。