Lieber Harm,
ich dachte ja, meine Idee der getrennten Behandlung von long- und shortname wäre machbar, dann wäre
das Beispiel eher verkomplizierend gewesen.
Ich muss gestehen, dass mir das Hintergrundwissen fehlt um Deinen Code soweit zu analysieren,
dass ich verstehe, wass Du da gemacht hast

Hier also ein Beispiel und das was ich erreichen möchte:
\version "2.19.58"
einzel = \new Staff
\with {
instrumentName = "LongEinzel"
shortInstrumentName = "A"
}
\repeat unfold 50 r1
gruppe = \new StaffGroup
\with {
instrumentName = \markup \rotate #90 "Chor II_l"
shortInstrumentName = \markup \rotate #90 "Chor II_s"
}
<<
\new Staff
\with {
instrumentName = "long"
shortInstrumentName = " "
}
\relative { \repeat unfold 50 r1 }
\new Staff \with {
instrumentName = "long"
shortInstrumentName = " "
}
\relative {\repeat unfold 50 r1 }
>>
\score {
<<
\einzel
\gruppe
>>
\layout {
indent = 2.5\cm
short-indent = 2\cm
\context {
\Staff
\override InstrumentName #'self-alignment-X = #0.5
}
\context {
\StaffGroup
\override InstrumentName #'self-alignment-X = #-0.5
}
}
}
Im ersten System schiebe ich den langen InstrumentName der Gruppe mit \override InstrumentName #'self-alignment-X = #-0.5 nach links, so kollidiert er nicht mit den Staffnamen, die ich im ersten System auch noch haben möchte. Später möchte ich dort nur noch den Gruppennamen, allerdings in einer Flucht mit den Staffnamen der "nicht-Gruppen-Staffs". Dafür hätte ich den Inhalt von InstrumentName und ShortInstrumentName gleich gelassen und für den StaffGroup-Context den einen verschoben, den anderen nicht.

Ich weiß, immernoch kompliziert - aber ich bin zu blöd das schlichter zu formulieren

Joei