@noindent
The inner note of the first chord (i.e. the A-flat in the fourth
Voice) need not be shifted away from the note column of the higher
-note. We might expect to correct this by using @code{\shiftOff}, but
-this will cause warnings about clashing note columns. Instead, we
-set @code{force-hshift}, which is a property of @code{NoteColumn},
-of this note to zero.
+note, so we use @code{\shiftOff}.
In the second chord we prefer the F to line up with the A-flat and
the lowest note to be positioned slightly right to avoid a collision
{ <ees, c>2 \once \override NoteColumn.force-hshift = 0.5 des }
\\
\\
- { \once \override NoteColumn.force-hshift = 0 aes'2
- \once \override NoteColumn.force-hshift = 0 f4 fes }
+ { \once \shiftOff aes'2 \once \shiftOff f4 fes }
>> |
<c ees aes c>1 |
}
%% shifts
+shiftOff = \override NoteColumn.horizontal-shift = #0
shiftOn = \override NoteColumn.horizontal-shift = #1
shiftOnn = \override NoteColumn.horizontal-shift = #2
shiftOnnn = \override NoteColumn.horizontal-shift = #3
-shiftOff = \revert NoteColumn.horizontal-shift
%% slurs
def conv(str):
str = re.sub (r'\bimplicitTimeSignatureVisibility\b', 'initialTimeSignatureVisibility', str)
str = re.sub (r'\b([a-g])((?:sharp){1,2}|(?:flat){1,2})\b',r'\1-\2', str)
+ str = re.sub (r'\\shiftOff\b', r'\\undo\\shiftOn', str)
return str
# Guidelines to write rules (please keep this at the end of this file)