Hi Lukas,

> This is fascinating: With $, the situation seems reversed. Now I get the
> (naively) expected behaviour if I add the top-level score as a \book,
> but the sizes are messed up if I only add it as a \bookpart.

indeed, that is interesting ... I suppose what is happening now is that the 
book might not yet have been created when the first line is parsed. This can be 
fixed by adding something before the `$(set-global-staff-size size)` to ensure 
that the context exists, e.g. simply switch order to

    \test
    $(set-global-staff-size size)

or add a `\paper { }` or even just a `#'()` at the beginning of the book.

> The whole staff-size-setting-business seems full of surprised. For
> instance, I don't really understand why the setting of the global staff
> size happens at top level rather than inside a \paper block ...

`set-global-staff-size` is simply a wrapper around `layout-set-staff-size` (or 
rather its implementation `layout-set-absolute-staff-size-in-module`) that 
calls 
it on the current default paper.

So it just some convenience around `\paper { #(layout-set-staff-size ...) }`. 
Note (since you stated this in your first email) that spacing issues only 
happen when you use `layout-set-staff-size` in a layout-block, since this does 
set things specific to a score. Using it in a \paper-block should give the same 
result as `(set-global-staff-size size)` (check out definition at line 100 in 
`scm/paper.scm`).

Best regards,
Tina

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to