diff --git a/scm/page.scm b/scm/page.scm index a486219..a9c921f 100644 --- a/scm/page.scm +++ b/scm/page.scm @@ -221,15 +221,25 @@ ((paper-height (ly:output-def-lookup layout 'paper-height)) (paper-width (ly:output-def-lookup layout 'paper-width)) (lmargin (ly:output-def-lookup layout 'left-margin #f)) + (rmargin (ly:output-def-lookup layout 'right-margin #f)) + (lwidth (ly:output-def-lookup layout 'line-width)) (left-margin (if lmargin lmargin - (/ (- paper-width - (ly:output-def-lookup layout 'line-width)) 2))) + (if rmargin + (- paper-width lwidth rmargin) + (/ (- paper-width lwidth) 2)))) (bottom-edge (- paper-height (ly:output-def-lookup layout 'bottom-margin)) ) (top-margin (ly:output-def-lookup layout 'top-margin)) ) + (if (and lmargin rmargin) + ;; FIXME: If both margins _and_ the line-width was specified + ;; in the ly file then we should print a warning here. Also, + ;; curiously, setting the line-width still has an effect on + ;; the spacing of the notes even when both margins are given. + (ly:output-def-set-variable! layout 'line-width (- paper-width lmargin rmargin))) + `((paper-height . ,paper-height) (paper-width . ,paper-width) (left-margin . ,left-margin)