+need explicit accidentals. This information can be presented on
+several levels. For example, the effect of an accidental is limited
+to a single stave, while a bar line must be synchronized across the
+entire score.
+
+Within LilyPond, these rules and bits of information are grouped in
+so-called Contexts. Examples of context are @context{Voice},
+@context{Staff}, and @context{Score}. They are hierarchical, for
+example, a @context{Staff} can contain many @context{Voice}s, and a
+@context{Score} can contain many @context{Staff} contexts.
+
+Each context has the responsibility for enforcing some notation rules,
+creating some notation objects and maintaining the associated
+properties. So, the synchronization of bar lines is handled at
+@context{Score} context. The @context{Voice} may introduce an
+accidentals and then the @context{Staff} context maintains the rule to
+show or suppress the accidental for the remainder of the measure.
+
+For simple scores, contexts are created implicitly, and you need not
+be aware of them. For larger pieces, such as piano music, they must be
+created explicitly to make sure that you get as many staves as you
+need, and that they are in the correct order. For typesetting pieces
+with specialized notation, it can be useful to modify existing or
+define new contexts.