Tasziu Hoffmann:
> Yes, of course. But that "+1v" is also "wrong" in troff mode.
> Better to always use
>
> 'sp |\\n[pg*foot-trap]u
>
> (without the "+1v") in addr...@hidden, and
>
> .if n .wh \\n[pg*foot-trap]u addr...@hidden
> .if t .wh \\n[pg*foot-trap]u-1v+1u addr...@hidden
>
> in addr...@hidden
Thank you for your reply, Tadziu.
I didn't understand how your code will work. The
p...@footer trap performs a move to a position spec-
ified by an absolute distance, while you only pro-
pose to change the line at which the trap is trig-
gered. This will not change the way it prints the
footnotes, becuase it uses absolute addressing
inside. Or maybe I am misunderstanding something?
Here's my solution (I did't want to change m.tmac
itself):
.am p...@set-new-trap
. if n \{\
. if \\n[ft*note-size]>0 .nr pg*foot-trap -1v
. \}
..
which changes the position at which the footnotes
are printed. I have tested it in nroff mode.
Here I am re-calculating the height of the foot-
note block to compensate for the +1v in the
pg*foot-trap register, which needs to be done only
if there are footnotes.
Looks like the problem may lie not in the way
groff invokes traps, but in the calculation of the
pg*foot-trap register. I'll check how groff type-
sets the same example in PostScript.
Anton