当行太满时在单词之间换行

当行太满时在单词之间换行

此示例:

\font\standard="Arial Unicode MS" at 10pt
\standard

\newlanguage\nohyphens
\language=\nohyphens

\hsize = 150mm
\parindent = 0pt

\vbox{
  \setbox2=\hbox{\hskip12pt‣\hskip3dd}
  \hangindent=\wd2\leavevmode\box2 kopf- und fußgesteuerte Schleife, boolesche Ausdrücke, boolesche Operatoren, Struktogramme, Struktogramme, Struktogramme, Struktogramme
}

\bye

给出了这个溢出的水平盒子:

无宽容

我怎样才能告诉 TeX 将第一个“Struktogramme”放在新行中,以便框不再过满?

我尝试设置\tolerance=10000,但是却给出了这个奇怪的断点:

宽容

答案1

由于语言设置,\language=\nohyphens连字符被禁用。因此,可接受的换行符的断点太少(尤其是对于包含长单词的语言)。

正如您所发现的,\emergencystretch这会有所帮助,但成本却是令人无法接受的词语之间巨大的差距。

因此,使用 从完全对齐切换到左对齐是有意义的\raggedright

相关内容