piapia123
zh

中文文案排版

文本

所有处理都在浏览器本地完成,数据不上传服务器

输入
把文件拖到这里可直接载入
输出

粘一段中文,自动把它排成「中英文之间有空隙、标点用全角」的样子。这个工具的难点不在规则本身,而在别改坏东西 —— 它动的是你的正文,而正文里混着 URL、邮箱、行内代码、小数与千分位数字。所以 URL、邮箱与反引号包起来的内容整段原样保留,`1,000` 与 `v1.2.3` 里的逗号和点也不会被碰。规则可以逐条开关:加空格、标点转全角、省略号默认开,直引号转中文引号默认关 —— 那一项需要配对,配错了会把正文改坏,交给你自己决定。

功能

  • 中文与英文之间、中文与数字之间分别加空格,两条可以各开关(盘古之白的规则)
  • 中文语境里的半角 , ? ! : ; 换成全角,英文句子里的标点不动
  • 数字之间的逗号与点一律不动:1,000 与 v1.2.3 永远是原样
  • URL、邮箱、反引号包起来的行内代码整段保护,里面的标点不会被换
  • 句末 URL 的尾随标点算句子的一部分,会照常转换
  • 省略号:三个以上的点或句号换成一个 ……(两个 …,共六点)
  • 直引号转中文弯引号(可选):只处理双引号,单引号与撇号不碰
  • 跑两次结果不变 —— 排版工具被反复运行是常态

使用方法

  1. 把文字粘进输入框,结果实时出现
  2. 按需要开关下面的规则,看结果怎么变
  3. 注意 URL、邮箱与反引号里的内容是不动的
  4. 点「复制」取走整理后的文本

常见问题

为什么全角标点后面不加空格?
因为全角标点的字身本来就是满格的 —— 一个 `。` 占的字宽等于一个汉字,自带左右空白,再补一个半角空格会让这一行松掉。所以 `中文。abc` 保持原样,而 `中文abc` 会变成 `中文 abc`。这一条与 pangu(盘古之白)不同:pangu 的中文范围收了全角区却没收中文标点区,于是 `中文,abc` 会加空格而 `中文。abc` 不会 —— 两个都是句读标点,行为却不一样,那是取值范围划在哪里的偶然结果。
为什么直引号转中文引号默认是关的?
因为它需要配对,而配对会猜错。工具只处理成对出现的双引号,落单的一律原样保留 —— 猜一个落单的引号该配哪一边,猜错就是把正文改坏。单引号则完全不碰:它在英文里兼作撇号,`don't` 会被配对算法改成 `don‘t`,一个出现在最不该出错的地方的错误。
为什么点号(.)不转成中文句号?
`.` 在中文正文里最常见的两种合法用法是域名与版本号(`example.com`、`v1.2.3`),它们已经在保护段里;剩下裸的 `.` 该不该换成 `。` 有争议 —— 有人用它写英文缩写(`etc.`),有人用它做列表编号(`1.`)。换了会把这两种情况一起改坏,所以这一项不做。需要的话手工改几处比工具猜错要快。
URL 里的内容真的不会被动吗?
不会。URL、邮箱、反引号包起来的行内代码都会先被划成「不可改」的区间,标点与省略号规则只在区间之外生效。唯一的例外是句末紧跟的标点:`见 https://a.com, 然后` 里的那个逗号属于句子而不属于 URL,所以它会被换成全角 —— 判断方式是先贪婪地把它吃进 URL,再从尾部把标点削掉。

相关工具