Robert,
When I set piano four part I let Lilypond do all the work. I have taken the liberty of recoding the section using four-part voicing. Mark From: lilypond-user [mailto:lilypond-user-bounces+carsonmark=ca.rr....@gnu.org] On Behalf Of Robert Blackstone Sent: Wednesday, June 3, 2020 10:27 AM To: Valentin Villenave <valen...@villenave.net> Cc: Lilypond-User Mailing List <lilypond-user@gnu.org> Subject: Re: A weird spacing problem Hi Valentin, Thanks for your interest in my problem The piece, as you can see in the screenshot, is a piano score with two voices in each staff and occasionally a third voice by << { } \\ { } >> or \partcombine. I triple-checked my source code, first by hiding successively each voice, and see what happens, and then to comment out and successively reopen all lines, 55 in each voice, in my score. Compared with the original everything is OK except the passage (only 3 bars) shown in the screenshot. Thereafter, in the last 7 bars of the piece everything is again perfect. Overall there are several instances where I needed "\once \override NoteColumn #'force-hshift = #x" , and a few "\once\override NoteColumn.X-offset = #x”. I use LilyPond 2_19_83-1 with TeXShop as the editor. Usually it works perfectly. I include the problematic part of the score. It is certainly not a MWE but it works for me and it shows the problem. It also shows that its origin does not ly in the previous bars. Thanks again for your interest.
\version "2.19.49" \header { } \new PianoStaff << \new Staff = "upper" << \time 3/4 \key c \major \new Voice = "soprano" { \voiceOne \relative c'' { fis,8 r \once \override NoteColumn.force-hshift = #2.2 \once \override Accidental.X-extent = #'(1 . 0) \once \override Accidental.extra-offset = #'(3 . 0) fis!2 | fis2.~ | fis8 f d2 | } } \new Voice = "alto" { \voiceTwo \relative c'' { <c, ees>8 r <d f!>4 (<c ees> | <b d> c b~) | b2. | } } >> \new Staff = "lower" << \time 3/4 \key c \major \clef bass \new Voice = "tenor" { \voiceOne \relative c { s2. | f4 a gis | s2. | } } \new Voice = "bass" { \voiceTwo \relative c { <e f a>8 d\rest <ees fis g>2 | ees2. | <ees g> | } } >> >> \layout { indent = #0 } %{ convert-ly.py (GNU LilyPond) 2.19.80 convert-ly.py: Processing `'... Applying conversion: 2.19.2, 2.19.7, 2.19.11, 2.19.16, 2.19.22, 2.19.24, 2.19.28, 2.19.29, 2.19.32, 2.19.40, 2.19.46, 2.19.49 %} %{ convert-ly.py (GNU LilyPond) 2.19.80 convert-ly.py: Processing `'... Applying conversion: The document has not been changed. %}