[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Control of spacing between left edge and first note
From: |
Thomas Liggett |
Subject: |
Re: Control of spacing between left edge and first note |
Date: |
Sat, 1 Apr 2017 10:55:51 +1300 |
Hello all,
Bumping this in the hope that someone might be able to help me continue my
gradual ascent of the LIlyPond learning curve!
Thanks,
Thomas
> Begin forwarded message:
>
> From: Thomas Liggett <address@hidden>
> Subject: Re: Control of spacing between left edge and first note
> Date: 27 March 2017 at 1:56:04 PM NZDT
> To: Andrew Bernard <address@hidden>
> Cc: "address@hidden" <address@hidden>
>
> Hi Andrew,
>
> With your help I've got the desired result – many thanks! (BTW I was
> able to set the "key-signature extra-space" without including that
> whole alist.) But I'd like to better understand the logic behind
> what's happening in my code below.
>
> To produce a staff with no clef, key signature, time signature, or
> barlines, and to be able to specify the spacing between the left edge
> of the staff and the first note (i.e. to be able to produce diagrams
> comprising only staves with note-groups as in the example below):
>
> * just making the clef a point-stencil, omitting the bar-engraver, and
> using \override LeftEdge.space-alist.clef = #'(extra-space . xxx)
> achieves this for the first system, but NOT for any subsequent systems
> (hence my original query)
>
> To control the first system AND subsequent systems:
>
> * a (semantically irrelevant) key signature is required (set to a
> point-stencil, otherwise extra space is introduced) – C major will
> suffice. Why? (What's the difference to Lilypond between "no key
> signature" and "a specified key signature of no sharps or flats"?!?)
>
> * barlines, made transparent, are required to "reference off" as you
> say. (Transparent barlines, naturally, include space either side, so
> in order to have an arbitrary number of notes spaced evenly across a
> system – i.e. in this example, to avoid an extra space between the two
> groups of 8 notes – a time signature equal to the length of the system
> must be specified. But the nice thing about omitting the bar engraver
> in my original was that it avoided the need to specify a semantically
> irrelevant time signature.) But how are barlines even involved in
> controlling the space between the left edge of the staff and the first
> note?
>
> Is it related to the issue Urs is dealing with in this thread?
> http://lists.gnu.org/archive/html/lilypond-user/2017-03/msg00627.html
>
> Thanks again,
> Thomas
>
> %%%%%%%%%%%%%%%%%
>
> \version "2.19.41"
>
> \paper { indent = 0 }
>
> \layout {
> \context {
> \Score
> \override LeftEdge.space-alist.clef = #'(extra-space . 2) % space
> between left edge and invisible clef
> \remove Bar_number_engraver
> }
> \context {
> \Staff
> \remove Time_signature_engraver
> % \remove Bar_engraver
> \override Clef.stencil = #point-stencil % make clef effectively invisible
> \override Clef.space-alist.key-signature = #'(extra-space . 0) %
> space between invisible clef and invisible key sig
> \override KeySignature.stencil = #point-stencil
> \override BarLine.transparent = ##t
> }
> }
> \score {
> \relative c'' {
> \clef "treble"
> \key c \major % comment out this line and see what happens!
> \time 4/2 % comment out this line and there's extra space added
> where default (4/4) barlines would be
> \stemUp
> b8 b c c d d e e f f g g a a b b \break
> b,, b c c d d e e f f g g a a b b
> }
> }
>
> %%%%%%%%%%%%%%%%%
>
>
> On Sat, Mar 11, 2017 at 6:01 PM Andrew Bernard <address@hidden> wrote:
>>
>> Hi Thomas,
>>
>> Try this perhaps.
>>
>> [You have to retain clefs and barlines and render them transparent, so that
>> they exist to reference off. One ought to be able to just set the value
>> (key-signature extra-space . 8) say, but I am not sure why we need the whole
>> shebang alist.]
>>
>>
>> Andrew
>>
>> == snip
>>
>> \version "2.19.56"
>>
>> \paper { indent = 0 }
>>
>> \score {
>> \relative c'' {
>>
>> \override Staff.KeySignature.stencil = #point-stencil
>> \override Staff.Clef.stencil = #point-stencil
>> \override Staff.BarLine.transparent = ##t
>>
>> \key a \major
>> \stemUp
>> %
>>
>> b8 b c c d d e e f f g g a a b b
>> \break
>> b,, b c c d d e e f f g g a a b b
>> }
>>
>> \layout {
>> \context {
>> \Score
>> \remove Bar_number_engraver
>> }
>> \context {
>> \Staff
>> \remove Time_signature_engraver
>>
>> \override Clef.space-alist =
>> #'((ambitus extra-space . 2.0)
>> (breathing-sign minimum-space . 0.0)
>> (cue-end-clef extra-space . 0.8)
>> (clef extra-space . 0.8)
>> (cue-clef extra-space . 0.8)
>> (staff-bar extra-space . 0.0)
>> (key-cancellation extra-space . 0.0)
>> (key-signature extra-space . 8)
>> (time-signature extra-space . 1.0)
>> (custos extra-space . 0.0)
>> (first-note fixed-space . 0.0)
>> (right-edge extra-space . 0.0))
>>
>> }
>> }
>> }
>>
>> == snip
>>