lilypond-user
[Top][All Lists]
Advanced

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

Re: Move Page Numbers?


From: PMA
Subject: Re: Move Page Numbers?
Date: Wed, 05 Feb 2014 20:09:41 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.16) Gecko/20101227 Iceape/2.0.11

Thomas Morley wrote:
2014-02-05 PMA<address@hidden>:
Hi List.

Most of my current score's page numbers need
shifting a little, both vertically and horizontally.

Can "\override ... #'extra-offset = #'( ...  .  ...)"
or something similar be aimed at PageNumber
(instead of, say, DynamicText) to shift them?

I could, I know, force the issue, page-numbering
via markup text from a lucky note on each page.
But it'd be nice to avoid such a kludge.

Regards,
Pete



Hi,

how about:

\version "2.18.0"

%% After an idea by Torsten Haemmerle
%% http://www.lilypondforum.de/index.php?topic=1393.msg7673#msg7673

#(set-default-paper-size "a6")

%% Define your generell settings for odd/even page-numbers
%% Exceptions for certain pages are possible, too.
#(define folio-offset '(
     ;; general
     (odd . (-2 . 1))
     (even . (-2 . 1))
     ;; exceptions for page 3 and 4
     (3 . (-1 . -1))
     (4 . (-3 . -4))
))

#(define-markup-command (place-folio layout props folio) (markup?)
    (let* ((page-number (chain-assoc-get 'page:page-number props))
           (general-off
             (if (odd? page-number)
                 (assoc-get 'odd folio-offset '(0 . 0))
                 (assoc-get 'even folio-offset '(0 . 0))))
           (page-off (assoc-get page-number folio-offset '(0 . 0)))
           (offs
             (cons
               (+ (car general-off) (car page-off))
               (+ (cdr general-off) (cdr page-off))))
           (m (interpret-markup layout props folio))
           (x-ext (ly:stencil-extent m X))
           (y-ext (ly:stencil-extent m Y)))

    (interpret-markup layout props
      (markup
         ;#:box   ;; uncomment for testing
         #:with-dimensions x-ext y-ext
         #:line (#:translate offs folio)))))

\paper {
   indent = 0
   ragged-right = ##f
   oddHeaderMarkup =
   \markup \fill-line {
     \place-folio \fromproperty #'page:page-number-string \null
   }
   evenHeaderMarkup =
   \markup \fill-line {
     \null \place-folio \fromproperty #'page:page-number-string
   }
}

{ \repeat unfold 10 { s1 \pageBreak } }


HTH,
   Harm

"Exceptions", eh?  Cool.  Will read more tomorrow.  Thanks!
P



reply via email to

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