TeX 对行与行之间可以有多近有一个限制。这个限制的基础是字体的高度+深度。您可以通过查看 \p 样式中的字体大小来找到这个值。请注意,这个值可能比字体的磅值大得多。例如,Awami 字体在设置为 11pt 时,高度为 19.3pt,深度为 7pt。 如果字体的高度加深度大于 1.75 倍的行距,TeX 会像行距等于高度加深度那样工作。更准确地说,限制值是样式的 baselineskip 加上 0.75 倍的主行距。 您可以通过将 \lineskiplimit 设置为某个足够大的负值来在底层更改此设置。目前它是 -0.75 * 行距。但只有当您知道自己在做什么,并且确实需要让行距更紧凑时,才这样做。 一旦达到这个限制,您就不得不放弃通过 \baselineskip 进行的任何控制,并且会在行之间插入一个新的值 \lineskip (0pt)。
示例 假设您想在 11pt 下使用 Awami 字体,但您真的希望行距为 14pt,并且您不介意行与行发生碰撞(它们几乎肯定会碰撞)。我们首先查看 \p 样式定义,看到字体的上升部分为 19.3pt,下降部分为 7pt,总共为 26.3pt。
TeX 计算行间距为 baselineskip - (高度+深度),即 = 14-26.3 = -12.3pt。因此,我们需要 lineskiplimit 为 -12.3pt 或更低。lineskiplimit 的默认值为 -0.75*行距 = -10.5pt,这太高了,所以我们需要更改 lineskiplimit。我们在 `ptxprint-mods.tex` 中通过如下行来实现:
```
\lineskiplimit=-12.5pt
```
(-12.5pt 给我们一点回旋余地)。
请注意,这很容易导致行与行相互重叠。如果您弄得一团糟,后果自负!
TeX has a limit on how close it will let lines be together. The basis for this is the height+depth of the font. You can find this by looking at the font size in the \p style. Notice this can be a whole lot more than the point size of the font. Awami for example has a height of 19.3pt and a depth of 7pt when set at 11pt!. If the height plus depth of the font is greater than 1.75 x the linespacing, TeX will work as if the linespacing is equal to the height plus depth. More precisely the limit is the baselineskip of the style + 0.75 the main linespacing. You can change this under the hood by setting \lineskiplimit to some suitably large negative value. Currently it is -0.75 * linespacing. But only do this if you know what you are doing and you really do need to get lines closer together. Once you hit this limit, you can kiss goodbye to any control via \baselineskip and a new value \lineskip (0pt) gets inserted between lines.
Example Let's say that you wanted to use Awami at 11pt but you really want the line spacing to be 14pt and you don't care if lines collide (which they would almost certainly do so). We start by looking at the \p style definition in which we see that the font has an ascent of 19.3pt and descender of 7pt, for a total of 26.3pt.
TeX calculates the interline gap as being the baselineskip - (height+depth), which = 14-26.3 = -12.3pt. Thus we would need a lineskiplimit of -12.3pt or lower. The default value of lineskiplimit is -0.75*linespacing = -10.5pt which is too high and so we would want to change the lineskiplimit. We do this in `ptxprint-mods.tex` with a line such as:
```
\lineskiplimit=-12.5pt
```
(-12.5pt gives us a tiny amount of wiggle room).
Be aware that this can easily result in lines crashing into each other. On your head be it if you make a mess!
机器翻译自 English 显示原文