@lilypondfile[quote,ragged-right,line-width=16\cm,staffsize=16]
{staff-headword.ly}
-Notes, dynamic signs, rests, etc., are grouped with a set of horizontal
-lines, called a staff (plural @q{staves}). In LilyPond, these
-lines are drawn using a separate layout object called @code{staff
-symbol}.
-
-Two or more staves can be grouped vertically in a @code{GrandStaff}, a
-@code{StaffGroup}, or a @code{ChoirStaff}.
+This section explains how to influence the staff appearance,
+print scores with more than one staff, and
+how to apply specific performance marks to single staves.
@menu
-* Displaying staves::
+* Displaying staves::
+* Modifying single staves::
* Writing parts::
@end menu
@node Displaying staves
@subsection Displaying staves
+This section shows the different possibilities to create and group
+staves into groups, which can be marked in the beginning of each
+line with either a bracket or a brace.
+
+
+
@menu
-* System start delimiters::
-* Staff symbol::
-* Hiding staves::
+* Initiating new staves::
+* Grouping staves::
+* Deeper nested staff groups::
@end menu
-@node System start delimiters
-@subsubsection System start delimiters
+@node Initiating new staves
+@subsubsection Initiating new staves
+
+@cindex new staff
+@cindex staff initiation
+@cindex staff, new
+
+The lines of a staff are produced by a @code{staff symbol} layout object.
+LilyPond ensures that all music is printed on staff lines so if you just
+type in some notes, the staff symbol is added automatically to the output.
+This is just a shortcut to make the program usage more easy, but in most
+cases where you want to print more complex music on more than on staff
+it is better to create the staff explicitly at the beginning of your
+music inside of the @code{\score} environment.
+
+With the command @code{\new Staff @{ ... @}} you actually call a new
+Staff context that has already everything set up to the default
+engraving rules. @ref{Creating contexts} explains how different contexts
+are called.
+
+Once a staff is instantiated it can be started or stopped at every point
+in the score. This is done with the commands @code{\startStaff} and
+@code{\stopStaff}. How to use it is shown in @ref{Staff symbol}.
+
+Besides the default @code{Staff} context there are also
+specialized staff contexts for setting percussion, Guitar music,
+and ancient music.
+@c No need to mention all the other contexts?
+See @ref{Printing chord names}, @ref{Percussion staves},
+@ref{Tablatures basic}, @ref{Gregorian Chant contexts}, and
+@ref{Mensural contexts} for an explanation.
+
+@seealso
+
+Music Glossary: @rglos{staff}, @rglos{staves}
+
+Snippets: @lsrdir{Staff,Staff-notation}
+
+Internals Reference: @internalsref{Staff}
+
+
+
+@node Grouping staves
+@subsubsection Grouping staves
@cindex start of system
@cindex staff, multiple
+@cindex staves, multiple
+@cindex system start delimiters
@cindex bracket, vertical
@cindex brace, vertical
@cindex grand staff
+@cindex piano staff
@cindex staff group
@cindex staff, choir
+@cindex choir staff
@cindex system
-Many scores consist of more than one staff. These staves can be
-grouped in several different ways:
+LilyPond provides different types of contexts to group single staves
+together. These contexts influence in the first place the appearance
+of the system start delimiter, but they have also influence on the
+behaviour of the bar lines.
+
@itemize
@item
-In a @code{GrandStaff}, the group is started with a brace
-at the left, and bar lines are connected between the staves.
+If no context is specified, the default properties for the score
+will be used: the group is started with a vertical line, and the
+bar lines are not connected.
-@lilypond[verbatim,ragged-right,quote]
-\new GrandStaff
-\relative <<
- \new Staff { c1 c }
- \new Staff { c c }
->>
+@lilypond[verbatim,ragged-right,quote,relative=2]
+ <<
+ \new Staff { c1 c }
+ \new Staff { c c }
+ >>
@end lilypond
@item
In a @code{StaffGroup}, the bar lines will be drawn through
-all the staves, but the group is started with a bracket.
+all the staves, and the group is started with a bracket.
-@lilypond[verbatim,ragged-right,quote]
-\new StaffGroup
-\relative <<
- \new Staff { c1 c }
- \new Staff { c c }
->>
+@lilypond[verbatim,ragged-right,quote,relative=2]
+ \new StaffGroup
+ <<
+ \new Staff { c1 c }
+ \new Staff { c c }
+ >>
@end lilypond
@item
-In a @code{ChoirStaff}, the group is started with a
-bracket, but bar lines are not connected.
-
-@lilypond[verbatim,ragged-right,quote]
-\new ChoirStaff
-\relative <<
- \new Staff { c1 c }
- \new Staff { c c }
->>
+In a @code{ChoirStaff}, the group is
+started with a bracket, but bar lines are not connected.
+
+@lilypond[verbatim,ragged-right,quote,relative=2]
+ \new ChoirStaff
+ <<
+ \new Staff { c1 c }
+ \new Staff { c c }
+ >>
@end lilypond
@item
-If no context is specified, the default properties for the score
-will be used: the group is started with a vertical line, and the
-bar lines are not connected.
+In a @code{GrandStaff}, the group is started with a brace
+at the left, and bar lines are connected between the staves.
-@lilypond[verbatim,ragged-right,quote]
-\relative <<
- \new Staff { c1 c }
- \new Staff { c c }
->>
+@lilypond[verbatim,ragged-right,quote,relative=2]
+ \new GrandStaff
+ <<
+ \new Staff { c1 c }
+ \new Staff { c c }
+ >>
@end lilypond
+
+@item
+The @code{PianoStaff} behaves almost as the @code{GrandStaff} but is
+optimized for setting piano music.
+
+@lilypond[verbatim,ragged-right,quote,relative=2]
+ \new PianoStaff
+ <<
+ \new Staff { c1 c }
+ \new Staff { c c }
+ >>
+@end lilypond
+
@end itemize
-@cindex Mensurstriche layout
-@cindex Renaissance music
+According to classic engraver rules an orchestral score consists of
+staves connected only with a single line at the beginning of the system.
+In LilyPond this is produced grouping the @code{Staff} contexts with
+@code{<< ... >>}.
+
+Each instrument family is grouped inside of a @code{StaffGroup} with a
+starting bracket. A group of same instruments or an instrument using
+more than one staff is grouped with braces in a @code{GrandStaff}.
+
+Piano music is notated with the @code{PianoStaff} context, that produces
+a starting brace and conntects the bar lines between the systems.
+
+Choral music (vocal music for more than one voice) is notated using the
+@code{ChoirStaff} context that produces a starting bracket but does not
+connect the bar lines between the staves so the lyrics will not collide
+with bar lines.
+
+Here is an example of an orchestral score using groupings. Note that the
+instrument names are omited here, see @ref{Instrument names} how to set
+them.
+
+@lilypond[verbatim,ragged-right,quote,relative=2]
+ \score{
+ <<
+ \new StaffGroup %the woodwinds group
+ <<
+ \new Staff { c1 c }
+ \new Staff { c c }
+ \new Staff { c c }
+ >>
+ \new StaffGroup %the brass group
+ <<
+ \new Staff { c c }
+ \new Staff { c c }
+ \new GrandStaff %the horns need two staves
+ <<
+ \new Staff { c c }
+ \new Staff {\clef bass c c }
+ >>
+ >>
+ \new ChoirStaff
+ <<
+ \new Staff { c c }
+ \new Staff {\clef alto c c }
+ \new Staff {\clef bass c c }
+ >>
+ \new PianoStaff %for the piano
+ <<
+ \new Staff { c c }
+ \new Staff {\clef bass c c }
+ >>
+ >>
+ }
+@end lilypond
+
+@cindex mensurstriche layout
+@cindex renaissance music
+@cindex transcription of mensural music
+@cindex mensural music, transcription of
-In addition to these four staff group types, other groupings can
-be produced by changing various properties. E.g., the
+Other groupings may be achieved by changin various properties.
+E.g., the
@q{Mensurstriche} layout common in Renaissance music, with
bar lines running between but not through the staves, can be
produced from a @code{StaffGroup} or @code{GrandStaff} context if
-the bar lines are made transparent in the @code{Staff} itself, with
-the command @code{\override Staff.BarLine #'transparent = ##t}
+the bar lines are made transparent in the @code{Staff} itself:
+
+@lilypond[verbatim,ragged-right,quote,relative=2]
+ global = {\override Staff.BarLine #'transparent = ##t
+ s1 s
+ %the final bar line is not interupted
+ \once \override Staff.BarLine #'transparent = ##f
+ \bar "|."}
+ \new StaffGroup
+ <<
+ \new Staff {<< \global { c1 c } >>}
+ \new Staff {<< \global { c c } >>}
+ >>
+@end lilypond
+
+
+@c FIXME: Graham will deal with this. -gp
+@c snippet 201
+To display a bracket even if there is only one staff, see
+@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+@c {staff,display-bracket-with-only-one-staff-in-a system.ly}
+
+@seealso
+
+Music Glossary: @rglos{brace},
+@rglos{bracket}.
+
+Snippets: @lsrdir{Staff,Staff-notation}
+
+Internals Reference: @internalsref{ChoirStaff},
+@internalsref{GrandStaff}, @internalsref{StaffGroup},
+@internalsref{SystemStartBar}, @internalsref{SystemStartBrace},
+@internalsref{SystemStartBracket}.
+
+
+
+@node Deeper nested staff groups
+@subsubsection Deeper nested staff groups
+
+The last section explained the grouping of staves and also the nesting
+of different types of staves together. So the @q{Horn section} in our
+example above is contained both in a @code{StaffGroup} and a
+@code{GrandStaff}.
+
+Here about innerChoirStaff and innerStaffGroup
@cindex staff, nested
@code{systemStartSquare}, is also available, but must be
instantiated manually
-@c FIXME: Graham will deal with this. -gp
-@c snippet 201
-To display a bracket even if there is only one staff, see
-@c @lsr{staff,display-bracket-with-only-one-staff-in-a system.ly}
-@seealso
-Music Glossary: @rglos{brace}, @rglos{staff}, @rglos{staves}
-@rglos{bracket}.
+Internals Reference: @internalsref{SystemStartBar},
+@internalsref{SystemStartBrace}, @internalsref{SystemStartBracket},
+@internalsref{systemStartDelimiterHierarchy}.
-Snippets: @lsrdir{Staff,Staff-notation}
-Internals Reference: @internalsref{ChoirStaff},
-@internalsref{GrandStaff}, @internalsref{StaffGroup},
-@internalsref{SystemStartBar}, @internalsref{SystemStartBrace},
-@internalsref{SystemStartBracket},
-@internalsref{systemStartDelimiterHierarchy}.
+
+
+
+
+
+
+
+@node Modifying single staves
+@subsection Modifying single staves
+
+@menu
+* Staff symbol::
+* Ossia staves::
+* Hiding staves::
+@end menu
+
@node Staff symbol
@subsubsection Staff symbol
b b
@end lilypond
+@node Ossia staves
+@subsubsection Ossia staves
+
@cindex staves, Frenched
@cindex ossia
@cindex Frenched staves