Hallo Guido,
natürlich ist es immer enorm, erleichternd, wenn man compilierbare Beispiele hat - man kann dann einfach auch mal drauflosprobieren.
Aber in diesem Fall ist es besonderns wichtig, denn die "störenden" doppelten Angaben stammen ja aus den Stimmen, und für deren Vermeidung ist es sehr wohl von belang, wie diese erzeugt wurden: als
\tempo-Anweisung oder "normales" Markup etc...
Wie so oft führen meherere Wege auf einen Berg. Die
\partcombine-Anweisung berücksichtigt Dynamik-Angaben, aber sie ist da extrem kleinlich und nicht unproblematisch, bei den reinen Text-Markups hilft sie auch nicht.
Deshalb habe ich Dein Beispiel im wesentlichen so gelassen, wie es ist, und zu folgenden Maßnahmen gegriffen:
Für den Klavierauszug in der Alt-Stimme alle Stencils der Text-Markups (
TextScript) und der Dynamik-Angaben (das sind verschiedene:
DynamicText für die "Buchstaben",
DanymicTextSpanner für cresc./decr. mit Linie,
Hairpin für die Crescendo- und Descrescendo-Gabeln) ausgeschaltet.
Für das untere System komplett auch.
So "überleben" nur die Angaben aus dem Sopran.
Im abgeänderten Beispielcoding habe ich zu Demonstrationszwecken zuerst eine Chorpartitur mit allerlei lustigen Schlüsseln und Einzelzeilen eingefügt und danach einen "bereinigten" Klavierauszug:
\version "2.16.1"
\version "2.16.2"
gdmsopran = \relative c''{ c^"rubato" d\p e f g^"Fine"}
gdmalt = \relative c''{
a^"rubato" b\p c d e^"Fine"
}
gdmtenor = \relative c { c^"rubato" d\p e f g^"Fine"}
gdmbass = \relative c {
c^"rubato" e\p f g a^"Fine"
}
\score {
<<
\new ChoirStaff
<<
\new Staff { \clef "soprano" \gdmsopran }
\new Staff { \clef "alto" \gdmalt }
\new Staff { \clef "tenor" \gdmtenor }
\new Staff { \clef "bass" \gdmbass }
>>
>>
\header { piece = "Chorsatz" }
}
\score {
<<
\new PianoStaff
<<
\new Staff
<<
\clef "treble"
\gdmsopran
\\ { \override TextScript #'stencil = ##f
\override DynamicText #'stencil = ##f
\override DynamicTextSpanner #'stencil = ##f
\override Hairpin #'stencil = ##f
\gdmalt }
>>
\new Staff \with {
\override TextScript #'stencil = ##f
\override DynamicText #'stencil = ##f
\override DynamicTextSpanner #'stencil = ##f
\override Hairpin #'stencil = ##f
}
<<
\clef "bass"
\gdmtenor
\\ \gdmbass
>>
>>
>>
\header { piece = "Klavierauszug" }
}Alternativen:Eine andere Möglichkeit wäre, eine separate "Dynamik-Stimme" zu definieren, die jeweils bei Bedarf dazu eingebunden wird. Im Klavierauszug eben nur einmal statt viermal

Für feinere Unterteilungen (stellenweise Ausnahmen, speziell andere Anordnung usw.) besteht noch die Möglichkeit, mit Tags zu arbeiten und somit speziell für Partitur, Chorheft, Klavierauszug und Einzelstimmen abweichendes Coding in ein und derselben Stimmdefinition zu haben.
Siehe hierzu im Handbuch
3.3.2 Verschiedene Editionen aus einer Quelldatei. Da wird ein Klavierauszug per
\partcombine demonstriert und beim "Marken benutzen" der Umgang mit Tags erläutert.
Viele Grüße
Torsten
Edit: Spinne ist mir zuvorgekommen und hat die
\partcombine-Lösung demonstriert. Wobei ich dann noch die Partcombine-Texte wie "a2" usw. per
printPartCombineTexts = ##f ausgeschalten würde...
die Dynamik funktioniert noch nicht ganz... Warum nicht?
[...]
In Stimme 1 und 2 gehts mit der Dynamik, bei 3 und 4 nicht?
Tja, solche Dinge meinte ich mit "Die
\partcombine-Anweisung berücksichtigt Dynamik-Angaben, aber sie ist da extrem kleinlich und nicht unproblematisch [...]"

Der Grund dafür, daß
\partcombine die Dynamik für Tenor und Baß nicht "zusammenfaßt" ist, daß der Baß höher als der Sopran singt, und um die Noten eindeutig den Stimmen zuordnen zu können, wird in den "Apart-Modus" gewechselt, also eigene Hälse nach oben für den Tenor, eigene Hälse nach unten für den Baß - und als Nebeneffekt auch separate (und somit doppelte) Dynamik-Angaben.