lilypond-user-fr
[Top][All Lists]
Advanced

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

Re: Laisser libre les numéros de page de couver ture


From: Gilles THIBAULT
Subject: Re: Laisser libre les numéros de page de couver ture
Date: Thu, 15 Apr 2010 23:47:20 +0200


J'avais posé cette question il y a peu, mais il n'avait pas été possible de
trouver une réponse simple : comment laisser les pages 1 et 2 sans
numérotation (couverture) et attribuer le numéro de page 1 à la troisième
page.

Désolé de répondre si tard.
En reprenant la declaration de  "not-first-page" dans titling-init.ly, on
peut légérement modifier ce code pour se constuire une fonction
"not-first-or-second-page".

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#(define (not-first-or-second-page layout props arg)
 (define (ancestor layout)
   "Return the topmost layout ancestor"
   (let ((parent (ly:output-def-parent layout)))
      (if (not (ly:output-def? parent))
          layout
          (ancestor parent))))
 (let ((n  (chain-assoc-get 'page:page-number props -1))
       (user-first-page (ly:output-def-lookup
                                        (ancestor layout)
'first-page-number)))
   (if (and (not (= n user-first-page))
            (not (= n (1+ user-first-page)))
            ; (not (= n (+ 2 user-first-page)))
            ; decommenter si on veux la numérotation
            ; à partir de la 3ème page
            )
     (interpret-markup layout props arg)
     empty-stencil)))

\paper {
  oddHeaderMarkup = \markup
  \fill-line {
    \null
%     \on-the-fly #not-first-or-second-page \fromproperty
%#'header:instrument
    \on-the-fly #not-first-or-second-page \fromproperty
#'page:page-number-string
  }

  evenHeaderMarkup = \markup
  \fill-line {
    \on-the-fly #not-first-or-second-page  \fromproperty
#'page:page-number-string
%     \on-the-fly #not-first-or-second-page \fromproperty
%#'header:instrument
    \null
  }
 first-page-number = -1
}

% \header { instrument = violon }

\score {\new Staff
 { s1-\markup { page -1 } \pageBreak
  s1-\markup { page 0 } \pageBreak
  s1-\markup { page 1 } \pageBreak
  s1-\markup { page 2 }
 }
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


NB
Il faut changer la position du \null dans  oddHeaderMarkup et
evenHeaderMarkup pour avoir le numéro de page soit à droite soit à gauche.

Gilles








reply via email to

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