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

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

比如

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

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

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

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

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

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

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

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

1 Like

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

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

4 Likes

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

% 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 Like

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

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

1 Like

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

1 Like

我觉得你说的是这个

其中的名句

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

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

1 Like

术语表

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

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

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

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


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

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

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


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

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

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

1 Like

是这个没错

1 Like

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

1 Like

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

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

2 Likes

太长不看版:​应该在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 Likes

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

1 Like

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


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

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

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

1 Like

我選擇都不加空格。

1 Like

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

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

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

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

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

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

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

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

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

2 Likes