Hallo Jonas,
Lilypond ist nun aber der Meinung, dass zur Höhe eines Systems auch dessen Lyrics gehören, was im Grunde ja gut ist – denn sonst würden die Lyrics ja in das nächste System rutschen –, was aber ziemlich dämlich ist, wenn es InstrumentName zwischen den beiden Systemen zentrieren soll.
Ja, das ist wirklich dämlich und ärgert auch mich

Die schnellste und unkomplizierteste Abhilfe ist die manuelle Positionierung – muss man ja nur einmal für das allererste System machen. Ich löse das seit v2.14 in einer Spalte mit zusätzlichem
\vspace. Ein guter Startwert ist
#2 – den kann man dann kommastellenweise anpassen, um eine annähernde Zentrierung hinzukriegen (siehe Snippet). Hilfreich dabei ist eine vorübergehende Abänderung des
systemStartDelimiter in
SystemStartBrace, da sieht man gut die vertikale Mitte.
Grundsätzlich ist der
Instrument_name_engraver seit v2.14 von vornherein Bestandteil des
ChoirStaff-Contexts (man muss ihn also nicht mehr explizit hinzufügen), aber dass zumindest die unterste
Lyrics-Zeile für die Berechnung der (vertikal zentrierten) Position der
ChoirStaff-Bezeichnung außen vor gelassen werden muss, ist den Entwicklern wohl entwischt. Ich habe auch noch nicht nachgeforscht, ob das Problem bereits gemeldet wurde.
Programmtechnisch hatte ich gehofft, einen Ansatz in Harms Thread zu
Wie liest man die aktuelle Höhe einer StaffGroup aus? zu finden (also Systemhöhe auslesen, halbieren und
instrumentName dorthin schieben), aber so richtig weit bin ich mit der Anwendung der Ausleseprozedur auch noch nicht gekommen

Kosmetiktechnisch bevorzuge ich die gewohnten
SystemStartBrackets (für „ChoirStaves in ChoirStaff“), die etwas näher an die eigentliche, große Systemklammer gerückt sind – aber darüber könnte man sich streiten. Mein Template ist nur eines von vielen:
\version "2.14.2"
Global = {
\key d \minor
s1*4
\break
s1*4
\bar "|."
}
Noten = \relative c' { \repeat unfold 8 { a4 a a a } }
Text = \lyricmode { a a a a }
\score {
\context ChoirStaff = "Tutti"
<<
\context ChoirStaff = "Sopran" \with {
instrumentName = \markup \column { "Sopran" \vspace #2 }
\override SystemStartBracket #'padding = #0.4
%systemStartDelimiter = #'SystemStartBrace
}
<<
\context Staff = "SopranI" \with {
instrumentName = #"I"
shortInstrumentName = #"S.I"
}
<<
\context Voice = "SopranI" {
<< \Global \Noten >>
}
\context Lyrics = "SopranIText" \lyricsto "SopranI" \Text
>>
\context Staff = "SopranII" \with {
instrumentName = #"II"
shortInstrumentName = #"S.II"
}
<<
\context Voice = "SopranII" {
<< \Global \Noten >>
}
\context Lyrics = "SopranIIText" \lyricsto "SopranII" \Text
>>
>>
\context ChoirStaff = "Alt" \with {
instrumentName = \markup \column { "Alt" \vspace #2 }
\override SystemStartBracket #'padding = #0.4
%systemStartDelimiter = #'SystemStartBrace
}
<<
\context Staff = "AltI" \with {
instrumentName = #"I"
shortInstrumentName = #"A.I"
}
<<
\context Voice = "AltI" {
<< \Global \Noten >>
}
\context Lyrics = "AltIText" \lyricsto "AltI" \Text
>>
\context Staff = "AltII" \with {
instrumentName = #"II"
shortInstrumentName = #"A.II"
}
<<
\context Voice = "AltII" {
<< \Global \Noten >>
}
\context Lyrics = "AltIIText" \lyricsto "AltII" \Text
>>
>>
\context ChoirStaff = "Tenor" \with {
instrumentName = \markup \column { "Tenor" \vspace #2 }
\override SystemStartBracket #'padding = #0.4
%systemStartDelimiter = #'SystemStartBrace
}
<<
\context Staff = "TenorI" \with {
instrumentName = #"I"
shortInstrumentName = #"T.I"
}
<<
\context Voice = "TenorI" {
\clef "treble_8"
<< \Global \Noten >>
}
\context Lyrics = "TenorIText" \lyricsto "TenorI" \Text
>>
\context Staff = "TenorII" \with {
instrumentName = #"II"
shortInstrumentName = #"T.II"
}
<<
\context Voice = "TenorII" {
\clef "treble_8"
<< \Global \Noten >>
}
\context Lyrics = "TenorIIText" \lyricsto "TenorII" \Text
>>
>>
\context ChoirStaff = "Bass" \with {
instrumentName = \markup \column { "Baß" \vspace #2 }
\override SystemStartBracket #'padding = #0.4
%systemStartDelimiter = #'SystemStartBrace
}
<<
\context Staff = "BassI" \with {
instrumentName = #"I"
shortInstrumentName = #"B.I"
}
<<
\context Voice = "BassI" {
\clef "bass"
<< \Global \Noten >>
}
\context Lyrics = "BassIText" \lyricsto "BassI" \Text
>>
\context Staff = "BassII" \with {
instrumentName = #"II"
shortInstrumentName = #"B.II"
}
<<
\context Voice = "BassII" {
\clef "bass"
<< \Global \Noten >>
}
\context Lyrics = "BassIIText" \lyricsto "BassII" \Text
>>
>>
>>
\layout {
indent = #20
short-indent = #10
\context {
\Score
\override InstrumentName #'font-series = #'bold
\override BarNumber #'font-series = #'bold
\override BarNumber #'font-shape = #'italic
\override BarNumber #'font-size = #0.5
\override BarNumber #'padding = #2
}
}
}
Grüße, Robert