[texhax] Controlling line spacing in footnotes with plain TeX

Pierre MacKay pierre.mackay at comcast.net
Thu May 29 05:01:10 CEST 2008


>I think you misunderstand the meaning of \lineskip -- it is not
>distance between base lines, it is glue inserted between two lines.
>This means you'll get 10pt of space before the last footnote line,
>which contains a \strut and therefore triggers the \lineskiplimit
>case.
>
>  
>
Let's put it another way.  With normal lines, spaced down by the normal 
amount of baselineskip, lineskip is not supposed to come into play at 
all.  \lineskip is a safety value to be used if the upper line would for 
some reason bleed into the lower line.  In most normal setting, 
\lineskip never gets called into play. 

I had trouble with footnote lineskip for a while, but I made sure that I 
had a strut whose height is proportional to the font.  That is, if you 
were setting 10 on 13, you determine what is the tallest ascender value 
at 10 point and what is the deepest descender value.  You can derive 
that from the AFM.  Let's say that the tallest ascender value is 8 pt, 
and the deepest descender value is 2pt.  Then the "height"  of the strut 
must be 8/10 x 13 and the "depth" must be 2/10 x 13.  (height = 10.4pt, 
depth = 2.6pt).

So the strut to be added to the end of the footnote will be \hrule 
height 10.4pt depth 2.6pt width 0pt, and if this is automatically added 
to the end of each footnote, succeeding footnotes will always end up 
spaced correctly.  (Careful macro writing can make the hard-coded values 
in the above calculation disappear, but you do need to find a way to 
capture the AFM ascender and descender values. ) 

Once you have done that, the safest value for \lineskip is 0pt.  It 
should never be needed.

Pierre MacKay


More information about the texhax mailing list