> Here is my suggestion for the v2.25 documentation at 36.9 Aligning objects
> (LilyPond Notation Reference)
> <https://lilypond.org/doc/v2.25/Documentation/notation/aligning-objects>.
Thanks. Where exactly should this be inserted, and shall something be
removed from the existing documentation?
> First, a note: I think that “alignment point” (language that Carl S
> and I have been using in our recent emails) is conceptually
> different from “reference point.”
Indeed, these are two completely different, unrelated concepts.
> An “alignment point” is a point associated with an object, along
> either the X axis or the Y axis, that LilyPond uses when aligning
> that object with other objects. “Self” alignment points are within
> the object itself. “Parent” alignment points are within the
> object’s parent. For example, LyricText.parent-alignment-X is the
> property of a lyric that specifies the alignment point along the X
> axis of that lyric’s parent, which is the note head linked to that
> lyric.
A key information is missing IMHO: LilyPond moves a grob so that its
alignment point is at the same position as the parent's alignment
point.
I would also mention that the alignment interface is based on a grob's
extents (to be more precise, on the dimension of a grob's bounding
box); the X and Y coordinates of a grob's alignment point are given as
multiples of half the width and height of this bbox, respectively.
This means that -1, 0, and 1 represent the left/lower edge, the
middle, and the right/upper edge of a bounding box, respectively.
-1 0 1
+----------------------+----------------------+ -1
| |
| |
+ + 0
| |
| |
+----------------------+----------------------+ 1
Werner