LilyPond Internals Reference: 3.2.135 spanner-interface

### 3.2.135 `spanner-interface`

Some objects are horizontally spanned between objects. For example, slurs, beams, ties, etc. These grobs form a subtype called `Spanner`. All spanners have two span points (these must be `Item` objects), one on the left and one on the right. The left bound is also the X reference point of the spanner.

#### User settable properties:

`minimum-length` (dimension, in staff space)

  Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the `springs-and-rods` property. If added to a `Tie`, this sets the minimum distance between noteheads.

`minimum-length-after-break` (dimension, in staff space)

  If set, try to make a broken spanner starting a line this long. This requires an appropriate callback for the `springs-and-rods` property. If added to a `Tie`, this sets the minimum distance to the notehead.

`normalized-endpoints` (pair)

  Represents left and right placement over the total spanner, where the width of the spanner is normalized between 0 and 1.

`spanner-id` (index or symbol)

  An identifier to distinguish concurrent spanners.

`to-barline` (boolean)

  If true, the spanner will stop at the bar line just before it would otherwise stop.

#### Internal properties:

`spanner-broken` (boolean)

  Indicates whether spanner alignment should be broken after the current spanner.

This grob interface is used in the following graphical object(s): `BassFigureAlignment`, `BassFigureAlignmentPositioning`, `BassFigureContinuation`, `BassFigureLine`, `Beam`, `BendAfter`, `BendSpanner`, `CenteredBarNumber`, `CenteredBarNumberLineSpanner`, `ChordSquare`, `ClusterSpanner`, `DurationLine`, `DynamicLineSpanner`, `DynamicTextSpanner`, `Episema`, `FingerGlideSpanner`, `Glissando`, `GraceSpacing`, `GridChordName`, `Hairpin`, `HorizontalBracket`, `HorizontalBracketText`, `InstrumentName`, `KievanLigature`, `LedgerLineSpanner`, `LigatureBracket`, `LyricExtender`, `LyricHyphen`, `LyricSpace`, `MeasureCounter`, `MeasureGrouping`, `MeasureSpanner`, `MensuralLigature`, `MultiMeasureRest`, `MultiMeasureRestNumber`, `MultiMeasureRestScript`, `MultiMeasureRestText`, `OttavaBracket`, `PercentRepeat`, `PercentRepeatCounter`, `PhrasingSlur`, `PianoPedalBracket`, `Slur`, `SostenutoPedalLineSpanner`, `SpacingSpanner`, `StaffGrouper`, `StaffHighlight`, `StaffSymbol`, `SustainPedalLineSpanner`, `System`, `SystemStartBar`, `SystemStartBrace`, `SystemStartBracket`, `SystemStartSquare`, `TextSpanner`, `Tie`, `TieColumn`, `TrillSpanner`, `TupletBracket`, `TupletNumber`, `UnaCordaPedalLineSpanner`, `VaticanaLigature`, `VerticalAlignment`, `VerticalAxisGroup`, `VoiceFollower`, `VoltaBracket`, `VoltaBracketSpanner` and `VowelTransition`.

In addition, this interface is supported conditionally by the following objects depending on their class: `BalloonText`, `ControlPoint`, `ControlPolygon`, `Footnote` and `Parentheses`.

#### LilyPond – Internals Reference v2.24.4 (stable-branch).