[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Positionnement vertical (écart numéro de page / titre)
From: |
Vincent Gay |
Subject: |
Positionnement vertical (écart numéro de page / titre) |
Date: |
Thu, 30 Sep 2021 11:36:50 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.1.1 |
Bonjour,
j'utilise une fonction qui m'a été communiqué par Pierre Perol-Schneider
pour redémarrer la numérotation des pages à 1 à
chaque début de \bookpart. Cela fonctionne parfaitement si ce n'est que
ça introduit un espace supplémentaire au dessus du titre. Outre le coté
inesthétique cela me provoque des sauts de pages à des endroits ou je ne
le voudrais pas.
Dans l'exemple minimal ci-dessous il suffit de commenter / dé-commenter
les 2 dernières lignes du bloc \paper { } pour voir la différence
Y-aurait-il un moyen de corriger ce petit problème ? merci d'avance
%---------- Code minimal -------------
\version "2.22.1"
#(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)))
(cond ((eq? number-type 'roman-lower)
(fancy-format #f "~(~@r~)" page-number))
((eq? number-type 'roman-upper)
(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 {
indent = 0\mm
ragged-last-bottom = ##f
ragged-bottom = ##t
ragged-last = ##f
markup-system-spacing = #'((basic-distance . 15)
(minimum-distance . 6)
(padding . 0))
score-system-spacing = #'((basic-distance . 23)
(minimum-distance . 20)
(padding . 5))
print-first-page-number = ##t
oddMarkup =
#(define-scheme-function (number-type)(symbol?)
#{
\markup
\column {
\fill-line {
" "
\on-the-fly #not-part-first-page \fromproperty
#'header:instrument
\on-the-fly #print-page-number-check-first
%% use in this order:
\on-the-fly #reset-part-first-page
\on-the-fly #(print-part-first-page-as-one number-type)
\fromproperty #'page:page-number-string
}
\vspace #5
}
#})
evenMarkup =
#(define-scheme-function (number-type)(symbol?)
#{
\markup
\column {
\fill-line {
\on-the-fly #print-page-number-check-first
%% use in this order:
\on-the-fly #reset-part-first-page
\on-the-fly #(print-part-first-page-as-one number-type)
\fromproperty #'page:page-number-string
\on-the-fly #not-part-first-page \fromproperty
#'header:instrument
" "
}
\vspace #5
}
#})
% commenter dé-commenter les 2 lignes suivantes pour voir l'espace
supplémentaire introduit par la fonction
oddHeaderMarkup = \oddMarkup #'arabic
evenHeaderMarkup = \evenMarkup #'arabic
}
\header {
title = "title"
composer = "composer"
}
\book {
\bookpart {
\score {
\relative c' {
\repeat unfold 16 { c4 }
}
}
}
\bookpart {
\score {
\relative c' {
\repeat unfold 16 { c4 }
}
}
}
\bookpart {
\score {
\relative c' {
\repeat unfold 16 { c4 }
}
}
}
}
Vincent Gay
Envoyé depuis mon saxo-phone :)
https://myrealbook.vintherine.org/ - http://photos.vintherine.org/
OpenPGP_signature
Description: OpenPGP digital signature
- Positionnement vertical (écart numéro de page / titre),
Vincent Gay <=