LilyPond currently does not consider simultaneous notes to automatically determine the correct accidentals; it only looks at previous notes and key signatures. As a consequence, it is necessary to do some manual adjustments.
Unfortunately, these adjustments are quite complex. The Scheme code in this snippet provides a new engraver custom_accidental_placement_engraver
that introduces a details
subproperty flag called capture
for the Accidental
grob. If this flag is set, the current voice captures
the accidental so that it is no longer aligned with the other accidentals in a note column. Together with other properties (force-hshift
and ignore-collision
) it is possible to achieve the desired result.