Ativo 28 de jun de 2018 16:15, Flaming Hakama by Elaine < address@hidden> escreveu:
On Thu, Jun 28, 2018 at 11:32 AM Karlin High wrote:
On 6/27/2018 4:57 PM, address@hidden wrote: > It could help if we knew what #(set-global-staff-size) does exactly. > It's not in the manual or at least I couldn't find it.
I've watched people on the list refer to the source code when manuals failed them. I'm not as skilled as those people, but here goes. This is only an attempt to locate the code, with little expectations of understanding it. I don't know Scheme very well at all.
In my LilyDev VM, I run the command...
git grep set-global-staff-size
...and it finds lots of instances where the command is being used in documentation and such, instead of where it's defined. But this file looks promising for the definition:
$LILYPOND_GIT/scm/paper.scm 106 (define-safe-public (set-global-staff-size sz) 107 "Set the default staff size, where SZ is thought to be in PT."
The code following those lines seems to refer to this one:
That one does not seem to have any comments with explanations for it.
[CAUTION: Now entering cargo-cult mode]
Based on how that layout-set-absolute-staff-size-in-module seems set up, it does look like adding this to each \bookpart \score block will change their staff sizes individually.
The value 10 could be set to other values as desired. To show how it's working, I modified the example posted by Torsten Hämmerle at and attached the source code and resulting pdf.
Again, this is total cargo-cult code, awaiting corrections or contra-advice from LilyPond experts. And I'm sure there's a way to properly format this code at the beginning of the LY file to pass a value to it and avoid having to re-enter the whole thing each time. -- Karlin High Missouri, USA
The staff sizing commands are described in the docs:
Which says: To set the staff size globally for all scores in a file (or in a \book block, to be precise), use set-global-staff-size
From what I recall on list discussion, you can't re-set this once it has been set (and expect things to work.) Which is to say, it is a global setting, so it is not a per-staff/per-staffgroup/per-score/etc, but once and done.
I was unfamiliar with the next one, which might do the trick:
To set the staff size for a single score within a book, use layout-set-staff-size inside that score’s \layout block:
Yes the documentation says that, but it lies to the user. #(set-global-staff-size) and #(layout-set-staff-size) do two different things. The former scales all the scores evenly, while doing the correct line and system to system spacing. The latter only makes the notes and staff smaller without changing any of the spacing rules.