Han-Wen, It turns out that manually setting vertical spacement tweak is way too fragile. They are easily broken when changing LilyPond version for instance. Or if one set manually all tweaks, and then is told: "could you make margins a bit larger, or use another font size", then the whole work has to be done again. and again.
When you made the vertical spacement tweaks possible, you added that it could be possible as an extra feature to output a tweak file that could be included later, for a second lilypond run. Please tell me how much the following would cost, if possible: First, $ lilypond --output-tweaks tweaks.ily many-score-book.ly would output a tweaks.ily file, containing vertical tweaks blocks for *each* score in the input ly file. Each score tweak would look like, for instance: scoreTweaksXXXX = { %% system 1 \overrideProperty #"Score.NonMusicalPaperColumn" #'line-break-system-details #'((alignment-extra-space . 50.0)) \skip 2.*7 \pageBreak %% system 2 \overrideProperty #"Score.NonMusicalPaperColumn" #'line-break-system-details #'((alignment-extra-space . 18.88)) \skip 2.*8 \break %% system 3 \overrideProperty #"Score.NonMusicalPaperColumn" #'line-break-system-details #'((alignment-extra-space . 18.88)) \skip 2.*8 \pageBreak ... } The inter staff extra space would be computed thanks to a function that the user could override, taking into account the total space left in the page, the number of systems, and the number of staves for each system. Then: $ lilypond --use-tweaks tweaks.ily many-score-book.ly would output the PDF score as usual, using the tweaks defined in tweaks.ily for each individual score. LilyPond would take care of including the appropriate tweak blocks in the appropriate place. nicolas _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user