Le dimanche 23 juillet 2023 à 23:23 +0200, Valentin Petzel a écrit : > But I feel that this is a bigger issue. Generally the issue here is that > systems-per-page only cares about systems of music and not about anything > else > that may be placed on the page, as one can see here: > > \paper { > systems-per-page = #16 > } > > \markup\column { a a a a a a a a a a a a a a a a a a a a a a } > > { \repeat unfold 32 { R1\break }} > > I suppose in such cases it might be necessary to either estimate an > approximate system equivalent of the non system stuff on the page, or > alternatively calculate the reduction of paper height due to non system stuff > and scale down systems-per-page in such a manner, e.g. if systems-per-page is > 4, but a markup such as the header takes up say 20% of the pages then the > value should be corrected to 4*4/5 = 3.2 ~ 3 instead.
I beg to differ. LilyPond's page breaking and page spacing algorithm is already very complicated and smart and everything. That makes it difficult to tweak in user-understandable ways. Part of the point of systems-per-page / min-systems-per-page / max-systems-per-page is to provide a simple knob that does simple things for simple cases. If the user wants smart approximation of system heights and all that, they should just not set systems-per-page and let the default algorithm do its work. It's better to keep systems-per-page simple both for users to be able to understand and use it, and for code complexity not to explode further than it already has in that area.
signature.asc
Description: This is a digitally signed message part