HI Jean; Now it finally starts to make sense!
Thanks, Ken On Mon, Sep 19, 2022 at 6:30 PM Jean Abou Samra <[email protected]> wrote: > > Le 20/09/2022 à 02:45, Kenneth Wolcott a écrit : > > HI David; > > > > Thank you. > > > > What is "\rightjust"? Is it a variable (macro) that you have > > defined? I can't find that command in the NR. > > > > I suppose David defined it as something like > > rightjust = \tweak self-alignment-X #RIGHT \etc > > > The alignment of a mark is defined by self-alignment-X. #RIGHT > specifies to align on the right side. > > > > How does that differ > > from right-align, which I tried and it didn't work for me. > > > > Trying to use alignment markup commands like \left-align, \center-align, > \right-align, \general-align, \halign, etc. for aligning marks, text > scripts or other textual objects is a mistake I have seen quite a number > of people doing. I wonder if the manual should be explicitly warning against > it, but it's difficult to know in which section to put it, since it can > occur in many different contexts. > > The problem with `\mark \markup \right-align Fine` is that \right-align > acts on the text that \mark prints as a RehearsalMark grob, but the > RehearsalMark > grob also realigns itself. For simplicity, let's assume rehearsal marks are > always centered by default (it's more complex but this is illustrative). > When you write "Fine", this makes a markup, and when this markup is > interpreted, > it has a certain width, say, '(0 . 4), which means from point 0 horizontally > to point 4 (in a certain unit defined by LilyPond). To ensure the centering, > the RehearsalMark grob will move itself by 2 units on the left so that > this extent becomes '(-2 . 2). By using \right-align, you translate the > Fine text in the initial step so its extent is '(-4 . 0), but the centering > step still happens, and recenters at '(-2 . 2). > > Here is a little visualization. The red X indicates the X coordinate 0 > in the Fine markup. As you can see, \right-align does move the Fine text > relative to this X, but the X also gets moved relative to the bar line, > which cancels the effect. > > > { > c'1 > \mark \markup \combine > Fine % also try \right-align Fine > \with-outline \stencil #empty-stencil \fontsize #-5 \with-color > "red" × > } > > > So, instead of \right-align, you need to tweak self-alignment-X, which > modifies the realignment step to suit your desired alignment. I hope > that was clear. > >
