On Sun, Sep 07, 2008 at 09:33:09AM -0700, Patrick McCarty wrote: > On Sun, Sep 07, 2008 at 04:20:41PM +0100, Neil Puttock wrote: > > > > Can you amend the section on annotating spacing to reflect the > > changes? As far as I can see, all the annotations are shown in > > staff-spaces only. > > Just to be sure, are you referring to NR 4.6? I will take a look. > > > Does the paper variable ledger-line-thickness actually do anything > > useful? It isn't referenced in any other .scm file. > > I don't know. I think we should keep it, in case anyone wants to use > this variable in the future for new extensions/features. > > I've already sorted the list, and I'll start working on the docs and > regtest and incorporate it all into a new patch.
Okay, here is the updated patch. I updated the docs with the relevant information (and did a general rewrite) and changed the regtest so that it uses 3 pages again. Thanks, Patrick
>From 30ac13527a9a216102739f8cd306fb97409cb02d Mon Sep 17 00:00:00 2001 From: Patrick McCarty <[EMAIL PROTECTED]> Date: Sat, 6 Sep 2008 19:18:00 -0700 Subject: [PATCH] Fix dimensions for several output variables * Dimensions for the following output variables are now interpreted correctly since they have been added to the dimension-variables variable (heeding the warning at the top of ly/paper-defaults.ly): after-title-space before-title-space between-title-space bottom-margin foot-separation head-separation top-margin * page-turn-page-breaking-badturns.ly: slightly adjusted * NR 4.6: general rewrite, with updated information Signed-off-by: Patrick McCarty <[EMAIL PROTECTED]> --- Documentation/user/spacing.itely | 102 ++++++++++---------- .../regression/page-turn-page-breaking-badturns.ly | 6 +- scm/paper.scm | 35 ++++++-- 3 files changed, 84 insertions(+), 59 deletions(-) diff --git a/Documentation/user/spacing.itely b/Documentation/user/spacing.itely index 5d8dd6e..64977b0 100644 --- a/Documentation/user/spacing.itely +++ b/Documentation/user/spacing.itely @@ -2122,28 +2122,29 @@ Sometimes you can end up with one or two staves on a second if you look at previous pages and it looks like there is plenty of room left on those. -When investigating layout issues, @code{annotate-spacing} is -an invaluable tool. This command prints the values of various -layout spacing commands; for more details see the following -section, @ref{Displaying spacing}. +When investigating layout issues, @code{annotate-spacing} is an +invaluable tool. This command prints the values of various layout +spacing variables; for more details see the following section, [EMAIL PROTECTED] spacing}. @menu * Displaying spacing:: * Changing spacing:: @end menu + @node Displaying spacing @subsection Displaying spacing @funindex annotate-spacing [EMAIL PROTECTED] Spacing, display of properties [EMAIL PROTECTED] spacing, display of layout -To graphically display the dimensions of vertical properties that may -be altered for page formatting, set @code{annotate-spacing} in the [EMAIL PROTECTED] block, like this: +To graphically display the dimensions of vertical layout variables +that may be altered for page formatting, set [EMAIL PROTECTED] in the @code{\paper} block: @c need to have \book{} otherwise we get the separate systems. -hwn [EMAIL PROTECTED] [EMAIL PROTECTED],quote] #(set-default-paper-size "a6" 'landscape) \book { \score { { c4 } } @@ -2151,31 +2152,31 @@ be altered for page formatting, set @code{annotate-spacing} in the } @end lilypond - [EMAIL PROTECTED] TODO: really bad vagueness due to bug in annotate-spacing. -gp @noindent -Some unit dimensions are measured in staff spaces, while others -are measured in millimeters. -The pairs -(@var{a},@var{b}) are intervals, where @var{a} is the lower edge and [EMAIL PROTECTED] the upper edge of the interval. +All layout dimensions are displayed in staff spaces, regardless of +the units specified in the @code{\paper} or @code{\layout} block. +For example, @code{paper-height} has a value of 59.75 staff +spaces, using the default staff size of 20 points, which is +equivalent to 148 millimeters, the height of @code{a6} paper in +landscape orientation. The pairs (@var{a},@var{b}) are intervals, +where @var{a} is the lower edge and @var{b} the upper edge of the +interval. + @node Changing spacing @subsection Changing spacing -From the output of @code{annotate-spacing}, we can -see which margins we may wish to alter. - [EMAIL PROTECTED] TODO add info about or pointers to margin settings +The output of @code{annotate-spacing} reveals vertical dimensions +in great detail. For details about modifying margins and other +layout variables, see @ref{Page formatting}. Other than margins, there are a few other options to save space: @itemize @item -You may tell LilyPond to place systems as close together as -possible (to fit as many systems as possible onto a page), but -then to space those systems out so that there is no blank -space at the bottom of the page. +Force systems to move as close together as possible (to fit as +many systems as possible onto a page) while being spaced so that +there is no blank space at the bottom of the page. @example \paper @{ @@ -2187,9 +2188,9 @@ space at the bottom of the page. @end example @item -You may force the number of systems (i.e., if LilyPond wants -to typeset some music with 11 systems, you could force it to -use 10). +Force the number of systems. For example, if the default layout +has 11 systems, the following assignment will force a layout with +10 systems. @example \paper @{ @@ -2198,27 +2199,25 @@ use 10). @end example @item -Avoid (or reduce) objects which increase the vertical size of -a system. For example, volta repeats (or alternate repeats) -require extra space. If these repeats are spread over two -systems, they will take up more space than one system with -the volta repeats and another system without. - -Another example is moving dynamics which @q{stick out} of -a system, as in the second bar here: - [EMAIL PROTECTED],quote,fragment,ragged-right,relative=1] +Avoid (or reduce) objects that increase the vertical size of a +system. For example, volta repeats (or alternate repeats) require +extra space. If these repeats are spread over two systems, they +will take up more space than one system with the volta repeats and +another system without. For example, dynamics that @q{stick out} of +a system can be moved closer to the staff: + [EMAIL PROTECTED],quote,relative=1] e4 c g\f c \override DynamicText #'extra-offset = #'( -2.2 . 2.0) e4 c g\f c @end lilypond @item -Alter the horizontal spacing via @code{SpacingSpanner}. See [EMAIL PROTECTED] horizontal spacing}, for more details. Here's -an example first showing the default behavior: +Alter the horizontal spacing via @code{SpacingSpanner}. For more +details, see @ref{Changing horizontal spacing}. The following +example illustrates the default spacing: [EMAIL PROTECTED],quote,ragged-right] [EMAIL PROTECTED],quote] \score { \relative c'' { g4 e e2 | @@ -2231,11 +2230,12 @@ an example first showing the default behavior: @end lilypond @noindent -and now with @code{common-shortest-duration} increased from the -value of @code{1/4} (a quarter note is the most common in this -example) to @code{1/2}: +The next example modifies @code{common-shortest-duration} from a +value of @code{1/4} to @code{1/2}. The quarter note is the most +common and shortest duration in this example, so by making this +duration longer, a @q{squeezing} effect occurs: [EMAIL PROTECTED],quote,ragged-right] [EMAIL PROTECTED],quote] \score { \relative c'' { g4 e e2 | @@ -2248,18 +2248,22 @@ example) to @code{1/2}: \context { \Score \override SpacingSpanner - #'common-shortest-duration = #(ly:make-moment 1 2) + #'common-shortest-duration = #(ly:make-moment 1 2) } } } @end lilypond @noindent -Note that this override cannot be modified dynamically, so it must -always be placed in a @[EMAIL PROTECTED]@}} block so that it applies -to the whole score. +The @code{common-shortest-duration} property cannot be modified +dynamically, so it must always be placed in a @code{\context} +block so that it applies to the whole score. @end itemize [EMAIL PROTECTED] +Notation Reference: [EMAIL PROTECTED] formatting}, [EMAIL PROTECTED] horizontal spacing}. diff --git a/input/regression/page-turn-page-breaking-badturns.ly b/input/regression/page-turn-page-breaking-badturns.ly index def4fbf..3bc8ddd 100644 --- a/input/regression/page-turn-page-breaking-badturns.ly +++ b/input/regression/page-turn-page-breaking-badturns.ly @@ -1,6 +1,6 @@ -\version "2.11.51" +\version "2.11.58" -\header{ +\header { texidoc="If there are no good places to have a page turn, the optimal-breaker will just have to recover gracefully. This should appear on 3 pages. @@ -10,7 +10,7 @@ should appear on 3 pages. \book { \paper { #(define page-breaking ly:page-turn-breaking) - paper-height = #65 + paper-height = #60 print-page-number = ##t } diff --git a/scm/paper.scm b/scm/paper.scm index d587f5e..0ff9fbc 100644 --- a/scm/paper.scm +++ b/scm/paper.scm @@ -6,12 +6,33 @@ (define-public (set-paper-dimension-variables mod) (module-define! mod 'dimension-variables - '(pt mm cm in staff-height staff-space - page-top-space - between-system-space between-system-padding - line-width indent short-indent paper-width paper-height horizontal-shift - staff-space line-thickness ledgerline-thickness - blot-diameter left-margin right-margin))) + '(after-title-space + before-title-space + between-system-padding + between-system-space + between-title-space + blot-diameter + bottom-margin + cm + foot-separation + head-separation + horizontal-shift + in + indent + ledger-line-thickness + left-margin + line-thickness + line-width + mm + page-top-space + paper-height + paper-width + pt + right-margin + short-indent + staff-height + staff-space + top-margin))) (define (calc-line-thickness staff-space pt) ;; linear interpolation. @@ -50,7 +71,7 @@ (setm! 'line-thickness (calc-line-thickness ss pt)) ;; sync with feta - (setm! 'ledgerline-thickness (+ (* 0.5 pt) (/ ss 10))) + (setm! 'ledger-line-thickness (+ (* 0.5 pt) (/ ss 10))) ;; sync with feta (setm! 'blot-diameter (* 0.4 pt)) -- 1.6.0.1
_______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel