![ConTeXt:定义词空间维度](https://linux22.com/image/247127/ConTeXt%EF%BC%9A%E5%AE%9A%E4%B9%89%E8%AF%8D%E7%A9%BA%E9%97%B4%E7%BB%B4%E5%BA%A6.png)
您如何定义通用字空间的长度?ConTeXt 本身使用的字空间长度在较长的一端还可以,但在最压缩的一端则太短了。
维基百科条目\setuptolerance
建议使用以下方法更改单词间距:
\spaceskip .5em plus .25em minus .25em
因此听起来好像有一种方法可以定义平均长度以及单词空间的最大偏差。
我如何在整个文档中使用该设置作为默认字间距?
答案1
你有没有尝试过只放类似的东西
\spaceskip .5em plus .25em minus .25em
文档开头的某个地方?简短解释一下:(\spaceskip
低级) TeX 参数正是负责这个的。
编辑:请注意,这em
取决于当前的字体,因此您应该先设置字体(例如\setupbodyfont
),然后再发出上述命令。
此外,奇怪的是,在浏览了 ConTeXt (MkIV) 源代码后,我发现 ConTeXt 没有高级接口(这\setraggedskips
不是我所说的“高级”接口)。这有一个好处,那就是让我确信(例如\starttext
)不会发生任何变化\spaceskip
。
编辑:正如 egreg 在评论中指出的那样,改变\spaceskip
可能不是一个好主意;最好使用\emergencystretch
,它(以防 TeX 无法在其“不良”限制内排版段落,即使使用连字符)被添加到的“拉伸”组件中\spaceskip
,因此它只被视为紧急情况(参考书目或双列布局是人们可能想要使用它的两个例子 - 当然,要谨慎使用!)。
请注意,还有\xspaceskip
,其应用与 类似\spaceskip
,但 TeX 使用它在句子的结尾(除非\frenchspacing
正在使用)。