On Mar 19, 2011, at 12:14 PM, Han-Wen Nienhuys wrote: > On Sat, Mar 19, 2011 at 1:07 PM, m...@apollinemike.com > <m...@apollinemike.com> wrote: > >> One way to avoid a two-pass system is to redo the way that top-level markups >> are stashed in LilyPond. If LilyPond can re-evaluate these markups after >> page breaking is calculated, it can scan to see if their vertical extent is >> the same as the original. If so, keep the page breaking configuration. If >> not, re-calculate page breaking, taking the new vertical extents into >> account. Then re-update the footnotes. Do this as a loop until the new >> extent equal the old extent for every text markup. > > You realize that you may end up in an infinite loop for (rare) > degenerate cases, right? If anything, you should stop after the 2nd > pass.
Good point - I can make the # of passes in the loop a variable w/ the default as 2. However, for now, would you agree that the two-pass solution is better than the alternative (too-wide / too-narrow spacing)? Although I don't have much feedback for where this would be useful, the one person who has given this code a spin (Bertrand) and who is pretty invested in all things footnote seems to like this system over a one-pass alternative (I'm not putting words into your mouth, am I, Bertrand?). Cheers, Mike _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel