Jump to content

Nesting staves: Difference between revisions

From LilyPond wiki
No edit summary
mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
The property <code>systemStartDelimiterHierarchy</code> can be used to make more complex nested staff groups. The command <code>\set StaffGroup.systemStartDelimiterHierarchy</code> takes an alphabetical list of the number of staves produced. Before each staff a system start delimiter can be given. It has to be enclosed in brackets and takes as much staves as the brackets enclose. Elements in the list can be omitted, but the first bracket takes always the complete number of staves. The possibilities are <code>SystemStartBar</code>, <code>SystemStartBracket</code>, <code>SystemStartBrace</code>, and <code>SystemStartSquare</code>.
The property <code>systemStartDelimiterHierarchy</code> can be used to make more complex nested staff groups. The <code>systemStartDelimiterHierarchy</code> property of the <code>StaffGroup</code> context takes an alphabetical list of the number of staves produced. Before each staff a system start delimiter can be given. It has to be enclosed in brackets and takes as much staves as the brackets enclose. Elements in the list can be omitted, but the first bracket takes always the complete number of staves. The possibilities are <code>SystemStartBar</code>, <code>SystemStartBracket</code>, <code>SystemStartBrace</code>, and <code>SystemStartSquare</code>.


<lilypond version="2.24">
<lilypond version="2.24">
Line 6: Line 6:
   \override StaffGroup.SystemStartSquare.collapse-height = 4
   \override StaffGroup.SystemStartSquare.collapse-height = 4
   \set StaffGroup.systemStartDelimiterHierarchy
   \set StaffGroup.systemStartDelimiterHierarchy
     = #'(SystemStartSquare (SystemStartBrace (SystemStartBracket a
     = #'(SystemStartSquare
                            (SystemStartSquare b) ) c ) d)
          (SystemStartBrace
            (SystemStartBracket a
              (SystemStartSquare b))
            c)
          d)
 
   \new Staff { c1 }
   \new Staff { c1 }
   \new Staff { c1 }
   \new Staff { c1 }
Line 16: Line 21:
</lilypond>
</lilypond>


[[Category:Contexts and engravers]]
[[Category:Staff notation]]
[[Category:Staff notation]]
[[Category:Staff notation]]
[[Category:Contexts and engravers]]
[[Category:Tweaks and overrides]]
[[Category:Tweaks and overrides]]
[[Category:Included in the official documentation]]
[[Category:Included in the official documentation]]
[[Category:Preparing parts]][[Category:Snippet]]
[[Category:Snippet]]

Latest revision as of 18:13, 10 December 2025

The property systemStartDelimiterHierarchy can be used to make more complex nested staff groups. The systemStartDelimiterHierarchy property of the StaffGroup context takes an alphabetical list of the number of staves produced. Before each staff a system start delimiter can be given. It has to be enclosed in brackets and takes as much staves as the brackets enclose. Elements in the list can be omitted, but the first bracket takes always the complete number of staves. The possibilities are SystemStartBar, SystemStartBracket, SystemStartBrace, and SystemStartSquare.

\version "2.24"

\new StaffGroup
\relative c'' <<
  \override StaffGroup.SystemStartSquare.collapse-height = 4
  \set StaffGroup.systemStartDelimiterHierarchy
    = #'(SystemStartSquare
          (SystemStartBrace
            (SystemStartBracket a
              (SystemStartSquare b))
            c)
          d)

  \new Staff { c1 }
  \new Staff { c1 }
  \new Staff { c1 }
  \new Staff { c1 }
  \new Staff { c1 }
>>