该\hyphenation
命令可用于列出允许的单词连字符形式。例如,\hyphenation{incor-rect-ly}
表示单词错误地被允许。
是否有一个补充命令允许人们列出不允许单词的连字符?我不想列出所有允许的版本。例如,我想说\nohyphenation{in-correctly}
没有指定允许的版本。我很懒/效率高,不想花太多心思考虑多音节单词。
答案1
从你的回答来看,你似乎并不真正明白这\hyphenation
意味着什么。
的目的\hyphenation{some-word-with-hyphens}
不仅仅是允许 TeX 在连字符所在的地方使用连字符:它还禁止在其他地方使用连字符。例如,假设您想通过在末尾的“ed”之前允许断点来为单词“advised”添加断点(在任何英文排版样式中,正确的连字符都是“ad-vised”)。您唯一能做到这一点的方法是说\hyphenation{ad-vis-ed}
;如果您说\hyphenation{advis-ed}
您将禁止使用连字符“ad-”,这是...不明智的。
为了解决您的问题,我们需要引入二互补命令,例如,我们可以调用\allowhyphenation
和\forbidhyphenation
。我看不出使用 TeX 连字算法的当前实现可以轻松实现这一点;似乎您必须添加针对单词量身定制的模式,以便允许或禁止特定的断点,这相当尴尬。或者,您可以编写一个函数来扫描单词以查找其所有连字断点,根据刚刚发出的命令的要求添加或删除其中一些断点,然后再次将其提供给它\hyphenation
。这些都不是特别简单。您最好使用\hyphenation
它来实现它的设计目的:在一个单词中指定所有所需的断点。您可能会发现它们毕竟没有那么糟糕。显然,也可能存在错误;如果您发现任何错误,请报告这里。
当然,如果您使用的是 LuaTeX,那么一切都将变得无效,因为您可以用 Lua 中实现的新算法替换整个连字算法。