LilyPond program-reference: 3.1.110 TextScript

### 3.1.110 TextScript

TextScript objects are created by: Text_engraver.

Standard settings:

> `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)`.

> `X-offset` (number):

>   `ly:self-alignment-interface::x-aligned-on-self`

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

> `Y-offset` (number):

>   `ly:side-position-interface::y-aligned-side`

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

> `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.

> `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`.

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

>   `0.5`

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

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

>   `0.5`

>   Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.

> `stencil` (unknown):

>   `ly:text-interface::print`

>   The symbol to print.

> `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`.

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

>   `450`

>   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.

> `avoid-slur` (symbol):

>   `'around`

>   Method of handling slur collisions. Choices are `around`, `inside`, `outside`. If unset, scripts and slurs ignore each other. `around` only moves the script if there is a collision; `outside` always moves the script.

> `slur-padding` (number):

>   `0.5`

>   Extra distance between slur and script.

> `script-priority` (number):

>   `200`

>   A sorting key that determines in what order a script is within a stack of scripts.

This object supports the following interface(s): text-script-interface, text-interface, side-position-interface, self-alignment-interface, item-interface, instrument-specific-markup-interface, font-interface and grob-interface.

#### Internals Reference