|
From: | Frère Raphaël |
Subject: | Re: alignement opus et piece |
Date: | Mon, 24 Sep 2012 12:54:28 +0200 |
Un grand merci à Eluze et Gilles
pour leurs recherches qui avancent !
Comme le propose Eluze, j'aimerais pouvoir incorporer cette (ou une
autre) fonction dans la définition du scoreTitleMarkup permettant
d'utiliser ensemble opus = et piece = .
Avec le but que l'opus soit toujours mis à l'extérieur de la page et que la
piece soit placée à un endroit fixe, mais pas nécessairement au milieu, plutôt
un peu sur la gauche. Est-ce qu'une variable ne peut pas être introduite
dans la définition du scoreTitleMarkup ? Ceci est en vue de faciliter la
mise en page d'un livret de petits chants.
Voici ci-dessous le résultat que j'aimerais mais il faudrait simplifier
l'écriture (surtout la recherche de la valeur du \halign qui prend du temps pour
chaque piece).
Raphaël
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.16.00"
\paper {
scoreTitleMarkup = \markup { \column {
\on-the-fly #print-all-headers { \bookTitleMarkup \hspace #1 }
\fill-line {
\fromproperty #'header:opus
\tiny \fromproperty #'header:piece
}
}
}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#(define-markup-command (consider-page-num layout props label arg)
(symbol? markup?)
(let* ((stencil (interpret-markup layout props arg))
(x-ext (ly:stencil-extent stencil X))
(y-ext (ly:stencil-extent stencil Y)))
(ly:make-stencil
`(delay-stencil-evaluation
,(delay (ly:stencil-expr
(let* ((table (ly:output-def-lookup layout 'label-page-table))
(page-number (if (list? table)
(assoc-get label table)
#f)))
(interpret-markup layout props
(if (even? page-number)
(markup arg)
(markup #:fill-line ("" arg))))))))
x-ext
y-ext)))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\book {
\score {
\new Staff { \label #'a \repeat unfold 100 c'1 }
\header {
opus = \markup { \consider-page-num #'a "hymn-1" }
piece = \markup { \null \halign #27 "Te Deum" }
}
}
\score {
\new Staff { \label #'b \repeat unfold 100 c'1 }
\header {
opus = \markup { \consider-page-num #'b "hymn-2" }
piece = \markup { \null \halign #57 "Aria" }
}
}
\score {
\new Staff { \label #'c \repeat unfold 100 c'1 }
\header {
opus = \markup { \consider-page-num #'c "hymn-3" }
piece = \markup { \null \halign #38 "Messe" }
}
}
\score {
\new Staff { \label #'d c'1 }
\header {
opus = \markup { \consider-page-num #'d "hymn-4" }
piece = \markup { \null \halign #55 "Solo" }
}
}
\score {
\new Staff { \label #'e \repeat unfold 100 c'1 }
\header {
opus = \markup { \consider-page-num #'e "hymn-5" }
piece = \markup { \null \halign #21.5 "Magnificat" }
}
}
\score {
\new Staff { \label #'f c'1 }
\header {
opus = \markup { \consider-page-num #'f "hymn-6" }
piece = \markup { \null \halign #38 "Agnus" }
}
}
} De : Eluze
Date/heure : 24-09-2012
10:29:18
A : lilypond-user-fr
Cc :
Sujet : Re: alignement opus et
piece
Gilles THIBAULT wrote
>> mais je préférerais une solution qui prend compte des deux variables
>> /opus/
>> et /piece/
>>
>> malheureusement je ne comprends pas assez scheme pour pouvoir adapter le
>> code de David (/consider-page-num/) - y a-t-il quelqu'un qui sait comment
>> faire?
>
> Pour ne justement pas toucher le code de David, j'ai laisser la fonction
> être appeler par opus, mais
> je ne sais pas si c'est le résultat que tu souhaitais.
merci - je pense que c'est à peu près ce que Raphaël cherche!
petit détail: les deux arguments ne sont pas exactement à la même hauteur
(dû aux queues de lettres)
est-il possible de combiner arg1 et arg2 en même temps:
(markup #:fill-line (arg1 arg2 "")) ;even
(markup #:fill-line ("" arg2 arg1)) ;odd
(ou en dans la ligne arg1-stencil arg2-stencil)
pour une autre fois: pourrait-on incorporer cette fonctionnalité dans la
définition du scoreTitleMarkup permettant de réutiliser opus = et piece =?
Eluze
--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/alignement-opus-et-piece-tp7578429p7578471.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.
_______________________________________________
liste de diffusion lilypond-user-fr
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr |
[Prev in Thread] | Current Thread | [Next in Thread] |