shape. Objects with an extended shape like these are called
@q{Spanners}.
+Spanners cannot be tweaked after their creation. This includes both
+@code{StaffSymbol} and @code{LedgerLineSpanner} which continue
+throughout the score, except if they are terminated by the
+@code{\stopStaff} command and then recreated using @code{\startStaff}
+command.
+
What is more, there are @q{abstract} grobs which do not print
anything of their own, but rather collect, position and manage
other grobs. Common examples for this are
modified by different commands, so it is useful to be able to recognize
the types of objects and properties from their names.
+@seealso
+Notation Reference:
+@ruser{Modifying properties}.
+
@node Tweaking methods
@subsection Tweaking methods
@cindex override syntax
@funindex \override
-@funindex override
We have already met the commands @code{\set} and @code{\with}, used to
change the properties of @strong{contexts} and to remove and add
@cindex revert command
@funindex \revert
-@funindex revert
Once overridden, the property retains its new value until it is
overridden again or a @code{\revert} command is encountered.
@unnumberedsubsubsec The @code{@bs{}once} prefix
@funindex \once
-@funindex once
-@code{\override}, @code{\revert}. @code{\set}, and @code{\unset}
+@code{\override}, @code{\revert}, @code{\set}, and @code{\unset}
commands may be prefixed with @code{\once}. This causes such a
command to be effective only during the current musical
moment before the property reverts back to its previous value (this can
@cindex overrideProperty command
@funindex \overrideProperty
-@funindex overrideProperty
There is another form of the override command,
@code{\overrideProperty}, which is occasionally required.
@cindex tweak command
@funindex \tweak
-@funindex tweak
The final tweaking command which is available is @code{\tweak}. This
should be used when several objects occur at the same musical moment,
slurs, and you should find
@example
-@code{thickness} (number)
- @code{1.2}
- Line thickness, generally measured in @code{line-thickness}
+thickness (number)
+ 1.2
+ Line thickness, generally measured in line-thickness
@end example
This looks a good bet to change the heaviness. It tells us that
@cindex once override
@funindex \once
-@funindex once
As you can see, @emph{all} the slurs are thicker in the final example
above. But what if we wanted just the first slur to be thicker? This
@cindex default properties, reverting to
@funindex \revert
-@funindex revert
Finally, what if we wanted just the first two slurs to be
heavier? Well, we could use two commands, each preceded by
command is:
@example
-@code{\set fingeringOrientations = #'([up] [left/right] [down])}
+\set fingeringOrientations = #'([up] [left/right] [down])
@end example
@noindent
placed at the start of the spanner, which might include several
linked hairpins and dynamics.
-@multitable @columnfractions .3 .3 .3
+@multitable @columnfractions .3 .15 .45
@headitem Layout Object
@tab Priority
@tab Controls position of:
@item @code{MetronomeMark}
@tab @code{1000}
@tab Metronome marks
+@item @code{SostenutoPedalLineSpanner}
+ @tab @code{1000}
+ @tab Pedal indication
+@item @code{SustainPedalLineSpanner}
+ @tab @code{1000}
+ @tab
+@item @code{UnaCordaPedalLineSpanner}
+ @tab @code{1000}
+ @tab
+@item @code{MeasureCounter}
+ @tab @code{750}
+ @tab Measure number
@item @code{VoltaBracketSpanner}
@tab @code{600}
@tab Volta brackets
+@item @code{InstrumentSwitch}
+ @tab @code{500}
+ @tab Instrument switch text
@item @code{TextScript}
@tab @code{450}
@tab Markup text
@item @code{MultiMeasureRestText}
@tab @code{450}
- @tab Markup text over full-bar rests
+ @tab Markup text over multimeasure rests
+@item @code{CombineTextScript}
+ @tab @code{450}
+ @tab Part-combine text
@item @code{OttavaBracket}
@tab @code{400}
@tab Ottava brackets
@tab @code{250}
@tab All dynamic markings
@item @code{BarNumber}
- @tab @code{ 100}
+ @tab @code{100}
@tab Bar numbers
@item @code{TrillSpanner}
@tab @code{50}
@tab Spanning trills
+@item @code{AccidentalSuggestion}
+ @tab @code{0}
+ @tab Annotational accidentals
@end multitable
Here is an example showing the default placement of some of
@cindex ottava bracket
@funindex \startTextSpan
-@funindex startTextSpan
@funindex \stopTextSpan
-@funindex stopTextSpan
@cindex TextSpanner, example of overriding
@cindex bound-details property, example
overridden. Suppose we would like the ottava bracket to be placed
below the text spanner in the example above. All we need to do is to
look up the priority of @code{OttavaBracket} in the IR or in the
-tables above, and reduce it to a value lower than that of a
+table above, and reduce it to a value lower than that of a
@code{TextSpanner}, remembering that @code{OttavaBracket} is created
in the @code{Staff} context:
@cindex notes, spreading out with text
@funindex \textLengthOn
-@funindex textLengthOn
@funindex \textLengthOff
-@funindex textLengthOff
By default, text produced by markup takes up no horizontal space
as far as laying out the music is concerned. The @code{\textLengthOn}
@cindex collisions, notes
@cindex shift commands
@funindex \shiftOff
-@funindex shiftOff
@funindex \shiftOn
-@funindex shiftOn
@funindex \shiftOnn
-@funindex shiftOnn
@funindex \shiftOnnn
-@funindex shiftOnnn
Within a voice, all the notes occuring at the same musical moment are
grouped into a note column, and a @code{NoteColumn} object is created
alternative can we use @code{\override} and @code{\revert} commands?
@example
-@code{\override Lyrics.LyricText.font-shape = #'italic}
-@code{\override Lyrics.LyricText.font-series = #'bold}
+\override Lyrics.LyricText.font-shape = #'italic
+\override Lyrics.LyricText.font-series = #'bold
-@code{\revert Lyrics.LyricText.font-shape}
-@code{\revert Lyrics.LyricText.font-series}
+\revert Lyrics.LyricText.font-shape
+\revert Lyrics.LyricText.font-series
@end example
These would also be extremely tedious to enter if there were many