[luatex] Strange cost in pagebreaking.
Ulrike Fischer
luatex at nililand.de
Wed Oct 16 11:19:24 CEST 2013
Am Tue, 15 Oct 2013 22:08:58 +0200 schrieb Paul Isambert:
> Hello all,
>
> I’ve encountered a problem which I definitely can’t solve. It looks
> like a TeX problem, but since I really can’t see what’s going on I
> suspect a LuaTeX bug. Unfortunately the problem is extremely sensitive
> to simple changes, and so I can’t even compare with a PDFTeX
> compilation. (And since there is a lot of my own code involved, I
> cannot do a minimal example either.)
>
> Here’s what \tracingpages returns in my log file (until the current
> page is deemed good):
>
> 1. %% goal height=569.05511, max depth=4.0
> 2. % split251 to 0.0,38.12 p=-10000
> 3. % split252 to 0.0,103.05 p=-10000
> 4. % t=0.0 g=498.47559 b=10000 p=0 c=100000#
> 5. % t=22.0 g=498.47559 b=10000 p=150 c=100000#
> 6. % t=45.22 g=498.47559 b=10000 p=0 c=100000#
> 7. % t=70.16 g=498.47559 b=10000 p=0 c=100000#
> 8. % t=93.27 g=498.47559 b=10000 p=150 c=100000#
> 9. % t=105.27 g=498.47559 b=10000 p=0 c=100000#
> 10. % t=121.27 plus 1.0fil g=498.47559 b=0 p=150 c=-19850#
> 11. % t=133.27 plus 1.0fil g=498.47559 b=0 p=0 c=-20000#
> 12. % t=145.27 plus 1.0fil g=498.47559 b=0 p=0 c=-20000#
> 13. % t=157.27 plus 1.0fil g=498.47559 b=0 p=150 c=-19850
> 14. % t=169.27 plus 1.0fil g=498.47559 b=0 p=0 c=-20000#
> 15. % t=185.27 plus 2.0fil g=498.47559 b=0 p=150 c=-19850
> 16. % t=197.27 plus 2.0fil g=498.47559 b=0 p=150 c=-19850
> 17. % t=209.27 plus 2.0fil g=498.47559 b=0 p=0 c=-20000#
> 18. % t=209.27 plus 3.0fil g=498.47559 b=0 p=-11000 c=-11000
>
> What bothers me is line 10 and following: where does the cost of
> -20000 comes from? There is no penalty of that value for each of those
> line, so I really can’t see how it can be computed (since, basically,
> the cost of a breakpoint is badness + penalty).
The cost are badness+penalty+\insertpenalties where \insertpenalties
is more or less (see page 122-126 of the texbook) the sum of the
split penalties. But the costs are only calculated when the badness
is <10000.
You have two splits:
> 2. % split251 to 0.0,38.12 p=-10000
> 3. % split252 to 0.0,103.05 p=-10000
with penalties of -10000 and so in line 10 when the badness is 0
their penalties are added to the costs.
So the main question is where is the source of the split penalties.
With
\interfootnotelinepenalty=-10000
\lipsum[1]\footnote{\lipsum[1]}
\lipsum[1]\footnote{\lipsum[1]}
\lipsum[1]\footnote{\lipsum[1]}
\lipsum[1]\footnote{\lipsum[1]}
\lipsum[1]\footnote{\lipsum[1]}
I get
% split253 to 42.00006,31.45 p=-10000
% t=323.80014 plus 7.0 minus 2.0 g=334.3502 b=341 p=0 c=-9659#
But that is not the default value, and I don't know how to get two
splits.
--
Ulrike Fischer
http://www.troubleshooting-tex.de/
More information about the luatex
mailing list