LilyPond Internals Reference: 3.2.75 paper-column-interface

### 3.2.75 paper-column-interface

`Paper_column` objects form the top-most X parents for items. There are two types of columns: musical and non-musical, to which musical and non-musical objects are attached respectively. The spacing engine determines the X positions of these objects.

They are numbered, the first (leftmost) is column 0. Numbering happens before line breaking, and columns are not renumbered after line breaking. Since many columns go unused, you should only use the rank field to get ordering information. Two adjacent columns may have non-adjacent numbers.

#### User settable properties:

> `between-cols` (pair)

>   Where to attach a loose column to.

> `full-measure-extra-space` (number)

>   Extra space that is allocated at the beginning of a measure with only one note. This property is read from the NonMusicalPaperColumn that begins the measure.

> `labels` (list)

>   List of labels (symbols) placed on a column.

> `line-break-system-details` (list)

>   An alist of properties to use if this column is the start of a system.

> `line-break-penalty` (number)

>   Penalty for a line break at this column. This affects the choices of the line breaker; it avoids a line break at a column with a positive penalty and prefers a line break at a column with a negative penalty.

> `line-break-permission` (symbol)

>   Instructs the line breaker on whether to put a line break at this column. Can be `force` or `allow`.

> `page-break-penalty` (number)

>   Penalty for page break at this column. This affects the choices of the page breaker; it avoids a page break at a column with a positive penalty and prefers a page break at a column with a negative penalty.

> `page-break-permission` (symbol)

>   Instructs the page breaker on whether to put a page break at this column. Can be `force` or `allow`.

> `page-turn-penalty` (number)

>   Penalty for a page turn at this column. This affects the choices of the page breaker; it avoids a page turn at a column with a positive penalty and prefers a page turn at a column with a negative penalty.

> `page-turn-permission` (symbol)

>   Instructs the page breaker on whether to put a page turn at this column. Can be `force` or `allow`.

> `rhythmic-location` (rhythmic location)

>   Where (bar number, measure position) in the score.

> `shortest-playing-duration` (moment)

>   The duration of the shortest note playing here.

> `shortest-starter-duration` (moment)

>   The duration of the shortest note that starts here.

> `used` (boolean)

>   If set, this spacing column is kept in the spacing problem.

> `when` (moment)

>   Global time step associated with this column happen?

#### Internal properties:

> `bounded-by-me` (array of grobs)

>   An array of spanners that have this column as start/begin point. Only columns that have grobs or act as bounds are spaced.

> `grace-spacing` (graphical (layout) object)

>   A run of grace notes.

> `maybe-loose` (boolean)

>   Used to mark a breakable column that is loose if and only if it is in the middle of a line.

> `spacing` (graphical (layout) object)

>   The spacing spanner governing this section.

This grob interface is used in the following graphical object(s): NonMusicalPaperColumn and PaperColumn.

#### Internals Reference