大部分困惑,都是把一条规则用错了地方。撇号从来不能让缩写变成复数。所有格是另一件事,它有自己的形式。

三处修改几乎能处理所有情况。一次搜索就能确认结果,比重读一遍草稿更省时间。

第一步:先管复数,再管所有格

复数写成 VPNs,不加撇号,也不加空格。三条隧道、两个配置文件和一整队网关都是 VPNs。同一条规则也适用于其他缩写,所以即使写作者说不清规则,这个模式看起来也眼熟。

撇号属于所有格。VPN's 表示属于某一个 VPN,比如单条隧道的网关。复数所有格把撇号放在 s 之后,而这种形式罕见得多,通常改写句子读起来更顺。

读一遍句子,问清谁拥有什么。如果答案是一条隧道,撇号就在起作用。如果答案是一个数量,撇号就是错的。它让复数看起来像所有格,读者只好停下来核对。

出错的代价不是语法上的难堪。读者在计数清单里看到 VPN's,就得判断你指的是一个隧道还是好几个,而这个判断会打断句子。

第二步:只展开一次,而且只在读者需要时

完整术语是虚拟专用网络,复数是虚拟专用网络(VPNs)。如果读者可能不熟悉这个术语,就在首次使用时展开,之后全文使用缩写。

这由读者决定。Google 开发者文档关于缩写的指南把熟悉程度当作标准,而不是普遍要求;写给网络工程师的配置说明,与写给初学者的指南是两类读者。

在每个章节重复展开是一种毛病,不是礼貌。它让文字变长,也说明写作者不信任上一段。

第三步:说清对象,而不是缩写

一份写“三个 VPNs”的文档,通常指三种情况之一。可能是同一台笔记本上保存的三个配置文件、三个网关端点,或三条活动连接。这些是对象不同、排查步骤也不同的东西,而缩写把差别盖住了。

对象重要时就写出对象:保存的配置叫 VPN 配置文件,端点叫 VPN 网关,活动隧道叫 VPN 连接。文字长了一个词,少了一处误解。

# list every mention, with counts, before editing
grep -o -E "VPN'?s?'?|VPN network" article.md | sort | uniq -c

# find the redundant expansion
grep -n -i -E 'virtual private network[s]? \(VPNs?\)' article.md

VPN network 也属于同一步。展开本身已经以网络结尾,这个短语只是重复了刚刚拆开的词。它看得懂,也多余,读者可能一时怀疑是不是在说第二个部件。

专业读者不会因为你把术语在第四段展开而感谢你。普通读者也不会原谅第一段里没有它。把展开放在一次、放在前面,然后继续。

改完之后是什么样

复数不带撇号。撇号只用于所有格。只展开一次,放在读者需要的位置。在缩写会掩盖对象的地方,用具体名词。

这些修改都不改变事实。合在一起,它们去掉了细心读者放慢速度的三处地方。

相关文章