拒绝不规范的标点符号排版
我觉得只要学过数学的人,都可能因为 1–2 写成 1~2 还是 1-2 而纠结过。(前两种表示1到2都是对的)
大部分的人并不在乎这些细节问题,因为他们不需要如此严谨的排版。
比如我们发消息的时候,用 ...
或者 ……
,甚至 。。。
表示省略号,不会影响正常的沟通。
不过好消息是,他们无法欣赏到优雅的排版艺术。
下表是本文中提到的字符在 MacOS 中的输入方式。
本人是 MacOS 英文输入法+百度中文输入法,后者的设置和传统的输入法基本一致
本人是 MacOS 英文输入法+百度中文输入法,后者的设置和传统的输入法基本一致
一、引号和各种「撇」
1. 引号的弯与直
双引号 “”
(U+201C 和 U+201D Left/Right Double Quotation Mark)
单引号 ‘’
(U+2018 和 U+2019 Left/Right Single Quotation Mark)
直双引号 ""
(U+0022 Quotation Mark)
直单引号 ''
(U+0027 Apostrophe)
然而在英文输入法中,我们输入的一般是直引号,并且键盘上并没有弯引号键。
这种违反直觉的安排实际上是打字机时代的遗产:
为了节省空间、减少机械结构,打字机的键位安排思路是「能少一个是一个」
而现代键盘则为了迁就习惯而将其原封不动地继承了下来。
在排版中使用直引号常常也被嘲讽地称为「呆(dumb)引号」等)被认为是一种偷懒或业余的行为。
macOS 和 iOS 作为一家设计导向的公司的产品,显然不会「放任」这种审美上的瑕疵,默认情况下所有的直引号都会被自动纠正为成对的弯引号。以 Word 为代表的多数排版软件也会这么做。但对于工作内容涉及代码编辑的用户来说,这种替换显然会造成困扰(代码中的引号几乎都是直引号)。因此,建议关闭引号的自动纠正功能(多数软件的「编辑」>「替换」菜单下),而使用组合键来输入引号:左侧的双引号和单引号分别是 Option +
[
和 Option +]
,而对应的右侧引号则只要分别加按 Shift 键。iOS 的键盘默认输入的已经是弯引号,直引号可以通过长按获得。
在百度输入法中,只需要切换到中文,按 shift + 引号键 就可以打出弯引号了。
貌似中文的弯引号和英文的弯引号是通用的。不过中文引号还有直角引号的用法
直角单层引号(相当于双引号)「」
(U+300C 和 U+300D Corner Brackets)
直角双层引号(相当于单引号)『』
(U+300E 和 U+300F White Corner Brackets)
所以各位同学,不要用「专栏」这种方式来表示某个标签了
我建议使用【专栏】这种方式,起码比“专栏”这种方式恰当。
2. 撇号与角分符号
撇号(apostrophe)是英文中用来标示所有格(John’s apple)和省略(isn’t)的符号
其正确形态是一个右单引号,即 ’
(U+2019 Right Single Quotation Mark),需要注意避免用成直引号。
角分符号(primes)是常见于度量单位的符号,包括表示英尺、分钟等的角分 ′
(U+2032 Prime)和表示英寸、秒数等的角秒 ″
(U+2033 Double Prime)。
这组符号在 macOS 和 iOS 上都没有快捷的输入方法;不少西文字体也没有包含它们,正确输入很多时候反而会带来不佳的排版效果。
因此有观点认为,除了在用到时调用符号面板输入,用直引号来代替也是可接受的妥协方案,并且可以开启斜体来更好地模仿原符号的倾斜。(但注意不要用弯引号,因为角分符号的形态无论如何不可能是弯曲的。)
在 LaTeX 中好像也没有很好的表示方法,给出两种方案吧
109^\circ 28^\prime 16^{\prime \prime}
109\unicode{x00B0} 28^\unicode{x2032} 16^\unicode{x2033}
效果:
我觉得第一种已经足够了。
二、各种横线
1. 连字符、连接号和破折号
另一组误用频率不亚于引号的符号,大概就是包括连字符、连接号和破折号在内的各种「横线」形符号了。
它们一方面数量繁多且形态相近,另一方面在中英文中的形态和用途并不完全对应,从而更容易产生误认。
我们从短到长介绍每个符号
连字符 -
(U+2010 Hyphen-Minus),就是最容易输入的那个。
但与多数人的直觉不同,连字符在大多数时候并不需要手动输入:它的主要用途是将较长的西文单词断成两行,而这通常是由软件自动加在行尾的。需要手打连字符的场景基本只有在多个部分组成的名称或词汇内部,例如 Rolls-Royce、whack-a-mole,等等。
那为什么我们会觉得连字符是一个高频符号呢?这是因为它经常被当作更长一些的连接号(dash)用了。
连接号 –
(U+2013 En Dash)和 —
(U+2014 Em Dash)
它们的名字来源于活字印刷术语 —— em是金属活字的垂直长度,en 则是前者的一半。
连接号在英文中的用途非常广泛。
先看较短的 en dash。各种数字(pages 1–10)、日期(Tuesday–Thursday)、年份(1949–2018)、地名(a Beijing–Shanghai train)之间都是用它来连接。它也用在一些由两个人共同提出的理论、概念中(Herfindahl–Hirschman index)。
至于较长的 em dash,它在英文中的作用很像中文的破折号,用于句中的插入语前后(类似逗号)、引出补充说明或列举(类似冒号)、标示中断或间隔等。
而中文中的破折号 ——
,通常是两个 U+2014 Em Dash,百度输入法是 shift + 减号键(中文下)。
但是这种方式,如果字体设置不正确,会产生中间断开的视觉效果。
因此有时会使用占两个汉字空间的 ⸺
(U+2E3A Two-Em Dash)
缺点显然就是不方便输入,我都不知道这个字符怎么打出来,只会 HTML 写法或者复制粘贴。
<p>⸺</p>
在 Markdown 中插入则需要写成 ⸺
效果:⸺
2. 圆圈型句号和全角句号
在中文中,除了最常见的圆圈形句号 。
(U+3002 Ideographic Full Stop)
还有与英文句号形态接近的全角句点.
(U+FF0E Fullwidth Full Stop)充当句号的做法。
通常这是为了避免和数字 0、字母 o 等「圆圈」形字符混淆。
另外,国内参考文献标准中,作者、题名等各属性间也是使用 .
,而不是英文句号。
macOS 的中文输入法没有直接输入全角句点的组合键。
需要先按 Shift + 6 打开标点输入面板,按一下 tab 键切换到“符号”选项卡,然后向下翻找。
在百度输入法里,只需要切换到全角输入并切换到英文,按句号键就能打出来。
不过我不太喜欢全角句点,我一点都不觉得数学公式会和句号混淆,反倒有种中英文标点混用的感觉。
3. 省略号
省略号 ……
(两个U+2026 Horizontal Ellipsis),中英文应该通用。
我是按两次 option + 分号键打出来的。
有人会用两个 ⋯
(U+22EF Midline Horizontal Ellipsis)充当省略号
这实际上就是 \cdots
和 \ldots
,即 $\cdots$ 和 $\ldots$ 的差异,不过至少比三个英文句号好。
4. 间隔号
间隔号这个名字听起来或许令人有些陌生,实际上却是一个被频繁使用的标点
外文人名(史蒂夫·乔布斯)、词曲名(《天净沙·秋思》)等用的都是间隔号。
根据标准,间隔号对应的字符是 ·
(U+00B7 Middle Dot)。
但由于在形态上与其相似的符号太多,很多人在用到时会打开输入法的符号列表随手找一个
经常中枪的包括 •
(U+2022 Bullet)乃至 ●
(U+25CF Black Circle),看起来颇为古怪。
还有一些用户因为不了解间隔号的输入方法,用连字符、空格,甚至英文句号代替,这显然也是不规范的。
好消息是,一般中文输入法都把 ·
映射在了 ~
键上。
需要指出,按照国标,间隔号在形态上应该占据一个汉字的宽度。这就产生了一个和中文弯引号一样的问题:中文的间隔号没有单独的码位,在与西文混排时往往因为调用西文字体而显示为半角宽度。这个问题目前没有很好的解决方案。一些观点指出可以使用日文的
・
(U+30FB Katakana Middle Dot)来代替,但这显然存在输入难度和兼容性上的问题。
三、一些不可见符号
嗯,好像跟标题关系不大,但是都讲到这了。
1. 回车的「软」与「硬」
将回车键说成是「符号」似乎有些奇怪,但如果打开 Word 敲一下回车,你将能看到一个浅蓝色的段落标记,并且可以选中、移动和删除,这就是它符号身份的证明。回车不仅被程序当作符号看待,而且有一个专门的码位(U+000D Carriage Return)。当然,它确实具有区别于普通符号的特殊身份——控制字符;换句话说,其主要作用是传递某种控制功能。
与回车相关的一些疑惑也正来源于这种双重身份。例如,Word 文档打开项目编号时,按下回车就会让段落序号递增,但有时我们只是想让原来的段落新增一行;在微信中,按下键盘右下角的蓝色按键(相当于回车)就会把信息发出去,但有时我们只是想给消息分个段。在这两种情形下,软件都把回车操作理解为控制功能(新建段落或发送消息),尽管我们预期的结果更多是语义上。
那么,有没有一个不带控制性含义、纯粹表示换行的「符号」呢?
答案是肯定的,这就是所谓的「软回车」,它在 Unicode 中的身份是 U+2028 Line Separator。
软回车的输入方式不太统一,不过好在我这里用 shift + 回车键 就能按出来。
「软」「硬」回车的区别主要适用于带格式文本。
纯文本不存在「段落」的概念(只有「行」),也就无所谓「软」和「硬」。
至于比较特殊的 Markdown,连续的两个换行符对应渲染结果中的新段落
而如果想得到一个「软回车」,则要输入两个空格,然后一次回车。(当然效果也跟软件有关)
2. 空格和制表符
对于日常使用,除了最普通的空格(U+0020 Space),最好还能了解不换行空格(U+00A0 No-Break Space)的用法。如其名称所示,不换行空格最主要的作用就是禁止在其位置换行。譬如,在 10 Kg
、© 2018
这样的用例中,如果数字和单位、符号与文字之间的空格处发生断行,显然会使读者产生困惑。这时,用不换行空格就能起到将空白前后标记为一个整体的作用,强制使其位于同一行。(参考下图)
此外,在 HTML 和 TeX 等标记语言中,连续的多个普通空格会被当作一个空格看待
用不换行空格就可以绕开这种限制,获得连续的空白——这也是为什么它又被叫做「硬空格」(hard space)。
不过我一般用
或者 &mbsp;
这种 HTML 的方式来写,参考 Markdown 缩进和换行 。
最后,tab 键对应的制表符(U+0009 Horizontal Tabulation)也是一个与空格相似的字符,通常占据四个空格的位置。从名字可以看出,制表符本来是用来在打字机上制造表格效果的,但这在富文本流行的今天已经越发显得过时和简陋了。
如今 tab 键更多是被单纯用来控制段落缩进。
四、版权、商标和其他符号
常用的版权和商标符号(©
、®
、™
)在 macOS 上可以分别通过 Option + g
/r
/2
输入。
Word 的自动纠正则会将 (c)
、(r)
和 (tm)
替换为对应的符号形态。
与它们有关的常见误用有两种:
- 一是用成了中文输入法所提示的 emoji 版本;
- 二是手动输入 TM 字样,然后改成上标。
事实上,macOS 几乎为每个 Option + 字母/数字键 的组合都安排了一个特殊符号
如果再加按 Shift 键,则可以直接输入的字符还有更多,参考 Apple OS X Keyboards 和下图
不过好消息是,至少我打数学符号不用烦恼,不是么。
参考文献:
[1] https://sspai.com/post/45516
题外话:
写的我快睡着了,有啥问题请留言吧……