Jump to content

Nesting staves: Difference between revisions

From LilyPond wiki
Import snippet from LSR
 
mNo edit summary
 
(3 intermediate revisions by 2 users 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.0">
<lilypond version="2.24">
\new StaffGroup
\new StaffGroup
\relative c'' <<
\relative c'' <<
   \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]]

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 }
>>