Ossia-Abschnitt bei Zeilenumbruch

Begonnen von oiseau, Mittwoch, 10. Februar 2021, 11:50

« vorheriges - nächstes »

oiseau

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}

>>


harm6

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

oiseau

Vielleicht sollte ich das wirklich so lassen. Ich danke Dir vielmals erneut. Ich werde das gleich einmal ausprobieren.  :)