Hallo Holger,
nachdem ich nun genau weiß was Du anstrebst, fürchte ich Dir nicht helfen zu können. Ich habe zwar mein
\text-page-ref noch gekürzt und überarbeitet damit es 2.12.3-kompatibel ist, aber es ist im
bookTitleMarkup nicht sinnvoll einsetzbar. Das liegt an
\label. Leider wird nur der angegebene
label benutzt. Sinnvoll wäre, wenn es von einem zum anderen label springen würde. (Und die label willst Du ja sowieso nicht haben.) Ich poste es trotzdem mal, vielleicht kann jemand ja doch was damit anfangen. Wenn man im ersten bookpart bei \repeat unfold 1 {s1 \pageBreak } die Anzahl der Wiederholungen erhöht, so sieht man, daß "NR1" links oder rechts erscheint, je nach gerader oder ungerader Seitennummer. Aber das wars auch schon. Zumindest habe ich nichts weiteres damit hinbekommen. Schon wenn man einen zweiten Score mit header einfügt klappts es so nicht mehr.

\version "2.12.3"
#(define-markup-command (text-page-ref layout props label text1 text2)
(symbol? markup? markup?)
(let* ((text-stencil (interpret-markup layout props (markup #:concat (text2 text1))))
(x-ext (ly:stencil-extent text-stencil X))
(y-ext (ly:stencil-extent text-stencil Y)))
(ly:make-stencil
`(delay-stencil-evaluation
,(delay (ly:stencil-expr
(let* ((table (ly:output-def-lookup layout 'label-page-table))
(label-page (and (list? table) (assoc label table)))
(page-number (and label-page (cdr label-page))))
(if (even? page-number)
(interpret-markup layout props
(markup #:fill-line (#:null text1 text2)))
(interpret-markup layout props
(markup #:fill-line (text2 text1 #:null)))
)))))
x-ext
y-ext)
))
%---------------------- Test ---------------------------------------------------
\book {
\paper {
print-first-page-number = ##t
bookTitleMarkup = \markup {
\text-page-ref #'a
\huge \larger \bold \larger \fromproperty #'header:title
\fontsize #10 \bold \sans \with-color #(x11-color 'grey66)
\fromproperty #'header:number
}
}
\bookpart {
\repeat unfold 1 {s1 \pageBreak }
}
\bookpart {
\label #'a
\header {
title = "Stueck A"
subtitle = "Teil 1"
composer = "comp. AA,aa"
number = "NR1"
}
\score {
{ b'1 }
}
}
}Habe noch ein bisschen rumprobiert mit delay-stencil-evaluation und props statt layout, denn die Seitenzahl steckt ja in props.
Ich habe aber das Prinzip nicht richtig verstanden, und es funktionierte nicht oder kam zu tödlichen Fehlermeldungen.
Wenn du mir das etwas erklären könntest, dann klappt es vielleicht doch noch irgendwie.
Da ich delay-stencil-evaluation hier zum allerersten mal angewendet habe und es bestenfalls halb verstanden habe, verzichte ich besser auf eine Erklärung ehe ich noch irgendeinen Unsinn verbreite.
Nachdem ich nun geschildert habe was alles nicht geklappt hat, noch ein paar Gedanken, die vielleicht weiterführen.
Du schreibst ja selbst:
Das Problem ist, dass der Titel (im Gegensatz zu den Fuß- und Kopfzeilen) intern nicht erkennen kann, ob er gerade auf einer geraden oder ungeraden Seitenzahl ausgegeben werden soll.
Woher wissen, die header/footer das denn?
In paper-defaults-init.ly gibts:
%%
%% Headers, footers, and titles
%%
#(define make-header (marked-up-headfoot 'oddHeaderMarkup 'evenHeaderMarkup))
#(define make-footer (marked-up-headfoot 'oddFooterMarkup 'evenFooterMarkup))
#(define-public book-title (marked-up-title 'bookTitleMarkup))
#(define-public score-title (marked-up-title 'scoreTitleMarkup))
#(define-public score-title-properties
'((is-title . #t)
(is-book-title . #f)))
#(define-public book-title-properties
'((is-title . #t)
(is-book-title . #t)))
\include "titling-init.ly"Das
marked-up-headfoot ist das wichtige hier. Die Definition hierfür findet sich in titling.scm (hast Du schon geschrieben, ich fasse es aber nochmal in einen anderen Zusammenhang).
Die Argumente von
(define-public ((marked-up-headfoot what-odd what-even)
layout scopes page-number is-last-bookpart is-bookpart-last-page) ... beinhalten auch die gesuchte page-nuber!
Diese Argumente führen jedoch zu page.scm.
Tja, und hier wird es mir zuviel

Eine solche Verschachtelung von files und und Definitionen ist für mich dann irgendwann nicht mehr zu durchschauen.
Tut mir leid.
Aber ich wünsche Dir natürlich viel Erfolg. An einem Ergebnis wäre ich dann sehr interessiert.
Gruß,
Harm
P.S.
Ich verwende noch Version 2.12.3 und habe im Moment auch keine Möglichkeit upzugraden, da ich auf mehreren Rechnern arbeite, die untereinander kompatibel sein müssen, und unter Ubuntu 10.04 noch kein 2.14 verfügbar ist.
Das ist nicht so ganz richtig. Die synaptic bietet zwar nur 2.12.3 aber man kann 2.14.2 natürlich
direkt herunterladen und manuell installieren. Ich benutze selber Ubuntu 10.04 und bin so verfahren.