Hey, Richard!

On Wed, Feb 9, 2022 at 9:13 AM Richard Shann <rich...@rshann.plus.com>
wrote:

> On Wed, 2022-02-09 at 13:00 +0000, Valentin Petzel wrote:
> > Hello Richard,
> >
> > I do not like to say such things, but read the docs:
> >
> http://lilypond.org/doc/v2.23/Documentation/notation/setting-the-staff-size
> >
> > set-global-staff-size is by definition used to set the staffsize
> > globally. For affecting one specific score you want to use layout-
> > set-staff-size.
>
> I perhaps should have given details of my experimentations with this.
> It seems that the terminology here is confusing - the set-global-staff-
> size is *not* equivalent to layout-set-staff-size on each score block
> as the following shows:
>
> \version "2.22.0"
> %#(set-global-staff-size 44)
> \score {
>   \layout {
>       #(layout-set-staff-size 44)
>     }
>   {e f g a}}
>
> Commenting and un-commenting the set-global-staff-size shows that they
> are different, and indeed I'm not quite sure what the use-case is for
> the layout-set-staff-size, it distorts the placement of clefs/time
> signatures.
> I was hoping there might be a set of settings which could be used to do
> what set-global-staff-size does on each score block...
>
> Richard
>
> >
> > Cheers,
> > Valentin
> >
> > 09.02.2022 13:04:16 Richard Shann <rich...@rshann.plus.com>:
> >
> > > To create a single PDF of a full score and parts it is convenient
> > > in
> > > Denemo to simply concatenate the LilyPond; something like this:
> > >
> > > \version "2.22.0"
> > > #(set-global-staff-size 20)
> > > \markup "First"
> > > { c d e}
> > > #(set-global-staff-size 10)
> > > \markup "Second"
> > > {e f g}
> > >
> > > This runs into the problem that the full score is often needed at a
> > > smaller font size and in the above code the last set-global-staff-
> > > size
> > > is, naturally, the one used for both \score{}s.
> > >
> > > I realize it may be a long shot, and a bit esoteric, but is there
> > > any
> > > way something like that could be achieved? (I'm not seeking
> > > radically
> > > different approaches here as this won't be hand-written).
> > >
> > > Richard Shann
>

 In my own experimentation, there's no convenient way to get what you want
in the same output file. The last call to set-global-staff-size affects the
current \book. You can then re-call the command if you explicitly callout
another \book after that, but that generates a separate output file for
each \book block. I'm not sure why this doesn't work within the same \book.

Here's an example that shows what I mean:

#(set-global-staff-size 26)
\book {
  \markup "First"
  \score { \relative { c d e } }
}

#(set-global-staff-size 14)
\book {
  \markup "Second"
  \score { \relative { e f g } }
}

Sorry this isn't exactly what you want, but maybe this will spawn some
development to make multiple calls to set-global-staff-size work within the
same \book.

Best,
Abraham

Reply via email to