@rinternals{ClusterSpannerBeacon},
@rinternals{Cluster_spanner_engraver}.
-@c Examples: @rlsr{contemporary,cluster@/.ly}.
-
@knownissues
Clusters only look good if they span at least two chords; otherwise
@funindex \shiftOnn
@funindex \shiftOnnn
@funindex \shiftOff
+@cindex shift rest, automatic
-Normally, equal note heads with the same number of dots are
-automatically merged, but note heads with a different number of dots
-are not. To merge differently dotted note heads, you can set the
-@code{merge-differently-dotted} property of the
-@rinternals{NoteCollision} object:
+Note heads with equal durations are automatically merged, while
+note heads with unequal durations are not merged. Rests opposite
+a stem are shifted vertically.
@lilypond[quote,verbatim,relative=2]
<<
- { g2 g4 g8 g
- \override Staff.NoteCollision #'merge-differently-dotted = ##t
- g2 g4 g8 g }
- \\
- { g2. g8. g16
- g2. g8. g16 }
+ {
+ c8 d e d c d c4
+ g'2 fis
+ } \\ {
+ c2 c8. b16 c4
+ e,2 r
+ } \\ {
+ \oneVoice
+ s1
+ e8 a b c d2
+ }
>>
@end lilypond
-Similarly, you can merge half note heads with eighth notes, by
-setting @code{merge-differently-headed}:
+Note heads with different note heads may be merged, with the exception
+of half-note heads and quarter-note heads:
-@lilypond[quote,relative=2,verbatim]
+@lilypond[quote,verbatim,relative=2]
<<
- { c8 d e d
+ {
\override Staff.NoteCollision #'merge-differently-headed = ##t
- c8 d e d
+ c8 d e d c d c4
+ g'2 fis
+ } \\ {
+ c2 c8. b16 c4
+ e,2 r
+ } \\ {
+ \oneVoice
+ s1
+ e8 a b c d2
}
- \\
- { c2 c }
>>
@end lilypond
-@noindent
-Merging notes by setting @code{merge-differently-headed} and
-@code{merge-differently-dotted} only works for opposing stem
-directions (i.e., to @code{Voice}s 1 and 2).
+Note heads with different dots may be merged:
-@cindex shift rest, automatic
-
-LilyPond also vertically shifts rests that are opposite of a stem, for
-example:
-
-@lilypond[quote,verbatim]
-<< c''4 \\ r4 >>
+@lilypond[quote,relative=2,verbatim]
+<<
+ {
+ \override Staff.NoteCollision #'merge-differently-headed = ##t
+ \override Staff.NoteCollision #'merge-differently-dotted = ##t
+ c8 d e d c d c4
+ g'2 fis
+ } \\ {
+ c2 c8. b16 c4
+ e,2 r
+ } \\ {
+ \oneVoice
+ s1
+ e8 a b c d2
+ }
+>>
@end lilypond
@cindex shift note
-If three or more notes line up in the same column,
+The collision on the second measure happens because
@code{merge-differently-headed} cannot successfully complete the merge
-of the two notes that should be merged. To allow the merge to work
+when three or more notes line up in the same column (in fact, you will
+obtain a warning for this reason). To allow the merge to work
properly, apply a @code{\shift} to the note that should not be merged.
-In the first measure of following example,
-@code{merge-differently-headed} does not work (the half-note head is
-solid). In the second measure, @code{\shiftOn} is applied to move the
-top @code{g} out of the column, and @code{merge-differently-headed}
-works properly.
+Here, @code{\shiftOn} is applied to move the top @code{g} out of the
+column, and @code{merge-differently-headed} works properly.
-@c IMO this uglyfies the typesetting. Look for a better example. FV
-
-@lilypond[quote,verbatim,relative=2]
-\override Staff.NoteCollision #'merge-differently-headed = ##t
-<<
- { d=''2 g2 } \\
- { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
- { \voiceFour e,,2 e'2}
->>
+@lilypond[quote,relative=2,verbatim]
<<
- { d'=''2 \shiftOn g2 } \\
- { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
- { \voiceFour e,,2 e'2}
+ {
+ \override Staff.NoteCollision #'merge-differently-headed = ##t
+ \override Staff.NoteCollision #'merge-differently-dotted = ##t
+ c8 d e d c d c4
+ \shiftOn
+ g'2 fis
+ } \\ {
+ c2 c8. b16 c4
+ e,2 r
+ } \\ {
+ \oneVoice
+ s1
+ e8 a b c d2
+ }
+
>>
@end lilypond
+Notes are only merged if they have opposing stem directions (i.e., in
+@code{Voice} 1 and 2).
+
@cindex multiple voices
@cindex polyphonic music
@cindex shifting voices
levels.
When LilyPond cannot cope, the @code{force-hshift} property of the
-@rinternals{NoteColumn} object and pitched rests can be used to
+@code{NoteColumn} object and pitched rests can be used to
override typesetting decisions.
@lilypond[quote,verbatim,relative=1]
\once \override NoteColumn #'force-hshift = #1.7
<b f'> }
>>
-
@end lilypond
@seealso
Music Glossary:
-@rglos{polyphony}
+@rglos{polyphony}.
Learning Manual:
@rlearning{Multiple notes at once},
slightly wrong offset because of the different width of the half note
head symbol.
+@c investigate! Sometimes it works, sometimes not. --FV
+It is not clear in which circumpstances you can succesfully merge
+different note heads that are at the same time differently dotted.
+
There is no support for clusters where the same note occurs with
different accidentals in the same chord. In this case, it is
recommended to use enharmonic transcription, or to use special
cluster notation (see @ref{Clusters}).
+
@node Automatic part combining
@subsubsection Automatic part combining
}
@end lilypond
-
@seealso
Learning Manual: