LilyPond Internals Reference: 3.2.15 break-aligned-interface

### 3.2.15 break-aligned-interface

Items that are aligned in prefatory matter.

The spacing of these items is controlled by the `space-alist` property. It contains a list `break-align-symbol`s with a specification of the associated space. The space specification can be

`(minimum-space . spc))`

  Pad space until the distance is spc.

`(fixed-space . spc)`

  Set a fixed space.

`(semi-fixed-space . spc)`

  Set a space. Half of it is fixed and half is stretchable. (does not work at start of line. fixme)

`(extra-space . spc)`

  Add spc amount of space.

Special keys for the alist are `first-note` and `next-note`, signifying the first note on a line, and the next note halfway a line.

Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.

#### User settable properties:

> `break-align-anchor` (number)

>   Grobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.

> `break-align-anchor-alignment` (number)

>   Read by `ly:break-aligned-interface::calc-extent-aligned-anchor` for aligning an anchor to a grob’s extent.

> `break-align-symbol` (symbol)

>   This key is used for aligning and spacing breakable items.

> `space-alist` (list)

>   A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples: `(break-align-symbol type . distance)`, where type can be the symbols `minimum-space` or `extra-space`.

This grob interface is used in the following graphical object(s): Ambitus, AmbitusAccidental, BarLine, BreakAlignGroup, BreathingSign, Clef, CueClef, CueEndClef, Custos, DoublePercentRepeat, KeyCancellation, KeySignature, LeftEdge and TimeSignature.

#### Internals Reference