### A.5 Layout properties

`X-extent` (pair of numbers)
  Hard coded extent in X direction.
`X-extent-callback` (procedure)
  Procedure that calculates the extent of this object. If this value is set to `#f`, the object is empty in the X direction. The procedure takes a grob and axis argument, and returns a number-pair.
`X-offset-callbacks` (list)
  A list of functions determining this objects' position relative to its parent. The last one in the list is called first. The functions take a grob and axis argument.
`Y-extent` (pair of numbers)
  See `X-extent`.
`Y-extent-callback` (procedure)
  see `X-extent-callback`.
`Y-offset-callbacks` (list)
  see `X-offset-callbacks`.
`accidentals` (list)
  List of alteration numbers.
`align-dir` (direction)
  Which side to align? `-1`: left side, `0`: around center of width, `1`: right side.
`arch-angle` (number)
  Turning angle of the hook of a system brace
`arch-height` (dimension, in staff space)
  Height of the hook of a system brace.
`arch-thick` (number)
  Thickness of the hook of system brace.
`arch-width` (dimension, in staff space)
  Width of the hook of a system brace.
`arpeggio-direction` (direction)
  If set, put an arrow on the arpeggio squiggly line.
`attachment` (pair)
  Pair of symbols indicating how a slur should be attached at the ends. The format is '(left-type . right-type), where both types are symbols. The values of these symbols may be `alongside-stem`, `stem`, `head` or `loose-end`.
`attachment-offset` (pair)
  cons of offsets, '(left-offset . right-offset). This offset is added to the attachments to prevent ugly slurs. [fixme: we need more documentation here].
`auto-knee-gap` (dimension, in staff space)
  If a gap is found between note heads where a horizontal beam fits that is larger than this number, make a kneed beam.
`avoid-note-head` (boolean)
  If set, the stem of a chord does not pass through all note heads, but starts at the last note head.
`axes` (list)
  list of axis numbers. In the case of alignment grobs, this should contain only one number.
`balloon-original-callback` (procedure)
  The original stencil drawer to draw the balloon around.
`balloon-padding` (dimension, in staff space)
  Text to add to help balloon
`balloon-text` (markup)
  Text to add to help balloon
`balloon-text-offset` (pair of numbers)
  Where to put text relative to balloon.
`balloon-text-props` (list)
  Font properties for balloon text.
`bar-size` (dimension, in staff space)
  size of a bar line.
`bar-size-procedure` (procedure)
  Procedure that computes the size of a bar line.
`base-shortest-duration` (moment)
  Spacing is based on the shortest notes in a piece. Normally, pieces are spaced as if notes at least as short as this are present.
`baseline-skip` (dimension, in staff space)
  Distance between base lines of multiple lines of text.
`beam-thickness` (dimension, in staff space)
  thickness, measured in staffspace.
`beam-width` (dimension, in staff space)
  width of the tremolo sign.
`beamed-extreme-minimum-free-lengths` (list)
  list of extreme minimum free stem lengths (chord to beams) given beam multiplicity.
`beamed-lengths` (list)
  list of stem lengths given beam multiplicity .
`beamed-minimum-free-lengths` (list)
  list of normal minimum free stem lengths (chord to beams) given beam multiplicity.
`beamed-stem-shorten` (list)
  How much to shorten beamed stems, when their direction is forced. It is a list, since the value is different depending on the number flags/beams.
`beaming` (pair)
  Pair of number lists. Each number list specifies which beams to make. 0 is the central beam, 1 is the next beam toward the note etc. This information is used to determine how to connect the beaming patterns from stem to stem inside a beam.
`beautiful` (number)
  number that dictates when a slur should be de-uglyfied. It correlates with the enclosed area between noteheads and slurs. A value of 0.1 yields only undisturbed slurs, a value of 5 will tolerate quite high blown slurs.
`before-line-breaking-callback` (procedure)
  This procedure is called before line breaking, but after splitting breakable items at potential line breaks.
`between-cols` (pair)
  Where to attach a loose column to
`between-system-string` (string)
  string to dump between two systems. Useful for forcing page breaks.
`bracket-flare` (pair of numbers)
  A pair of numbers specifying how much edges of brackets should slant outward. Value 0.0 means straight edges
`bracket-thick` (number)
  width of a system start bracket.
`bracket-visibility` (boolean or symbol)
  This controls the visibility of the tuplet bracket. Setting it to false will prevent printing of the bracket. Setting the property to `'if-no-beam` will make it print only if there is no beam associated with this tuplet bracket.
`break-align-orders` (hash table)
  Defines the order in which prefatory matter (clefs, key signatures) appears. The format is a vector of length 3, where each element is one order for end-of-line, middle of line, and start-of-line respectively. An order is a list of symbols.

  For example, clefs are put after key signatures by setting

                	\override Score.BreakAlignment #'break-align-orders = #(make-vector  3
                	  '(span-bar
                	  breathing-sign
                	  staff-bar
                	  key
                	  clef
                	  time-signature))

`break-align-symbol` (symbol)
  This key is used for aligning and spacing breakable items.
`break-glyph-function` (procedure)
  This function determines the appearance of a bar line at the line break. It takes a glyph and break-direction and returns the glyph at a line break.
`break-visibility` (procedure)
  A function that takes the break direction and returns a cons of booleans containing (transparent . empty). The following variables are predefined: `all-visible`, `begin-of-line-visible`, `end-of-line-visible`, `begin-of-line-invisible`, `end-of-line-invisible`, `all-invisible`.
`breakable` (boolean)
  Can this object appear at a line break, like clefs and bar lines?
`c0-position` (integer)
  An integer indicating the position of middle C.
`cautionary` (boolean)
  Is this a cautionary accidental?
`cautionary-style` (symbol)
  How to print cautionary accidentals. Choices are `smaller` or `parentheses`.
`collapse-height` (dimension, in staff space)
  Minimum height of system start delimiter. If equal or smaller, the bracket is removed.
`common-shortest-duration` (moment)
  The most common shortest note length. This is used in spacing. Enlarging this will set the score tighter.
`concaveness-gap` (dimension, in staff space)
  A beam is printed horizontally if its concaveness-gap is larger than this value. The concaveness-gap is the distance of an inner note head to the line between two outer note heads.
`concaveness-threshold` (number)
  A beam is printed horizontally if its concaveness is bigger than this threshold.

  Concaveness is calculated as the sum of the vertical distances of inner note heads that fall outside the interval of the two outer note heads, to the vertically nearest outer note head, divided by the square of the inner notes involved.

`control-points` (list)
  List of 4 offsets (number-pairs) that form control points for the tie/slur shape.
`damping` (integer)
  Amount of beam slope damping. 0: no, 1: yes, 100000: horizontal beams.
`dash-fraction` (number)
  Size of the dashes, relative to dash-period. Should be between 0.0 (no line) and 1.0 (continuous line).
`dash-period` (number)
  the length of one dash + white space. If negative, no line is drawn at all.
`dashed` (number)
  number representing the length of the dashes.
`dir-function` (procedure)
  The function to determine the direction of a beam. Choices include:
  `beam-dir-majority`
    number count of up or down notes
  `beam-dir-mean`
    mean center distance of all notes
  `beam-dir-median.`
    mean center distance weighted per note
`direction` (direction)
  Up or down, left or right?
`dot-count` (integer)
  The number of dots.
`duration-log` (integer)
  The 2-log of the note head duration, i.e. 0=whole note, 1 = half note, etc.
`edge-height` (pair)
  A pair of number specifying the heights of the vertical edges '(left-height . right-height).
`edge-text` (pair)
  A pair specifying the texts to be set at the edges '(left-text . right-text).
`enclose-bounds` (number)
  How much of the bound a spanner should enclose: +1 = completely, 0 = center, -1 not at all.
`expand-limit` (integer)
  maximum number of measures expanded in church rests.
`extra-X-extent` (pair of numbers)
  A grob is enlarged in X dimension by this much.
`extra-Y-extent` (pair of numbers)
  See `extra-Y-extent`.
`extra-offset` (pair of numbers)
  A pair representing an offset. This offset is added just before outputting the symbol, so the typesetting engine is completely oblivious to it.
`extremity-function` (procedure)
  A function that calculates the attachment of a slur-end. The function takes a slur and direction argument and returns a symbol.
`extremity-offset-alist` (list)
  The offset adds to the centre of the note head, or stem.

  Format: alist (attachment stem-dir*dir slur-dir*dir) -> offset.

`flag-count` (number)
  The number of tremolo beams.
`flag-style` (symbol)
  a string determining what style of flag-glyph is typeset on a Stem. Valid options include `()` and `mensural`. Additionally, `"no-flag"` switches off the flag.
`flag-width-function` (procedure)
  Procedure that computes the width of a half-beam (a non-connecting beam.).
`font-encoding` (symbol)
  The font encoding is the broadest category for selecting a font. Options include: `music`, `number`, `text`, `math`, `braces`, `dynamic`
`font-family` (symbol)
  The font family is the broadest category for selecting text fonts. Options include: `sans`, `roman`
`font-magnification` (number)
  Magnification of the font, when it is selected with `font-name`.
`font-name` (string)
  Specifies a file name (without extension) of the font to load. This setting override selection using `font-family`, `font-series` and `font-shape`.
`font-series` (symbol)
  Select the series of a font. Choices include `medium`, `bold`, `bold-narrow`, etc.
`font-shape` (symbol)
  Select the shape of a font. Choices include `upright`, `italic`, `caps`.
`font-size` (number)
  The font size, compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger. Each step of 1 is approximately 12% larger, 6 steps are exactly a factor 2 larger. Fractional values are allowed.
`force-hshift` (number)
  This specifies a manual shift for notes in collisions. The unit is the note head width of the first voice note. This is used by note-collision-interface.
`forced-distance` (dimension, in staff space)
  A fixed distance between object reference points in an alignment.
`fraction` (pair of numbers)
  Numerator and denominator of a time signature object.
`french-beaming` (boolean)
  Use French beaming style for this stem. The stem will stop at the innermost beams.
`full-size-change` (boolean)
  Don't make a change clef smaller.
`gap` (dimension, in staff space)
  Size of a gap in a variable symbol.
`gap-count` (integer)
  Number of gapped beams for tremolo.
`glyph` (string)
  a string determining what (style) of glyph is typeset. Valid choices depend on the function that is reading this property.
`glyph-name` (string)
  a name of character within font.
`glyph-name-procedure` (procedure)
  Return the name of a character within font, to use for printing a symbol.
`grace-space-factor` (number)
  Space grace notes at this fraction of the `spacing-increment`.
`grow-direction` (direction)
  Crescendo or decrescendo?
`hair-thickness` (number)
  Thickness of the thin line in a bar line.
`height` (dimension, in staff space)
  Height of an object in staffspace.
`height-limit` (dimension, in staff space)
  Maximum slur height: the longer the slur, the closer it is to this height.
`horizontal-shift` (integer)
  An integer that identifies ranking of note-column for horizontal shifting. This is used by note-collision-interface.
`kern` (dimension, in staff space)
  Amount of extra white space to add. For bar line, this is the amount of space after a thick line.
`knee` (boolean)
  Is this beam kneed?
`knee-spacing-correction` (number)
  Factor for the optical correction amount for kneed beams. Set between 0 for no correction and 1 for full correction.
`layer` (number)
  The output layer [0..2]: layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers.
`ledger-line-thickness` (pair of numbers)
  The thickness of ledger lines: it is the sum of 2 numbers. The first is the factor for line thickness, and the second for staff space. Both contributions are added.
`left-padding` (dimension, in staff space)
  The amount of space that is put left to a group of accidentals.
`left-position` (number)
  Vertical position of left part of spanner.
`length` (dimension, in staff space)
  User override for the stem length of unbeamed stems.
`lengths` (list)
  Default stem lengths. The list gives a length for each flag-count.
`line-count` (integer)
  The number of staff lines.
`measure-count` (integer)
  The number of measures for a multimeasure rest.
`measure-length` (moment)
  Length of a measure. Used in some spacing situations.
`merge-differently-dotted` (boolean)
  Merge note heads in collisions, even if they have a different number of dots. This normal notation for some types of polyphonic music.
`merge-differently-headed` (boolean)
  Merge note heads in collisions, even if they have different note heads. The smaller of the two heads will be rendered invisible. This used polyphonic guitar notation. The value of this setting is used by note-collision-interface .
`minimum-X-extent` (pair of numbers)
  Minimum size of an object in X dimension, measured in staff space.
`minimum-Y-extent` (pair of numbers)
  See `minimum-Y-extent`.
`minimum-distance` (dimension, in staff space)
  Minimum distance between rest and notes or beam.
`minimum-length` (dimension, in staff space)
  Try to make a spanner at least this long. This requires an appropriate routine for the `spacing-procedure` property.
`minimum-space` (dimension, in staff space)
  Minimum distance that the victim should move (after padding).
`neutral-direction` (direction)
  Which direction to take in the center of the staff.
`neutral-position` (number)
  Position (in half staff spaces) where to flip the direction of custos stem.
`new-accidentals` (list)
  List of `(`pitch`.` accidental`)` pairs.
`no-spacing-rods` (boolean)
  Items with this property do not cause spacing constraints.
`no-stem-extend` (boolean)
  If set, notes with ledger lines do not get stems extending to the middle staff line.
`non-default` (boolean)
  Set for manually specified clefs.
`note-names` (hash table)
  Vector of strings containing names for easy-notation note heads.
`number-visibility` (boolean or symbol)
  Like `bracket-visibility`, but for the number.
`old-accidentals` (list)
  List of `(`pitch`.` accidental`) pairs.`
`padding` (dimension, in staff space)
  Add this much extra space between objects that are next to each other.
`penalty` (number)
  Penalty for breaking at this column. 10000 or more means forbid linebreak, -10000 or less means force linebreak. Other values influence linebreaking decisions as a real penalty.
`pitch-max` (pitch)
  Top pitch for ambitus.
`pitch-min` (pitch)
  Bottom pitch for ambitus.
`positions` (pair)
  Pair of staff coordinates `(`left`.` right`)`, where both left and right are in the staff-space unit of the current staff.
`print-function` (procedure)
  Function taking grob as argument, returning a `Stencil` object.
`ratio` (number)
  Parameter for slur shape. The higher this number, the quicker the slur attains it `height-limit`.
`remove-first` (boolean)
  Remove the first staff of a orchestral score?
`right-padding` (dimension, in staff space)
  Space to insert between note and accidentals.
`right-position` (number)
  Vertical position of right part of spanner.
`script-priority` (number)
  A sorting key that determines in what order a script is within a stack of scripts.
`self-alignment-X` (number)
  Specify alignment of an object. The value -1 means left aligned, 0 centered, and 1 right-aligned in X direction. Values in between may also be specified.
`self-alignment-Y` (number)
  like `self-alignment-X` but for Y axis.
`shorten-pair` (pair of numbers)
  The lengths to shorten a text-spanner on both sides, for example a pedal bracket
`shortest-duration-space` (dimension, in staff space)
  Start with this much space for the shortest duration. This is expressed in `spacing-increment` as unit. See also spacing-spanner-interface.
`shortest-playing-duration` (moment)
  The duration of the shortest playing here.
`shortest-starter-duration` (moment)
  The duration of the shortest note that starts here.
`side-relative-direction` (direction)
  Multiply direction of `direction-source` with this to get the direction of this object.
`slope` (number)
  The slope of this object.
`slope-limit` (number)
  Set slope to zero if slope is running away steeper than this.
`space-alist` (list)
  A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples: `(`break-align-symbol type`.` distance`)`, where type can be the symbols `minimum-space` or `extra-space`.
`space-function` (procedure)
  Calculate the vertical space between two beams. This function takes a beam grob and the maximum number of beams.
`spacing-increment` (number)
  Add this much space for a doubled duration. Typically, the width of a note head. See also spacing-spanner-interface.
`spacing-procedure` (procedure)
  Procedure for calculating spacing parameters. The routine is called after `before-line-breaking-callback`.
`stacking-dir` (direction)
  Stack objects in which direction?
`staff-padding` (dimension, in staff space)
  Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamic p and f) on their baselines.
`staff-position` (number)
  Vertical position, measured in half staff spaces, counted from the middle line.
`staff-space` (dimension, in staff space)
  Amount of space between staff lines, expressed in global staffspace.
`staffline-clearance` (dimension, in staff space)
  How far away ties keep from staff lines.
`stem-attachment-function` (procedure)
  A function that calculates where a stem attaches to the note head? This is a fallback when this information is not specified in the font. The function takes a grob and axis argument, and returns a (x . y) pair, specifying location in terms of note head bounding box.
`stem-end-position` (number)
  Where does the stem end (the end is opposite to the support-head.
`stem-shorten` (list)
  How much a stem in a forced direction should be shortened. The list gives an amount depending on the number of flags/beams.
`stem-spacing-correction` (number)
  Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
`stroke-style` (string)
  set to "grace" to turn stroke through flag on.
`style` (symbol)
  This setting determines in what style a grob is typeset. Valid choices depend on the `print-function` that is reading this property.
`text` (markup)
  Text markup. See Text markup.
`thick-thickness` (number)
  Bar line thickness, measured in `linethickness`.
`thickness` (number)
  Bar line thickness, measured in `linethickness`.
`thin-kern` (number)
  The space after a hair-line in a bar line.
`threshold` (pair of numbers)
  (min . max), where min and max are dimensions in staff space.
`transparent` (boolean)
  This is almost the same as setting `print-function` to `#f`, but this retains the dimensions of this grob, which means that grobs can be erased individually.
`when` (moment)
  Global time step associated with this column happen?
`width` (dimension, in staff space)
  The width of a grob measured in staff space.
`word-space` (dimension, in staff space)
  space to insert between lyrics or words in texts.
`x-gap` (dimension, in staff space)
  The horizontal gap between note head and tie.
`y-free` (dimension, in staff space)
  The minimal vertical gap between slur and note heads or stems.
`y-offset` (dimension, in staff space)
  Extra vertical offset for ties away from the center line.
`zigzag-length` (dimension, in staff space)
  The length of the lines of a zigzag, relative to `zigzag-width`. A value of 1 gives 60-degree zigzags.
`zigzag-width` (dimension, in staff space)
  The width of one zigzag-squiggle. This number will be adjusted slightly so that the glissando line can be constructed from a whole number of squiggles.

Read comments on this page, or add one. This page is for LilyPond-2.2.5 (stable-branch).