TeXbook (第 30 页) 中说:
当
\raggedright
指定时,badness 反映的是右边距的空间量,而不是单词之间的间距。
也就是说,在右侧不规则的情况下,badness 是所需宽度与实际宽度之间的差异(不是100*r^3
)。在下面的例子中,badness 必须是右侧跳跃的可拉伸性(即2em
),因此考虑到是1em
,10pt
badness 必须是20
,但是badness 100
输出。为什么?
\hbadness=-1 % to report the badness
\raggedright % \rightskip 0pt plus2em \spaceskip.3333em
\def\text{The badness of this line is 1000.}
\setbox0=\hbox{\text}
\hsize=\wd0 \advance\hsize by 2em \noindent\text\break
\bye
答案1
注释只是意味着唯一的拉伸粘连是在右侧而不是在单词之间,并不是说使用了不同的计算方法,badness 100 表示按 100/100 的立方根拉伸,这是一个因子 1,所以基本上你只是看到了舍入误差的影响。换句话说,badness 是(20/20)^3*100
。