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

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

Re: Numérotation des pages


From: Vincent Gay
Subject: Re: Numérotation des pages
Date: Mon, 11 Jul 2022 09:21:22 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0

Le 10/07/2022 à 17:46, Jean Abou Samra a écrit :
Dans le \paper, j'ai rajouté

  oddHeaderMarkup = \oddMarkup #'roman
  evenHeaderMarkup = \evenMarkup #'roman

Oui mais... question suivante : le numéro de page est bon mais pas l'emplacement...

même code (rectifié), 1ère partie, c'est bon

2ème partie : le numéro est à gauche (devrait aussi être à droite...)


Une idée ? Merci d'avance.

Rappel du code :

\version "2.22.2"
#(define part-first-pages '(0))

#(define (part-first-page? layout props)
   (= (chain-assoc-get 'page:page-number props -1)
      (ly:output-def-lookup layout 'first-page-number)))

#(define (reset-part-first-page layout props arg)
   "Returns page-number-string, starting every bookpart with page-number 0.
Relying on the extern defined `part-first-pages'.
"
   (set! props (prepend-alist-chain 'part-first-page '(0) props))

   (let* ((real-page-number (chain-assoc-get 'page:page-number props -1))
          (parts-page-number (- real-page-number (car part-first-pages))))

     (if (part-first-page? layout props)
         (set! part-first-pages (cons (1- real-page-number) part-first-pages)))

     (set! props
           (cons
            (list
             (cons 'page:page-number-string (number->string parts-page-number))
             (cons 'page:page-number parts-page-number))
            props))
     (interpret-markup layout props arg)))

#(define ((print-part-first-page-as-one number-type) layout props arg)

   (set! props
         (cons
          (list
           (cons 'page:page-number-string
                 (let ((page-number
                        (chain-assoc-get 'page:page-number props -1)))
                   ;(if (<= page-number 0) ""
                   (cond ((and (eq? number-type 'roman-lower) (> page-number 0))
                          (fancy-format #f "~(~@r~)" page-number))
                         ((and (eq? number-type 'roman-upper) (> page-number 0))
                          (fancy-format #f "~@r" page-number))
                         ((eq? number-type 'arabic)
                          (number->string page-number))
                         (else (number->string page-number)))));)
           (cons 'page:page-number
                 (chain-assoc-get 'page:page-number props -1)))
          props))
   (interpret-markup layout props arg))

\paper {
  print-first-page-number = ##t
  #(set-paper-size "a6")
  oddMarkup =
  #(define-scheme-function (number-type)(symbol?)
     #{
       \markup
       \column {
         \fill-line {
           " "
           \on-the-fly #not-part-first-page \fromproperty #'header:instrument
           %% use in this order:
           \on-the-fly #reset-part-first-page
           \on-the-fly #(print-part-first-page-as-one number-type)
           \on-the-fly #print-page-number-check-first
           \fromproperty #'page:page-number-string
         }
       }
     #})

  evenMarkup =
  #(define-scheme-function (number-type)(symbol?)
     #{
       \markup
       \column {
         \fill-line {
           %% use in this order:
           \on-the-fly #reset-part-first-page
           \on-the-fly #(print-part-first-page-as-one number-type)
           \on-the-fly #print-page-number-check-first
           \fromproperty #'page:page-number-string
           \on-the-fly #not-part-first-page \fromproperty #'header:instrument
           " "
         }
       }
     #})
    oddHeaderMarkup = \oddMarkup #'arabic
    evenHeaderMarkup = \evenMarkup #'arabic
}

\header { title = "Essai" }

\book {
  \bookpart {
    \score {
      \new Staff \with { instrumentName = "Part 1" }
      { c''1 \label #'theLastPage }
    }
  }
  \bookpart {
    \paper { first-page-number = #0 }
    \score {
      \new Staff \with { instrumentName = "Part 2" }
      { c''1  \label #'theLastPage }
    }
  }
}

-- 
Vincent Gay
Envoyé depuis mon saxo-phone :)
https://myrealbook.vintherine.org/ - http://photos.vintherine.org/

reply via email to

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