Re: horizontal spacing issue with `keyCancellation`

2023-12-27 Thread Werner LEMBERG


Some days ago I wrote:

> Consider this snippet.
> 
> ```tex
> cancellationFirst =
> \override Score.BreakAlignment.break-align-orders =
>   #(grob-transformer 'break-align-orders
>  (lambda (grob orig)
>(let ((vec (vector-copy orig))
>  (middle '(key-cancellation
>staff-bar
>key-signature)))
>  (vector-set! vec 1 middle)
>  vec)))
> 
> music = { \key ces \major ces'1 \bar "||"
>   \key cis \major cis'1 }
> 
> { <>^\markup "default"
>   \music }
> 
> { <>^\markup "cancellationFirst"
>   \cancellationFirst
>   \music }
> ```
> 
> As can be seen in the image, flipping the order of the bar line and
> the key cancellation changes the horizontal spacing between the
> `NoteHead` and `NonMusicalPaperColumn` grobs in a bad way.  Why does
> this happen, and how can I avoid this?
> 
> The third line shows the same without a bar line, where the spacing
> is just fine.

Any takers?  If nobody knows the reason, how can I debug this most
easily to find the culprit?


Werner



horizontal spacing issue with `keyCancellation`

2023-12-22 Thread Werner LEMBERG

Consider this snippet.

```tex
cancellationFirst =
\override Score.BreakAlignment.break-align-orders =
  #(grob-transformer 'break-align-orders
 (lambda (grob orig)
   (let ((vec (vector-copy orig))
 (middle '(key-cancellation
   staff-bar
   key-signature)))
 (vector-set! vec 1 middle)
 vec)))

music = { \key ces \major ces'1 \bar "||"
  \key cis \major cis'1 }

{ <>^\markup "default"
  \music }

{ <>^\markup "cancellationFirst"
  \cancellationFirst
  \music }
```

As can be seen in the image, flipping the order of the bar line and
the key cancellation changes the horizontal spacing between the
`NoteHead` and `NonMusicalPaperColumn` grobs in a bad way.  Why does
this happen, and how can I avoid this?

The third line shows the same without a bar line, where the spacing is
just fine.


Werner