![如何全局防止 ConTeXt 中特定单词的连字?](https://linux22.com/image/454685/%E5%A6%82%E4%BD%95%E5%85%A8%E5%B1%80%E9%98%B2%E6%AD%A2%20ConTeXt%20%E4%B8%AD%E7%89%B9%E5%AE%9A%E5%8D%95%E8%AF%8D%E7%9A%84%E8%BF%9E%E5%AD%97%EF%BC%9F.png)
这个问题在 LaTeX 中已经被问过几次了(例如这里),我依稀记得我读过一篇文章,说 ConTeXt 中的技术基本相同。可惜,效果似乎不太好。
简而言之:我想防止对特定单词进行连字符连接,例如专有名词或品牌。我知道我可以\unhyphenated
在每个实例中使用,但我宁愿全局防止对这些单词进行连字符连接。
使用\hyphenation
似乎是最常被建议的方法,但它似乎不太可靠。例如在以下 MWE 中
\defineframedtext[secondary][
frame=off,
leftframe=on,
framecolor=lightgray,
rulethickness=6pt,
offset=none, % 0pt,
loffset=6pt,
indenting=no,
align=flushleft,
style=\em,
]
% ----------
\hyphenation{improvements largescale experiments}
% ----------
\starttext
\section{Testing hyphenation}
\startsecondary
\input{knuth}
\stopsecondary
\input{knuth}
\stoptext
...该命令\hyphenation
阻止了单词改进和实验连字符(尝试注释掉该\hyphenation{...}
命令),但似乎对单词没有任何影响大规模:
我怀疑这可能与我设置的 framedtext 有关,但我说不上来。有人能帮我理解一下我这里遗漏了什么吗?提前谢谢!
答案1
我们来看看knuth.tex
(仅第一段):
Thus, I came to the conclusion that the designer of a new
system must not only be the implementer and first
large||scale user; the designer should also write the first
user manual.
我想,这就是您在 ConTeXt 中指定自由连字符的方式。