Ihr habt mir bereits geholfen, einen Ossia-Abschnitt in einem PianoStaff ohne BarLine dazwischen darzustellen. Nach einem Zeilenumbruch jedoch wird die Systemklammer am Anfang bis zum Ossia-Staff hochgezogen (siehe Anhang 1). Kann ich das irgendwie lösen (wie in Anhang 2)?
Hier ist der Quellcode dazu:
\new PianoStaff <<
\new Staff = main \relative c' {
c d e f
<<
{
c d e f
c d e f
c d e f
c d e f
c d e f \break
c d e f
c d e f
c d e f
}
\new Staff \with {
\remove "Time_signature_engraver"
alignAboveContext = "main"
fontSize = #-3
\override StaffSymbol.staff-space = #(magstep -3)
\override StaffSymbol.thickness = #(magstep -3)
\override BarLine.allow-span-bar = ##f
% firstClef = ##f % Notenschlüssel ausblenden
}
{
\once \override Staff.Clef.stencil = ##f
\stopStaff
\grace s8
\startStaff
\clef treble
e'4^"2. Stimme (re. Hand)" _(c a e) c2 c' c4 d e f c4 d e f c4 d e f c4 d e f c4 d e f \stopStaff }
>>
c,4 d e f
}
\new Staff \relative c { \clef bass c2 e c e c e c e c d c d c d c d c d c d}
>>
Hallo,
ich würde das default-Verhalten bevorzugen und nicht ändern wollen.
Aber mit etwas Trickserei (siehe die Kommentare) geht es:
\version "2.22.0"
\score {
%% We go for GrandStaff instead of PianoStaff, otherwise \RemoveAllEmptyStaves
%% wouldn't work, because of the Keep_alive_together_engraver in PianoStaff
\new GrandStaff
\with {
%% Create a new systemStartDelimiter:
%% Second and third Staff get SystemStartBrace *and* SystemStartSquare
%% All three staves get SystemStartBar (removed in \layout below), we need
%% to connect all three staves, otherwise the default (SystemStartBrace)
%% would step in
systemStartDelimiterHierarchy =
#'(SystemStartBar a (SystemStartSquare (SystemStartBrace b c)))
%% Let SystemStartSquare print like SystemStartBar
\override SystemStartSquare.style = #'bar-line
}
<<
%% Dummy Staff to pretend we have three staves right from beginning
\new Staff = "dummy" \with { \RemoveAllEmptyStaves } { s1 }
\new Staff = "main"
\relative c' {
c4 d e f
<<
{
c d e f
c d e f
c d e f
c d e f
c d e f \break
c d e f
c d e f
c d e f
}
\new Staff = "ossia"
\with {
\remove "Time_signature_engraver"
alignAboveContext = "main"
fontSize = #-3
\override StaffSymbol.staff-space = #(magstep -3)
\override StaffSymbol.thickness = #(magstep -3)
\override BarLine.allow-span-bar = ##f
% firstClef = ##f % Notenschlüssel ausblenden
}
{
\once \override Staff.Clef.stencil = ##f
\stopStaff
\grace s8
\startStaff
\clef treble
e'4^"2. Stimme (re. Hand)" _(c a e)
c2 c' c4 d e f c4 d e f c4 d e f c4 d e f c4 d e f
\stopStaff
}
>>
c,4 d e f
}
\new Staff \relative c {
\clef bass
c2 e c e c e c e c d c d c d c d c d c d
}
>>
\layout {
\context {
\Score
%% Remove SystemStartBar for the entire Score
\override SystemStartBar.stencil = ##f
}
}
}
Gruß,
Harm
Vielleicht sollte ich das wirklich so lassen. Ich danke Dir vielmals erneut. Ich werde das gleich einmal ausprobieren. :)