[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/
Re: Numérotation des pages, Jean Abou Samra, 2022/07/12