@cindex polyphonic music
@cindex shifting voices
-In some instances of complex polyphonic music, you may need
-additional voices to avoid collisions between notes. Additional
-voices are added by defining an variable, as shown below:
-
-@lilypond[quote,verbatim]
-voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
-\relative c'''
-<<
- { \voiceOne g2. ~ \stemDown g32[ f( es d c b a b64) g] } \\
- { \voiceThree b4 } \\
- { \voiceFive d, } \\
- { \voiceTwo g, }
->>
-@end lilypond
-
-
@predefined
@funindex \oneVoice
@funindex \voiceFour
@code{\voiceFour}.
-@c undocumented?: --FV
@funindex \voiceNeutralStyle
@funindex \voiceOneStyle
@funindex \voiceTwoStyle
@code{\shiftOnn} and @code{\shiftOnnn} define further shift
levels.
-When LilyPond cannot cope, the @code{force-hshift} property of the
-@code{NoteColumn} object and pitched rests can be used to
-override typesetting decisions.
+@snippets
-@lilypond[quote,verbatim,relative=1]
-<<
- { <d g>2
- <d g> }
- \\
- { <b f'>2
- \once \override NoteColumn #'force-hshift = #1.7
- <b f'> }
->>
-@end lilypond
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{additional-voices-to-avoid-collisions.ly}
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{forcing-horizontal-shift-of-notes.ly}
@seealso
switch to differently named @rinternals{Voice} contexts, the
events in those will be ignored.
-@c IIRC in users list someone pointed out more issues. FV
+@c IIRC in users list someone pointed out more issues. TODO: lookup FV
@node Writing music in parallel
@subsubsection Writing music in parallel