I'm using LilyPond for engraving lead sheets. Most sheet music customarily
reiterates the clef and key signature at the beginning of every line. For
lead sheets there is a preference for less clutter on the page and more
space for essential music info, so most lead sheets only show the clef and
key signature at the beginning of a piece. I have this working by using

\override Score.Clef.break-visibility = #all-invisible
\override Score.KeySignature.break-visibility = #all-invisible

Something I find useful that is found in some, but not all, lead sheets, is
to reiterate the clef and key signature at the top of every page. Hal
Leonard's Real Book series does not do this. Sher Music's New Real series
started out without this in 1988, but by 2000 the Standards Real Book did
have the clef and key signature at the top of every page. Anyway, it seems
like a good idea to me.

For a few years, I've been forcing all page breaks inside lead sheets to
specific places, which meant that I could enable reiterating clef and key
signature like this:

  \once \override Score.Clef.break-visibility = #begin-of-line-visible
  \once \override Score.KeySignature.break-visibility =
#begin-of-line-visible

However, for some good reasons, I'm moving into letting LilyPond choose
page breaks automatically. So far this is going well, but I have lost the
clef and key signature at the top of each page. I've tried a few things,
but I haven't found a good way yet to make this happen automatically.

Is this possible? I've thought of doing something drastic, like a two-pass
process where I let LilyPond choose the page breaks, then edit the source
programmatically to put manual page breaks in those locations and make the
clef and key signature visible. This is definitely overkill for something
that is a "nice to have" not a "must have". If there's some way to do what
break-visibility does, but have it only trigger on the first system on a
new page, I'd like to try it.

Reply via email to