Werner (and Harm),
I'm trying to catch up on understanding this thread as another user of
the documentation, but also to answer my old query about vertical
alignment that got zero replies:
https://lists.gnu.org/archive/html/lilypond-user/2025-09/msg00171.html
Comments/questions on wording below.
On 1/30/2026 3:01 PM, Werner LEMBERG wrote:
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.
Saying "associated with an object" is a bit ambiguous to me. Does an
object "own" or define its own alignment point (like an object
property)? Does a child redefine a parent's alignment point by
specifying parent-alignment (an externally modifiable property of the
parent)? Would other children of the same parent see the effects of one
sibling modifying a parent's alignment point?
Or does a child's override of the parent-alignment point affect only
that child's means of specifying its desired alignment relative to some
aspect/measurement/extent/dimension of that parent, without affecting
any properties owned by the parent or seen by other siblings?
The proposed wording suggests the former to me, while the current IR
wording ("Specify on which point of the parent the object is aligned.")
suggests the latter.
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.
Agree that would be helpful if true. But who owns, or can modify, "the
parent's alignment point"?
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
The vertical -1 and 1 labels in the diagram seem to contradict the
explanation above. Shouldn't -1 be in the lower right?
This confusion is compounded by the existing IR documentation of
parent-alignment-Y saying only "Like parent-alignment-X but for the Y
axis." Perhaps it should add "-1 for bottom, +1 for top".
TIA for helping me understand all this.
Jeff