[更新:有人指出我这里的问题不够清楚(或者太隐蔽)。所以我在问题出现的地方插入了红色的星号。]
在TeX 书,DEK 以“shelfful”为例,说明应禁止自动连字。在练习 5.1 的答案中,他建议将其写成{shelf}ful
、shelf{}ful
、shelf\/ful
或shelf{\kern0pt}ful
。
我实际上对这些解决方案都不满意,下面我会解释为什么我不满意。 我正在寻找一个更强大的替代方案。
手动抑制连字符的方法?
给出了四种解决方案TeX 书:
{shelf}ful
和shelf{}ful
— 这两种方法产生相同的结果,而且 — 正如 Knuth 指出的那样 — TeX 会在对单词进行连字符处理后自行重新插入 ff 连字符,因为该单词不包含明确的字距。这样写的单词有时会使用连字符,但这种情况并不常见,如果不使用 ,\emergencykern
和绝不在最合乎逻辑的地方。更糟糕的是,像“袖扣”这样的词连字符不正确为“cuf-flink”!shelf\/ful
— 这也有两个严重的问题。首先,这样写的单词几乎永远不能用连字符连接(像“childproofing”这样的单词可以很好地用连字符连接成“child-proofing”,但像“elflike”这样的单词无处可拆分,因为斜体校正不允许将其用连字符连接成“elf-like”。其次,音节之间的间隔太大,这一点 Knuth 也承认。shelf{\kern0pt}ful
— 这种方法的效果与斜体校正方法一样差。很少有单词可以用这种方法连字符,而且只能在最合逻辑的地方使用。
上述缺点促使我开始寻找替代方案。以下是两种我认为可以接受的解决方案,但我不知道这些是否被视为最佳实践,或者是否还有更好的方法:
shelf\-ful
— 这实际上似乎效果很好。自由连字符允许所有此类单词使用连字符,而且 — 最重要的是 — 位于最合乎逻辑的位置。事实上,像“shelfful”这样不好看的单词,如果放在行末使用连字符,看起来比放在行中间不使用连字符要好得多。shelf\discretionary{-}{}{\kern.033333em}ful
— 这是对之前形式的轻微修改,目的是在单词未连字符的情况下,在抑制连字符的组成字符之间插入 ¹⁄₃₀ em 空间。这是我目前最喜欢的解决方案。
所以这些就是我所知道的方法。但实际上,我宁愿不去想这一切,而且我很沮丧,因为 TeX 没有内置英语例外列表。就像连字符一样,我觉得计算机应该自动执行此操作。(它当然可以作为流行 TeX 发行版的一部分定期更新的外部文件。)
我找到了 TeX.SX 讨论“人们能(或多或少自动地)抑制某些单词的连字吗?”并很高兴看到人们正在努力解决这个问题。
英语连字符例外的完整列表?
我以为我能找到一个全面的例外列表,比如“shelfful”。我可能花了整整半个小时寻找。我发现有几个地方列出了 10 或 20 个单词,但没有一个地方列出了我可能看到的数百个单词。有人知道这样的列表吗?
所以昨晚我拿出一份包含 50 万个英语单词的列表,编写了一个程序来运行分析,并根据前缀、后缀和子词的相对频率生成一份疑似有问题的单词列表。这种方法效果不错,但也产生了一些误报,例如“office”(它怀疑它是由单词“off”和“ice”组成的复合词)和“beeflower”(它怀疑它是由单词“beef”和“lower”组成的复合词;它实际上是基于单词“bee”和“flower”的复合词)。
因此,我手动将结果列表从约 1,500 个候选词缩减至约 500 个词,例如:
chaffinches chaf-finches
cufflinks cuff-links
dwarflike dwarf-like
halflife half-life
offline off-line
selfish self-ish
shelfful shelf-ful
woofing woof-ing
根据人们对 -ing、-ish、-ier、-iest、-iness、-ily、-ly 等后缀的看法,列表可以进一步缩减,可能缩减到 200 个单词。考虑后缀 -ish 很重要,可以避免“selfish”和“wolfish”等词看起来像“sel-fish”和“wol-fish”(尤其是后者——因为“wolffish”也是一个词)。
无论如何,我想把我制作的列表提交给维护完整列表的人(谁?),作为回报,我想得到他们所拥有的内容的副本。我的列表感觉不错,但我确信它并不完整。例如,我刚刚注意到“shelflife”不在其中,因为它没有出现在我使用的词典文件中。
其他有趣的词语
我编写了这个程序,以便它可以识别任何可疑的字母序列 - 而不仅仅是 ff、fi、ffi、fl 和 fl - 而且我发现查看其他几个字母组合很有趣 - 只是为了好玩。
这只是已识别的数千个单词中的一小部分样本:
英尺
halftime half-time
offtrack off-track
rooftop roof-top
跳频
halfhearted half-hearted
offhand off-hand
serfhood serf-hood
英石
crosstalk cross-talk
dogstail dogs-tail
duststorm dust-storm
poststrike post-strike
电脑断层扫描
arctangent arc-tangent
arctic arc-tic
千
hawknosed hawk-nosed
weeknight week-night
酸碱度
loophole loop-hole
scrapheap scrap-heap
stamphead stamp-head
日
boathooks boat-hooks
footholds foot-holds
goatherd goat-herd
porthole port-hole
warthog wart-hog
什
gashouse gas-house
horseshit horse-shit
mishap mis-hap
newshawk news-hawk
tr
hatrack hat-rack
outrace out-race
postrace post-race
postriot post-riot
什
knowhow know-how
sparrowhawk sparrow-hawk
澳大利亚
ultraugly ultra-ugly
EA
readmit re-admit
IE
antieconomic anti-economic
antielite anti-elite
dielectric di-electric
哦
coincide co-incide
coinmate co-inmate
coinsure co-insure
日
granddad grand-dad
guarddog guard-dog
headdress head-dress
響球
paleethnology pale-ethnology
preenable pre-enable
preescape pre-escape
reedit re-edit
reelect re-elect
reemit re-emit
reenable re-enable
reencounter re-encounter
reentry re-rentry
韓
doggone dog-gone
嗯
archhead arch-head
bathhouse bath-house
fishhold fish-hold
methhead meth-head
withhold with-hold
二
schoollike school-like
soulless soul-less
taillight tail-light
wheelless wheel-less
毫米
bottommost bottom-most
filmmaker film-maker
teamman team-man
nn
humanness human-ness
nonnational non-national
penname pen-name
swannecked swan-necked
哦
cooccur co-occur
cooperate co-operate
coopt co-opt
proode pro-ode
pseudoorganic pseudo-organic
页
dampproof damp-proof
lamppost lamp-post
slipproof slip-proof
RR
interradial inter-radial
overran over-ran
overrich over-rich
underripe under-ripe
党卫军
newsstand news-stand
hisself his-self
特
cattail cat-tail
coattail coat-tail
nighttime night-time
ofttimes oft-times
outtakes out-takes
outthink out-think
shirttail shirt-tail
shitton shit-ton
世界
glowworm glow-worm
sawworker saw-worker
showworthy show-worthy
yellowwood yellow-wood
在其他情况下,我不会插入微间距,但我发现这些很有趣,因为在解析字母和音素时,大脑可能会暂时被欺骗。像“cooccur”、“coinmate”和“reemit”这样的词真的让我的大脑很痛!
答案1
我脑海里有个声音告诉我,芭芭拉也有类似的清单,谷歌在这里提供了一些链接
答案2
以下是一个较长的列表,有时很有趣,其中包含“th”字符对但对于连字符“th”字形(当然,如果所使用的字体中有的话)可能不应该使用。(您在帖子中提到的五个单词——boathook、foothold、goatherd、porthole 和 warthog——都包含在以下各自的类别中。)
为了便于学习,我根据单词的第一个或第二个组成部分对单词进行了分组:-house、-hole、-head、-heart、-hood、-hole、-hill、-hook、-herd;out-h...、short-h... 等等。
在适当的情况下,将复数形式、副词形式、形容词形式等添加到整个列表中。显然,我没有任何主张关于此列表的完整性。
boathouse cathouse courthouse guesthouse hothouse lighthouse nuthouse
oasthouse outhouse penthouse pesthouse pilothouse pothouse
bolthead cathead fathead flathead gilthead hothead lightheaded masthead
pithead pothead printhead softhead softheaded
fainthearted greathearted lighthearted softhearted stouthearted sweetheart
adulthood aunthood knighthood parenthood priesthood prophethood sainthood
servanthood
bolthole knothole porthole posthole pesthole pothole rathole
boathook meathook pothook
foothold potholder roothold
anthill foothill
goatherd neatherd
outhaul outhear outhit outhomer outhowl outhumor outhunt outhustle
shorthair shorthanded shorthorn
还有一些不属于上述任何一类的词:
antiapartheid apartheid dustheap firsthand nighthawk posthumous pothunt warthog watthour