LilyPond Beginnershandleiding
LilyPond Beginnershandleiding
LilyPond Beginnershandleiding
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Hoofdstuk 4: Tweaking output 119<br />
side-position-interface and the nearest other object (generally the note or the<br />
staff lines); staff-padding applies only to those objects which are always set outside<br />
the staff – it controls the minimum amount of space that should be inserted between<br />
that object and the staff. Note that staff-padding has no effect on objects which are<br />
positioned relative to the note rather than the staff, even though it may be overridden<br />
without error for such objects – it is simply ignored.<br />
To discover which padding property is required for the object you wish to reposition,<br />
you need to return to the IR and look up the object’s properties. Be aware that the<br />
padding properties might not be located in the obvious object, so look in objects that<br />
appear to be related.<br />
All padding values are measured in staff spaces. For most objects, this value is set by<br />
default to be around 1.0 or less (it varies with each object). It may be overridden if a<br />
larger (or smaller) gap is required.<br />
• self-alignment-X<br />
This property can be used to align the object to the left, to the right, or to center it with<br />
respect to the parent object’s reference point. It may be used with all objects which<br />
support the self-alignment-interface. In general these are objects that contain<br />
text. The values are LEFT, RIGHT or CENTER. Alternatively, a numerical value between<br />
-1 and +1 may be specified, where -1 is left-aligned, +1 is right-aligned, and numbers<br />
in between move the text progressively from left-aligned to right-aligned. Numerical<br />
values greater than 1 may be specified to move the text even further to the left, or<br />
less than -1 to move the text even further to the right. A change of 1 in the value<br />
corresponds to a movement of half the text’s length.<br />
• extra-spacing-width<br />
This property is available for all objects which support the item-interface. It takes<br />
two numbers, the first is added to the leftmost extent and the second is added to the<br />
rightmost extent. Negative numbers move the edge to the left, positive to the right, so<br />
to widen an object the first number must be negative, the second positive. Note that<br />
not all objects honor both numbers. For example, the Accidental object only takes<br />
notice of the first (left edge) number.<br />
• staff-position<br />
staff-position is a property of the staff-symbol-referencer-interface, which is<br />
supported by objects which are positioned relative to the staff. It specifies the vertical<br />
position of the object relative to the center line of the staff in half staff-spaces. It is<br />
useful in resolving collisions between layout objects like multi-measure rests, ties and<br />
notes in different voices.<br />
• force-hshift<br />
Closely spaced notes in a chord, or notes occurring at the same time in different voices,<br />
are arranged in two, occasionally more, columns to prevent the note heads overlapping.<br />
These are called note columns, and an object called NoteColumn is created to lay out<br />
the notes in that column.<br />
The force-hshift property is a property of a NoteColumn (actually of the<br />
note-column-interface). Changing it permits a note column to be moved in units<br />
appropriate to a note column, viz. the note head width of the first voice note. It<br />
should be used in complex situations where the normal \shiftOn commands (see<br />
Sectie 3.2.2 [Explicitly instantiating voices], pagina 53) do not resolve the note<br />
conflict. It is preferable to the extra-offset property for this purpose as there is no<br />
need to work out the distance in staff-spaces, and moving the notes into or out of a<br />
NoteColumn affects other actions such as merging note heads.