### 2.1.19 NoteNames

A context for printing the names of notes.

This context creates the following layout object(s):

NoteName, StaffSpacing, Tie, TieColumn and VerticalAxisGroup.

This context sets the following properties:

- Set grob-property `nonstaff-nonstaff-spacing` in VerticalAxisGroup to `'((basic-distance . 0) (minimum-distance . 2.8) (padding . 0.2) (stretchability . 0))`.
- Set grob-property `nonstaff-relatedstaff-spacing` in VerticalAxisGroup to `'((basic-distance . 5.5) (padding . 0.5) (stretchability . 1))`.
- Set grob-property `nonstaff-unrelatedstaff-spacing padding` in VerticalAxisGroup to `1.5`.
- Set grob-property `staff-affinity` in VerticalAxisGroup to `1`.

This context is a ‘bottom’ context; it cannot contain other contexts.

This context is built from the following engraver(s):

> `Axis_group_engraver`

>   Group all objects created in this context in a `VerticalAxisGroup` spanner.

>   Properties (read)

>   > `currentCommandColumn` (graphical (layout) object)

>   >   Grob that is X-parent to all current breakable (clef, key signature, etc.) items.

>   > `hasAxisGroup` (boolean)

>   >   True if the current context is contained in an axis group.

>   > `keepAliveInterfaces` (list)

>   >   A list of symbols, signifying grob interfaces that are worth keeping a staff with `remove-empty` set around for.

>   Properties (write)

>   > `hasAxisGroup` (boolean)

>   >   True if the current context is contained in an axis group.

>   This engraver creates the following layout object(s):

>   VerticalAxisGroup.

> `Note_name_engraver`

>   Print pitches as words.

>   Music types accepted:

>   note-event

>   Properties (read)

>   > `printOctaveNames` (boolean)

>   >   Print octave marks for the `NoteNames` context.

>   This engraver creates the following layout object(s):

>   NoteName.

> `Separating_line_group_engraver`

>   Generate objects for computing spacing parameters.

>   Properties (read)

>   > `createSpacing` (boolean)

>   >   Create `StaffSpacing` objects? Should be set for staves.

>   Properties (write)

>   > `hasStaffSpacing` (boolean)

>   >   True if the current `CommandColumn` contains items that will affect spacing.

>   This engraver creates the following layout object(s):

>   StaffSpacing.

> `Tie_engraver`

>   Generate ties between note heads of equal pitch.

>   Music types accepted:

>   tie-event

>   Properties (read)

>   > `skipTypesetting` (boolean)

>   >   If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.

>   > `tieWaitForNote` (boolean)

>   >   If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.

>   Properties (write)

>   > `tieMelismaBusy` (boolean)

>   >   Signal whether a tie is present.

>   This engraver creates the following layout object(s):

>   Tie and TieColumn.

#### Internals Reference v2.18.2 (稳定分支).