On Sunday 03 June 2007 23:01, Nicolas Sceaux wrote: > Nicolas Sceaux <[EMAIL PROTECTED]> writes: > > Hi, > > > > While thinking about an automatic way to build tables of contents (with > > a few \header variables, a \table-of-contents command, et voilĂ ), I > > realized that an other problem needs to be solved first. Indeed, if the > > table of contents is too long for a single page, then it should be split > > to fill several pages. Hence the need of breakable markups. > > Here is a patch implementing this feature. Nice!
> Some issues, related to page breaking and spacing: I should be finished with this semester's exams in a couple weeks and I can have a look at things then. If you're not that patient, however, or you'd rather do them yourself, I've suggested a few things below. > > 1. on the regression test included in the patch, the output looks like: > ______ ______ ______ > > | 1| |2 | | 3| > |blabla| |blabla| |blabla| > |blabla| |blabla| | | > |blabla| |blabla| | | (with ragged-bottom=##t) > | > | | | | |taglin| > > ------ ------ ------ > That is, although the text could fit on two pages, three pages are > created, with a lot of white space left at their bottom. I suspect that this is because Line_details (Prob*) (in constrained-breaking.hh) makes up values for certain properties instead of reading them from properties of the Prob*. If that doesn't fix it, have a look at the force-calculating routines in Page_spacer::calc_subproblem and try to see why it is prefering solutions with more pages. > > 2. setting the next-space or next-padding properties to zero results to > wrong spacing. The stencils should just be stacked with no extra > space between them. The relevant function is space-systems in layout-page-layout.scm, but apart from that, I don't know. > > 3. setting next-padding and next-space to almost zero make the lines > stick one to the other only if there is an other object (like a > score) on the page. Otherwise, the lines are spread over the > page. This is not consistent. > ______ ______ > > |blabla| |blabla| > |blabla| | | > |blabla| | | > | > | | |blabla| <--- next-space and next-spacing almost 0 > | | | > | | | | between all these blablas > | > |system| |blabla| > > ------ ------ If each of the "blabla" lines has a very stiff vertical spring and the "system" line has a relatively loose vertical spring then it would explain what you are seeing. The first page has a relatively small force which hardly affects the blablah springs but has a big effect on the system spring. The second page requires a very strong force to fit the lines in at all, so it stretches out the stiff blabla springs. I'm not sure how you would fix it,though. _______________________________________________ lilypond-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-devel
