Merci beaucoup Ben, je ne connaissais pas ly:parser-include-string
. C’est une bonne idée je pense, mais ma fonction inclue une variable pour le formatage du book, et j’ai l’impression qu’avec cette méthode cela ne peut pas fonctionner.
Pour l’instant le code le plus efficace que j’ai trouvé est le suivant :
\version "2.22.2"
xBook =
#(define-scheme-function
(key)
(string?)
#{
\paper {
oddHeaderMarkup = \markup {
\on-the-fly \first-page { \circle \pad-around #2 $key }
\on-the-fly \not-part-first-page {
\fromproperty #'header:title
\concat { "[" $key "]" }
"- p." \fromproperty #'page:page-number-string
}
}
evenHeaderMarkup = \markup {
\fromproperty #'header:title
\concat { "[" $key "]" }
"- p." \fromproperty #'page:page-number-string
}
}
#})
\book {
\bookOutputSuffix "Ut"
\xBook "Ut"
\score {
\relative c' {
\mark "Theme"
\repeat unfold 15 { a1 b c d \break }
}
}
\score {
\relative c' {
\mark "Coda"
a b c d
}
}
}
J’aurais bien aimé avoir une seule commande pour \bookOutputSuffix
et \xBook
, d’où l’idée du code dans mon premier mail, mais pour l’instant je n’ai pas assez de connaissances…
Merci à tous pour votre aide !
Simon