\version "2.13.51" #(define page-number-skip-list '(3 4 7 14)) %%%% #(define (pages-less skip-list page offset) (if (null? skip-list) offset (pages-less (cdr skip-list) page (+ offset (if (<= (car skip-list) (+ page offset)) 1 0))))) #(define-markup-command (page-number-compute layout props) () (let ((page-number (chain-assoc-get 'page:page-number props 0))) (interpret-markup layout props (format "~a" (+ page-number (pages-less page-number-skip-list page-number 0)))))) \header { title = "Mary Had a Little Lamb" } \paper { print-first-page-number = ##t oddHeaderMarkup = \markup \fill-line { \null \on-the-fly #not-part-first-page \fromproperty #'header:instrument \on-the-fly #print-page-number-check-first \page-number-compute } evenHeaderMarkup = \markup \fill-line { \on-the-fly #print-page-number-check-first \page-number-compute \on-the-fly #not-part-first-page \fromproperty #'header:instrument \null } } rh = \relative c' { e8 d c d e e e4 \pageBreak d8 d d4 e8 g g4 \pageBreak e8 d c d e e e e \pageBreak d d e d c2 \pageBreak } lh = \relative c { c8 g, c g, b g, c g, c g, c g, b g, c c4 } \score { \new PianoStaff << \new Staff { \time 2/4 \key c \major \clef treble \rh \transpose c d \rh \key bes \major \transpose c bes \rh \bar "|." } \new Staff { \clef bass \lh \transpose c d \lh \key bes \major \transpose c bes \lh \bar "|." } >> \layout { } }