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

The paper-column-interface implies the item-interface.

User settable properties:

labels (list)

List of labels (symbols) placed on a column.

rhythmic-location (rhythmic location)

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

used (boolean)

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

when (moment)

Global time step associated with this column.

X-alignment-extent (pair of numbers)

If a grob wants to align itself on a PaperColumn grob that doesn’t contain note heads, use this horizontal extent as a placeholder.

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.

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.


LilyPond Internals Reference v2.25.14 (development-branch).