I sidestepped this problem (and simplified my code!) by removing all the shifts and the troublesome a natural altogether. I then added a new voice in which I wrote {s16 a!4..*6/7^-^\f} - this placed the new note close to the right of the chord, which also had its dots as it should. Is it a cheat? Or just a pragmatic and effective answer? I know how I view it for now!
Paul On 02/09/2021 13:43:57, "Paul Hodges" <p...@cassland.org> wrote: >I have a chord with a tied A flat, and a simultaneously played A >natural. LilyPond's default behaviour is to combine these notes and >place a natural in front, which totally obscures what is required. If I >move the untied note, the accidental doesn't move with it, and I >initially ended up with the natural in front of the note which was flat; >I then learnt how to move the accidental separately, and that's kind of >fine, but a real palaver, it seems to me. > >However I still haven't been able to solve my last problem, which is >that both of these notes are (double-)dotted, but after the movement >only one note ends up with dots. I just can't see how to get the extra >dots back (I know I'd have to move the shifted note even further, of >course). > >The manuscript I am working from looks like this: > >The code I have so far is below. I'd appreciate any hints either as to >how to add the other dots, or how to improve my handling of this more >generally if there's an easier way I've missed. > >Oh, and this small sample generates four instances of the error message: >"programming error: cyclic dependency: calculation-in-progress >encountered for #'adjacent-pure-heights (VerticalAxisGroup) ; >continuing, cross fingers". I have no idea whatsoever where this is >coming from. > >Thanks, >Paul > > >\version "2.23.3" > >\language english > >global = { > \accidentalStyle dodecaphonic-no-repeat > \override Beam.concaveness = #3 > \override TupletBracket.bracket-visibility = ##t >} > >IpriRH = \relative d'' { > \clef treble > \time 2/4 > \global > s4 > \set tieWaitForNote = ##t > \tuplet 3/2 { \voiceOne \change Staff = "priLH" af,8 > \change Staff = "priRH" << { > \once \override Tie.extra-offset = #'(0.0 . -0.5) >f'~ g_-~} > \new Voice {\stemDown f4*2/3_- \stemNeutral} >> } | > <f g>4.. > \set tieWaitForNote = ##f > \oneVoice s16 | >} > >IpriLH = \relative c { > \clef bass > \time 2/4 > \global > s4 af'4_-_~ | > << { \voiceOne \crossStaff af4.. } > \new Voice { \voiceTwo > \once \override >Score.AccidentalPlacement.right-padding = #-2.7 > \once \override NoteColumn.force-hshift = #2.2 a4..^- >} >> > \oneVoice s16 >} > >\score { > << > \new PianoStaff << > \set PianoStaff.instrumentName = #"Primo" > \new Staff = "priRH" { \clef treble \IpriRH } > \new Staff = "priLH" { \clef bass \IpriLH } > >> > >> > \layout { > \context { > \PianoStaff > \consists #Span_stem_engraver > } > } >} > >