LilyPond Internals Reference: 3.1.13 BarNumber

### 3.1.13 BarNumber

BarNumber objects are created by: Bar_number_engraver.

Standard settings:

> `after-line-breaking` (boolean):

>   `ly:side-position-interface::move-to-extremal-staff`

>   Dummy property, used to trigger callback for `after-line-breaking`.

> `break-align-symbols` (list):

>       '(left-edge staff-bar)

>   A list of break-align symbols that determines which breakable items to align this to. If the grob selected by the first symbol in the list is invisible due to `break-visibility`, we will align to the next grob (and so on). Choices are listed in break-alignment-interface.

> `break-visibility` (vector):

>       #(#f #f #t)

>   A vector of 3 booleans, `#(end-of-line unbroken begin-of-line)`. `#t` means visible, `#f` means killed.

> `direction` (direction):

>   `1`

>   If `side-axis` is `0` (or `X`), then this property determines whether the object is placed `LEFT`, `CENTER` or `RIGHT` with respect to the other object. Otherwise, it determines whether the object is placed `UP`, `CENTER` or `DOWN`. Numerical values may also be used: `UP`=`1`, `DOWN`=`-1`, `LEFT`=`-1`, `RIGHT`=`1`, `CENTER`=`0`.

> `extra-spacing-width` (pair of numbers):

>       '(+inf.0 . -inf.0)

>   In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to `(+inf.0 . -inf.0)`.

> `font-family` (symbol):

>   `'roman`

>   The font family is the broadest category for selecting text fonts. Options include: `sans`, `roman`.

> `font-size` (number):

>   `-2`

>   The font size, compared to the ‘normal’ size. `0` is style-sheet’s normal size, `-1` is smaller, `+1` is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context property `fontSize` is set, its value is added to this before the glyph is printed. Fractional values are allowed.

> `horizon-padding` (number):

>   `0.05`

>   The amount to pad the axis along which a `Skyline` is built for the `side-position-interface`.

> `non-musical` (boolean):

>   `#t`

>   True if the grob belongs to a `NonMusicalPaperColumn`.

> `outside-staff-priority` (number):

>   `100`

>   If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller `outside-staff-priority` is closer to the staff.

> `padding` (dimension, in staff space):

>   `1.0`

>   Add this much extra space between objects that are next to each other.

> `self-alignment-X` (number):

>   `1`

>   Specify alignment of an object. The value `-1` means left aligned, `0` centered, and `1` right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.

> `side-axis` (number):

>   `1`

>   If the value is `X` (or equivalently `0`), the object is placed horizontally next to the other object. If the value is `Y` or `1`, it is placed vertically.

> `stencil` (stencil):

>   `ly:text-interface::print`

>   The symbol to print.

> `X-offset` (number):

>   `self-alignment-interface::self-aligned-on-breakable`

>   The horizontal amount that this object is moved relative to its X-parent.

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

>   `#<unpure-pure-container #<primitive-procedure ly:grob::stencil-height> >`

>   Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.

> `Y-offset` (number):

>   `#<unpure-pure-container #<primitive-procedure ly:side-position-interface::y-aligned-side> #<primitive-procedure ly:side-position-interface::pure-y-aligned-side> >`

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

This object supports the following interface(s): break-alignable-interface, font-interface, grob-interface, item-interface, outside-staff-interface, self-alignment-interface, side-position-interface and text-interface.

#### Internals Reference v2.22.2 (stable-branch).