LilyPond Internals Reference: 3.1.130 VerticalAxisGroup

### 3.1.130 VerticalAxisGroup

VerticalAxisGroup objects are created by: Axis_group_engraver and Hara_kiri_engraver.

Standard settings:

> `axes` (list):

>   `'(1)`

>   List of axis numbers. In the case of alignment grobs, this should contain only one number.

> `default-staff-staff-spacing` (list):

>   `'((basic-distance . 9) (minimum-distance . 8) (padding . 1))`

>   The settings to use for `staff-staff-spacing` when it is unset, for ungrouped staves and for grouped staves that do not have the relevant `StaffGrouper` property set (`staff-staff-spacing` or `staffgroup-staff-spacing`).

> `nonstaff-unrelatedstaff-spacing` (list):

>   `'((padding . 0.5))`

>   The spacing alist controlling the distance between the current non-staff line and the nearest staff in the opposite direction from `staff-affinity`, if there are no other non-staff lines between the two, and `staff-affinity` is either `UP` or `DOWN`. See `staff-staff-spacing` for a description of the alist structure.

> `staff-staff-spacing` (list):

>   `ly:axis-group-interface::calc-staff-staff-spacing`

>   When applied to a staff-group’s `StaffGrouper` grob, this spacing alist controls the distance between consecutive staves within the staff-group. When applied to a staff’s `VerticalAxisGroup` grob, it controls the distance between the staff and the nearest staff below it in the same system, replacing any settings inherited from the `StaffGrouper` grob of the containing staff-group, if there is one. This property remains in effect even when non-staff lines appear between staves. The alist can contain the following keys:

>   - `basic-distance` – the vertical distance, measured in staff-spaces, between the reference points of the two items when no collisions would result, and no stretching or compressing is in effect.
>   - `minimum-distance` – the smallest allowable vertical distance, measured in staff-spaces, between the reference points of the two items, when compressing is in effect.
>   - `padding` – the minimum required amount of unobstructed vertical whitespace between the bounding boxes (or skylines) of the two items, measured in staff-spaces.
>   - `stretchability` – a unitless measure of the dimension’s relative propensity to stretch. If zero, the distance will not stretch (unless collisions would result).
> `stencil` (stencil):

>   `ly:axis-group-interface::print`

>   The symbol to print.

> `vertical-skylines` (pair of skylines):

>   `ly:hara-kiri-group-spanner::calc-skylines`

>   Two skylines, one above and one below this grob.

> `X-extent` (pair of numbers):

>   `ly:axis-group-interface::width`

>   Hard coded extent in X direction.

> `Y-extent` (pair of numbers):

>   `ly:hara-kiri-group-spanner::y-extent`

>   Hard coded extent in Y direction.

> `Y-offset` (number):

>   `ly:hara-kiri-group-spanner::force-hara-kiri-callback`

>   The vertical amount that this object is moved relative to its Y-parent.

This object supports the following interface(s): axis-group-interface, grob-interface, hara-kiri-group-spanner-interface and spanner-interface.

#### Internals Reference