Hallo,
willkommen im Forum!
Zum Thema:
Das Problem gründet auf dem Unterschied von bookTitleMarkup und scoreTitleMarkup.
\fromproperty #'header: ... ruft die entsprechende Variable aus dem bookTitleMarkup auf. Das scoreTitleMarkup kann zwar eine `piece´-Angabe hinzufügen (oder auch überschreiben), da die page-header (und footer) jedoch vorher definiert sein müssen, greifen sie immer auf die Original-Variable aus dem Original-bookheader zu.
Wenn Du also
piece = "irgendwas"
im book-header definiertest, so wird immer "irgendwas" in die page-header geschrieben.
Zwei Lösungsmöglichkeiten:
a) Ein kleines feature welches ich vor ein paar Monaten als patch geschrieben habe: #(on-page <number>)
Hier handelt es sich um die Möglichkeit auf bestimmten, namentlich anzugebenden Seiten, bestimmte markups in die header/footer zu setzen.
Wenn Du mehrere, verschiedene markups auf verschiedenen Seiten haben willst, so benutze \line { ... }.
Du kannst in \paper eine Variable (als \markup { ...}) definieren, die alle diese Setzungen enthält und in den page-header-Definitionen einfach aufrufen.
Das Ganze ist allerdings nicht völlig automatisiert, aber man hat zumindest die Möglichkeit bestimmte Seiten anzusprechen.
\version "2.16.0"
\include "deutsch.ly"
\markuplist \table-of-contents
\pageBreak
\header {
title = "Titel"
composer = "Komponist"
copyright = "Copyright"
} % header
% Jetzt kommen die einzelnen Sätze über Inkludierung.
% Damit ich den Satztitel micht mehrfach schreiben muss, übergebe ich eine
% Variable:
thisPiece¹ = "Eins"
%\include "eins.ly"
thisPiece² = "Zwei"
% \include "zwei.ly"
thisPiece³ = "Drei"
% \include "drei.ly"
% usw.
% dann kommt die paper-Deklaration,
\paper {
myHeadersMarkup = \markup {
\line {
\on-the-fly #(on-page 2) \thisPiece¹
\on-the-fly #(on-page 3) \thisPiece²
\on-the-fly #(on-page 4) \thisPiece³
}
}
oddHeaderMarkup = \markup {
\fill-line {
\on-the-fly #not-first-page
\box
\myHeadersMarkup
\on-the-fly #not-first-page
\fromproperty #'header:title
}
}
evenHeaderMarkup = \markup {
\fill-line {
\fromproperty #'header:title
\box
\myHeadersMarkup
}
}
} % paper
%%{
% Beispiel für eins.ly
\tocItem \markup \thisPiece¹
\tocItem \markup \thisPiece²
\tocItem \markup \thisPiece³
\score {
\relative c { b a c h }
\header {
piece = \thisPiece¹
} % header
} % score
\pageBreak \markup \fill-line { \fontsize #6 "Page 3" }
\pageBreak \markup \fill-line { \fontsize #6 "Page 4" }
%}
b) \book und \bookpart
Du kannst in jedem bookpart (unabhängig von anderen bookparts) neue Definitionen von \paper, \layout, \header etc angeben.
Allerdings wird jeder bookpart auf einer neuen Seite begonnen. Ob das in Deinem Fall von Vorteil oder Nachteil ist kann ich natürlich nicht sagen.
Gruß,
Harm