lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Vertical spacing in 2.13


From: Trevor Bača
Subject: Re: Vertical spacing in 2.13
Date: Tue, 15 Dec 2009 22:23:16 -0500



On Tue, Dec 15, 2009 at 5:00 PM, Joe Neeman <address@hidden> wrote:
On Tue, 2009-12-15 at 15:31 -0500, Trevor Bača wrote:
>
>
> On Mon, Dec 14, 2009 at 10:46 PM, Joe Neeman <address@hidden>
> wrote:
>
>         On Tue, 2009-12-15 at 12:51 +1100, Nick Payne wrote:
>         > On 15/12/09 10:56, Joe Neeman wrote:
>         > > On Tue, 2009-12-15 at 08:01 +1100, Nick Payne wrote:
>         > >
>         > >> How is vertical spacing between staves controlled now in
>         2.13.x? In
>         > >> s.4.4.1 and s.4.4.2 the NR for 2.13.9 still talks about
>         using \override
>         > >> Staff.VerticalAxisGroup #'minimum-Y-extent and
>         between-system-padding in
>         > >> the \paper section, but neither of these now appear to do
>         anything.
>         > >>
>         > > Thanks for the reminder; I still need to rewrite these
>         sections.
>         > > Vertical spacing has changed significantly since 2.13.3ish
>         and there are
>         > > a lot of new knobs to tweak. The new variables are
>         documented in the
>         > > internals reference and in section 4.1.2 of the notation
>         reference.
>         > >
>         > > You can also find more information about the changes in
>         the list
>         > > archives. For example, search for the subject "Dead lyrics
>         context still
>         > > occupies vertical space" in the lily-devel archives.
>         > >
>         > If i try the following:
>         >
>         > \version "2.13.9"
>         >
>         > notes = \relative c' {
>         >      \repeat unfold 100 { c4 }
>         > }
>         >
>         > \score {
>         >      \notes
>         >      \layout {
>         >          \context {
>         >              \Staff
>         >                  \override VerticalAxisGroup
>         #'next-staff-spacing =
>         > #'((space . 20) (padding . 15) (stretchability . 12)
>         (minimum-distance .
>         > 12))
>         >          }
>         >      }
>         > }
>         >
>         > regardless of the values I put in the alist, the spacing
>         between staves
>         > doesn't change. What am I doing wrong here?
>
>
>         VerticalAxisGroup #'next-staff-spacing controls the spacing
>         between two
>         staves in the same system. For spacing between systems, use
>         the
>         between-system-spacing variable in the \paper block.
>
>
>
> Hi Joe,
>
> What about the NonMusicalPaperColumn alignment-offsets list? I put
> together NR (2.12) 4.3.3 'Explicit staff and system positioning' some
> time back, mostly as a way of documenting a type of absolute vertical
> positioning layout that I've used in all of my scores since then. As
> of 2.13.ish this seemed to stop working. Quick example:

alignment-offsets has been replaced with alignment-distances and the
semantics have changed too: alignment-distances gives the distances
between staves (but not Lyrics or other loosely spaced lines) so its
length should be one less than the number of staves. Also, you can set a
forced distance of 23 for any of the xxx-spacing variables with

xxx-spacing = #'((space . 23)  (minimum-distance . 23) (stretchability .
0))

Let me know if there is functionality that you can't achieve with these
settings.


Excellent.

So the 2.13.x version of the snippet included earlier in the thread looks like this:


%%% BEGIN STRICT STAFF POSITIONING 2.13.x %%%

\version "2.13.9"

\new StaffGroup <<
   \new Staff {
      \overrideProperty #"Score.NonMusicalPaperColumn"
      #'line-break-system-details
      #'((Y-offset . 0) (alignment-distances . (10)))
      c'1 \break
      \overrideProperty #"Score.NonMusicalPaperColumn"
      #'line-break-system-details
      #'((Y-offset . 40) (alignment-distances . (15)))
      c'1 \break
      \overrideProperty #"Score.NonMusicalPaperColumn"
      #'line-break-system-details
      #'((Y-offset . 80) (alignment-distances . (20)))
      c'1 \break
      \overrideProperty #"Score.NonMusicalPaperColumn"
      #'line-break-system-details
      #'((Y-offset . 120) (alignment-distances . (25)))
      c'1 \break
   }
   \new Staff {
      \clef bass
      c'1 c'1 c'1 c'1
   }
>>

%%% END STRICT STAFF POSITIONING 2.13 %%%


(Resulting PDF attached.)

Thanks very much for this. And FWIW I find distances considerably better than offsets. It takes concentration to remember that the values of the (old) alignment-offsets alist need to be *negative* numbers. Much better that the (new) alignment-distances alist values are absolute.

And, as of now, I'm unaware of any spacing functionality that's gone missing in recent dev releases.

Thanks again.

Trevor.


--
Trevor Bača
address@hidden

Attachment: alignment-distances.pdf
Description: Adobe PDF document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]