中英字符同时出现的名词如何加空格?

记得之前看过一篇文章,说的是中英混输用空格增加间距会比较好看。

比如

想试试 iPhone,但是钱包不允许。
我今天买了一台 Android 手机。

但是,遇到一些中英同时出现的词汇要怎么加空格呢?

举个例子:IP地址,这个概念看起来像是一个整体,那么 IP 和地址之间要不要加空格呢?

子网掩码必须结合 IP 地址一起使用。
子网掩码必须结合 IP 地址 一起使用。
子网掩码必须结合 IP地址 一起使用。

我在 KTV 用卡拉 OK 机 K 了 一首歌~
我在 KTV 用 卡拉OK机 K 了一首歌~
我在 KTV 用卡拉OK机 K 了一首歌~
我在KTV用卡拉OK机K了一首歌~

我瞎掰了个例子,感觉还是整体的中间不加空格好

话说高中看了一本推广让大家写字,打字都自带分词的书,自己还实行过一阵。。。。

根据那本书的观点,大概应该写成
我 在 KTV 用 卡拉OK机 K 了 一首 歌。

1 个赞

统一就好,你自己看的高兴怎么都行。

有强迫症的可以用,这个脚本:空格之神

4 个赞

加空格好看就行,但是搜索时要考虑到可能是因为没匹配空格的原因得不到结果。

% cat test.txt
我在 KTV 用卡拉 OK 机 K 了 一首歌~
我在 KTV 用 卡拉OK机 K 了一首歌~
我在 KTV 用卡拉OK机 K 了一首歌~
我在KTV用卡拉OK机K了一首歌~
我在KTVa用卡拉OK机K了一首歌~

% grep "KTV用卡" test.txt
我在KTV用卡拉OK机K了一首歌~

# 空格后跟星号表示匹配前面的空格 0 到多次
% grep "KTV *用卡" test.txt
我在 KTV 用卡拉 OK 机 K 了 一首歌~
我在 KTV 用卡拉OK机 K 了一首歌~
我在KTV用卡拉OK机K了一首歌~

1 个赞

建议按直觉不要听别人的,应用文有格式要求的除外。原则上保持一致即可。
另外我是内容样式分离派,一般在能自主决定格式的场合不加空格,这也是对于阅读方设置的尊重。非要加的话会语义优先,只标出段落内最高层级的间隔,并取消英文词组内部的间隔,根据上下文选择将宝贵的空格使用在哪里,使用 子网掩码必须结合 IP地址 一起使用。 这种样式。

选择不加空格的原因是大多数软件中空格只有一种宽度,且其他宽度的空白输入也需要自行设置输入法。用一个字符宽度的空格表示任何空白,在我看来和希望使格式更为规范是背道而驰的,类似于减号和连词符不作区分。加和不加是个人的选择,每一个中文母语者都是语言演化的参与者,很烦有人教我中英文之间应该写空格,更何况这种做法并不是某种国标。

1 个赞

哈哈你说的书是不是湖南师大彭泽润教授的,我挺喜欢他推广的词式书写的 :smile:

1 个赞

我觉得你说的是这个

其中的名句

有研究顯示,打字的時候不喜歡在中文和英文之間加空格的人,感情路都走得很辛苦,有七成的比例會在 34 歲的時候跟自己不愛的人結婚,而其餘三成的人最後只能把遺產留給自己的貓。畢竟愛情跟書寫都需要適時地留白。

不过我觉得这种做法过头了,数量词不应该做这样的拆分,比如例子里的34岁。已经融入中文的单词不应该拆分,像帖子里的IP地址、卡拉OK。而 iPhone KTV 可以拆分,是独立的单词。(事实上我自己的输入法已经把卡拉OK作为了一个完整的词条,分开打字或者打完移动光标加空格就很离谱)

1 个赞

术语表

土话 Chinese
胡话 English
词儿 Word
全宽 full-width
互联网协议地址 Internet Protocol address
互协地址 IP address
互协址 IP address

我认为, 您可以加入空格; 但, 它可以不是普通的 “空格”.

词儿会自动地为汉字与拉丁字母间加入 \displaystyle \frac14 全宽空格.

那么, 您可以学它, 加一个没那么宽的空格.


其实, 我认为, 若可能, 无妨用土话表达胡话.

譬如, 所谓 “IP 地址”, 其实就是 “互联网协议地址”.

您可叫其为 “互协地址”; 甚至, 还可叫其为 “互协址”.


想试试水果手机, 但是钱包不允许.
我今天买了一台人形机器人手机.

子网掩码必须结合互协址一起使用.

我在空电视用空乐队机唱了一首歌~

1 个赞

是这个没错

1 个赞

我也是用了浏览器的另一个插件,为什么你们就是不能加空格呢?

1 个赞

我认为绝无可能。语言和文字是学来用的,不是用来学的。IP地址已经是一个约定俗成的用法,而纯中文写法显然并不受欢迎。

虽说此词条并不见得列入规范,但是类似词条IP电话,TCP/TP协议已经成为辞海当中独立的词条。

2 个赞

太长不看版:​应该在IP前后各加一个空格,因为这里的空格只是为了好不好看,跟整体不整体毫无关系。(而且和名词也没关系,你就是夹杂了英文的动词、形容词等也是要这样加空格……)


在中西文混排时, 汉字与西文的间距要大于汉字之间的正常间距,原本是一个美观角度的要求,而非内容层面的要求。此处「西文」指拉丁字母、希腊字母、斯拉夫字母等西方语言字母,以及阿拉伯数字。

因此,最理想的状态下,即便我们不多输入任何字符,打印或屏幕显示等排版场合也能自动显示出间距的差别。在屏幕上,Word、WPS 等常用的文字处理软件的确做到了这一点,比如直接输入楼主的句子子网掩码必须结合IP地址一起使用。时,显示的效果如下:

为了对比方便,我还加了一行不带西文的句子,很明显看出IP前后在显示上是有更大间距的。

但是文字处理软件之外的场合里没有这个效果,比如在显示网页及在文本框控件里输入的时候。于是产生了各种各样的解决方案。

W3C 在 CSS Text Module Level 4 的草案里定义了text-spacing属性,并提供了ideograph-alphaideograph-numeric两个值来支持在中西文混排时增加了汉字与西文间的渲染间距,很不幸的是这个特性至今没有现代浏览器支持。即便支持了,也只是在 Web 渲染上能体现,其他的界面上仍然没有这个效果。

所以就有了折中的手打空白字符的方案,但这个方法已经是在内容上增加了不必要的字符了。

空白字符光 Unicode 里就有二十来种,根据要手输空白字符又分为了三派:

  • 效果派:因为中西文混排时最理想的空白间距是四分之一个汉字宽,所以应该用 Four-Per-Em Space(U+2005),其实我这篇回复里就都是用这个空格来分隔的。

  • 方便派:上面说的这个字符不管是电脑端还是移动端都不好输入,于是牺牲美观性,采用可以一键输入的普通空格 Space(U+0020)。好像唯一的反例是品牌词,比如一个品牌名里有汉字连着英文或数字时,为了 SEO 一般是不加空格的。

  • 折中派:既要能方便一键输入的普通空格,又要在显示上渲染成四分之一个汉字宽度……(这个方案需要魔改字体,但魔改之后普通的空格显示长度也变了,如果再在西文内部加空格很难看,所以至少就我接触的好像没什么人理它。)

线上的很多中文排版指南,都是方便派的,建议或要求直接输一个普通空格。所以就是上面「太长不看版」对楼主的问题回复了。


我个人的建议是:

  • 在 Word 里打字,不额外录入空格;

  • 在微信里聊天,不额外录入空格(微信会帮你在发出去后自动增加显示间距,惊不惊喜意不意外?);

  • 在线上输入框里打字,额外录入普通空格;

  • 自己留存用的 Markdown 文本里,找个好输的又不和普通空格混淆的自定义字符来代替这个空格,然后在渲染的时候(比如博客网页)转成 Four-Per-Em Space( ),这样既照顾了现在的美观,又兼容了未来的 CSS 方案,同时不会污染文本(自定义字符可以直接替换,不会和普通空格混用)。


参考资料


另有研究显示,喜欢毫无根据瞎掰「有研究显示」的人,感情路都走得很辛苦,有七成的比例会在 34 岁的时候跟自己不爱的人结婚,而其余三成的人最后只能把遗产留给自己的猫。毕竟爱情跟书写都不能靠瞎掰。

与大家共勉之。

2 个赞

上面的例子我都会加空格
但更头疼的是“U 盘”“T 恤”之类的词

1 个赞

目前, 因为习惯, 大家确实不会像我的例里说话. 不过, 有没有可能, 习惯也会变呢? 我也只是提供一种思路.


就像没人说 “Python” 为 “蟒蛇” 那样说 “Internet Protocol Address” 为 “互协址” 罢.

可以考虑加宽度较小的空格; 虽然, 输入它不如直接按 “空格” 那么方便.

没记错这位up好几个中文、汉字排版的视频有提到怎么样才算好空格

1 个赞

我選擇都不加空格。

1 个赞

我个人认为, 遵守各自语言的书写习惯就好.

比如英文本身, 就是单词(Word)之间需要加空格的. 所以有英文单词就加空格.

而单个字母(Letter)通常不加. 比如 T恤衫

至于中文, 本身没有加空格的规范, 不加是正常的.

不过我最近看邦德老师(一个美国人), 他写的中文文章, 很喜欢加空格.

从某种程度来说, 空格会让语义更顺畅.

比如 南京市长江大桥, 是可以有多重意思的. 南京市 长江大桥 或者 南京 市长 江大桥

当然了, 严格的规范应该是姓名下划线, 南京市长江大桥

但是网络时代, 这个跟超链接会混淆, 而且md语法并不支持下划线.

2 个赞