[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lilypond-user
Subject:    Re: alpha test, spacing ajusments
From:       "Keith E OHara" <k-ohara5a5a () oco ! net>
Date:       2010-10-29 21:59:39
Message-ID: op.vlcx1pvxh28dgi () ohara
[Download RAW message or body]

On Thu, 28 Oct 2010 23:25:31 -0700, Nick Payne <nick.payne@internode.on.net> wrote:

> ... However, I don't like the resulting look of the
> output, as the space between the bottom stave on each page and the foot
> of the page varies too much for my taste.
> 
The simplest way to ask LilyPond to stretch big orchestral systems a little less, was \
to tell her to consider the space between systems, and the space at the bottom of the \
page, to be *very* stretchable.  These adjustments are in "paper_adjustments.ily" \
attached.

I worried that this adjustment would make Nick's problem even worse, *but* on my \
parts the extra space at the bottom remains uniform, 1 to 1.5 staff spaces, even \
though the staves are quite uneven due to page-turn considerations.

We should get the bottom staves to be perfectly even across pages, if we sets the \
bottom stretchability to zero: \paper { last-bottom-spacing = #'(
   (space . 1) (padding . 1) (minimum-distance . 0) (stretchability . 0)
   )}
I set the full list of parameters above, even though I changed only one of them, to \
work-around recently-reported bug 1338.


My first draft of adjustments is attached, and the toy score below shows how I use \
them.  The files are mostly comment, with just a few overrides.  While experimenting, \
I found it helpful to prevent the number of pages from changing, using \
\paper{page-count=#5}


Jan and choral folk,  maybe a little more #'non-affinity-spacing is needed to keep \
the Lyrics from being confused with the next staff?   You know that I have no \
experience with vocal music, but these files make Jan's setting of the Messiah look \
good to my eyes.

I will be quiet for a couple days over the weekend, but will not forget this.
==
Keith


==8<==
\version "2.13.37"
\paper {
   \include "paper_adjustments.ily"
}
\pointAndClickOff

m = { \repeat unfold 20 c''1 \repeat unfold 60 s1 \repeat unfold 20 c''1 }
o = { \repeat unfold 100 c''1 }

\score {
   <<
     \new PianoStaff <<
       \new Staff \m
       \new Staff \m
%{%}>>
     \new Staff \m \new Staff \m
     \new Staff \o \new Staff \o \new Staff \o
     \new Staff \o
     \new StaffGroup <<
       \new Staff \o \new Staff \o
%{%}>>
%{%}>>
   \layout {
     \context {\Staff \RemoveEmptyStaves }
     \include "layout_adjustments.ily"
   }
}


["layout_adjustments.ily" (layout_adjustments.ily)]

\version "2.13.37"

%{ Problems, and 
   > status of resolving them with these adjustments

A single system on a page, containing several staves, stretches to fill 
  the page when ragged-bottom=##f
  > Not yet solved
    last-bottom-spacing (in paper_adjustments) seems only partially effective

Piano staves stretch too much
  The cause seems to be 
  \override StaffGrouper #'between-staff-spacing #'stretchability = #5
  which already reduced a bit in engraver-init.ly ( some discussion at
   http://lists.gnu.org/archive/html/lilypond-devel/2009-06/msg00666.html)
  >  Effective, but need to learn the reason for setting it to 5 (use git)

Lyrics seem to take no vertical space at all
  >  Set a minimum-distance between Lyrics and its neighbor staff

Try the new Dynamics context (formerly a snippet, now built-in)
  >  Not yet tried

Staff groups have only the most subtle visual spacing to set them off
  > Increased requested 'space after ungrouped staves, 
     and after the last staff in a group,  to 12
%}
\context { \PianoStaff 
  % To reduce the stretching separation of piano staves down to 
  % a reasonable size
  % The piano stretchability was set specially, at half the default stretchability
  % on the initial commit (Thu, 30 Jul 2009 20:48:16 +0000) 
  %  that introduced a single rod-spring method for systems and staves
  %
% \override StaffGrouper #'between-staff-spacing #'stretchability = #5
}
\context { \Staff 
  % To avoid the colliding fingering aspect of issue 1290, 
  %  and also the primary complaint of too-much-interleaving 
  \override VerticalAxisGroup #'skyline-horizontal-padding = #1
  % Try out Jan Warchol's suggestion of that un-grouped staves
  %  have space just like the last staff in a group
  \override VerticalAxisGroup #'default-next-staff-spacing #'space = #12
}
\context { \StaffGroup
 % To increase visual separation of groups (suggested by Reinhold 17Jun09,
 %  David Santamauro 18Oct10)
 \override VerticalAxisGroup #'after-last-staff-spacing #'space = #12
}
\context { \Lyrics
  %% To prevent the lyrics associated with the bottom staff on a page
  %  from being pushed to within padding of their staff
  \override VerticalAxisGroup #'inter-staff-spacing #'minimum-distance = 4.5
  %% To ensure that lyrics' baseline is at least as far from a 
  %  a neighboring staff as it is from the staff it has affinity towards,
  %  copy the 'space and 'minimum-distance from 'inter-staff-spacing
  \override VerticalAxisGroup #'non-affinity-spacing #'space = 5.5
  \override VerticalAxisGroup #'non-affinity-spacing #'minimum-distance = 4.5
  %% The next is the default.  Should we have a bit more?
%  \override VerticalAxisGroup #'non-affinity-spacing #'padding = 1.0
}
\context { \Dynamics
}
%{  Things we might want to adjust, to make 2.13.37 look good, 
    but for one reason or another should stay as they are :
    
    ragged-bottom=##t % this simply turns off between-staff spacing
%}

%{ Issues in the tracker that might be helped by such adjustments

Issue 1299 ly/gregorian.ly needs minimum-Y-extent updated

Issue 1208 some combination of 'staff-affinity for two Lyrics may cause
  unwanted vertical space

Issue 1290 
One aspect of issue 1290, claims that staves are pushed too close when their 
  'skylines' interleave.  For example,w  \repeat unfold 40 { c'''' c, }
  > We restore version 2.12 behavior, for this aspect of 1290, with
  'between-system-spacing 'padding = 2

The report attached to 1290 includes chord fingerings, which make the 
  interleaving look worse.  This seems to be a different effect, seen in
  \repeat unfold 30 { <c-1 e-3 g-5>-> c'-4}
  > We resolve this collision, and also the first aspect, with
  'skyline-horizontal-padding = 1

Issue 1149 Uniform stretching not quite uniform

Issue 1311 user-created pseudo-staff contexts

Issue 1317 Space between piano staves does not scale when we 
  change the overall staff-size
Issue 1309 Consecutive interrupted lyrics from different staves are 
  no longer aligned
%}



["paper_adjustments.ily" (paper_adjustments.ily)]

%%% The following is no longer needed for 1290 - see skyline-horizontal-padding
% Restoring closer to the default system-system padding from 2.12 (4mm) 
% To resolve the interleaving aspect of issue 1290
% Bump up padding from 1 to 2 staffspacings; others are defaults for 12.13.37
%  system-system-spacing =
%     #'((space . 12) (minimum-distance . 8) (padding . 2))
%%%

% To reduce excessive stretching of systems, especially with one system per page
% increase stretchability to (was 5 staff-spaces) 
% Other values are left at -.37 defaults
last-bottom-spacing = #'(
  (space . 1) (padding . 1) (minimum-distance . 0) (stretchability . 120)
)

% To allow systems on a page to spread out rather than just stretch,
% increase stretchability (was 12 staff-spaces) 
% and increase requested sapce (was 12 staff-spaces)
% Others are -.37 defaults
system-system-spacing = #'(
  (space . 14) (minimum-distance . 8) (padding . 1) (stretchability . 240)
)

% Temporarily use page-breaking-system-system-spacing to approximate
%  the more uniform page filling we expect from 2.13.38
% FIXME: remove this line when 2.13.38 build is generally available
page-breaking-system-system-spacing = #'(
    (minimum-distance . 14) (padding . 1)
)

%{Until issue 1338 is resolved:
  We must use the syntax that assigns the entire alist,
  to avoid an error when we use this file with annotate-spacing=##t
  This, in turn, requires us to assign all elements in the alist, 
  even the elements we are not changing.
%}



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic