@cindex Music expression, compound
We saw the general organization of LilyPond input files in the
-previous section, @ref{How LilyPond input files work}. But we seemed to
-skip over the most important part: how do we figure out what to
-write after @code{\score}?
+previous section, @ref{Introduction to the LilyPond file structure}.
+But we seemed to skip over the most important part: how do we figure
+out what to write after @code{\score}?
We didn't skip over it at all. The big mystery is simply that
there @emph{is} no mystery. This line explains it all:
indentation -- make sure that each item on the same level starts
on the same horizontal position in your text editor.
+@seealso
+
+Notation Reference: @ruser{Structure of a score}.
@node Nesting music expressions
@subsection Nesting music expressions
placed above the staff called @qq{main} instead of the default
position which is below.
+@seealso
+
Ossia are often written without clef and without
time signature and are usually in a smaller font.
These require further commands which
-have not yet been introduced. See @ref{Size of objects}.
+have not yet been introduced. See @ref{Size of objects},
+and @ruser{Ossia staves}.
+
@node On the un-nestedness of brackets and ties
@subsection On the un-nestedness of brackets and ties
later section --- see the @code{force-hshift} property in @ref{Fixing
overlapping notation}.
+@seealso
+
+Notation Reference: @ruser{Multiple voices}.
+
@node Explicitly instantiating voices
@subsection Explicitly instantiating voices
have no shift or the same shift specified, the error message
@qq{Too many clashing note columns} will be produced.
+@seealso
+
+Notation Reference: @ruser{Multiple voices}.
+
+
@node Voices and vocals
@subsection Voices and vocals
}
@end lilypond
+@seealso
+
+Notation Reference: @ruser{Vocal music}.
+
+
@node Contexts and engravers
@section Contexts and engravers
preceding word with no hyphen or underscore, e.g.,
@code{GregorianTranscriptionStaff}.
+@seealso
+
+Notation Reference: @ruser{Contexts explained}.
+
+
@node Creating contexts
@subsection Creating contexts
particular instance of that type, which can be any sequence of letters
and digits invented by the user. The identifying name is used to
refer back to that particular instance of a context. We saw this in
-use in the section on lyrics in @ref{Voices and vocals}.
+use in the section on lyrics, see @ref{Voices and vocals}.
+
+@seealso
+
+Notation Reference: @ruser{Creating contexts}.
@node Engravers explained
We shall see later how the output of LilyPond can be changed
by modifying the action of Engravers.
+@seealso
+
+Internals reference: @rinternals{Engravers and performers}.
+
@node Modifying context properties
@subsection Modifying context properties
this new default value may be restored with the
@code{\unset fontSize} command.
+@seealso
+
+Notation Reference: @ruser{Changing context default settings},
+@ruser{The set command}.
+
+Internals Reference: @rinternals{Contexts},
+@rinternals{Tunable context properties}.
+
@node Adding and removing engravers
@subsection Adding and removing engravers
@code{\set} command in a @code{\context} block in the
same way.
+@seealso
+
+Notation Reference: @ruser{Modifying context plug-ins}.
+
@node Extending the templates
@section Extending the templates