Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.6"
+@c \version "2.17.11"
@node Tweaking output
@chapter Tweaking output
@cindex tweaking methods
-@strong{\override command}
+@menu
+* The \override command::
+* The \revert command::
+* The \once prefix::
+* The \overrideProperty command::
+* The \tweak command::
+@end menu
+
+@node The \override command
+@unnumberedsubsubsec The @code{\override} command
@cindex override command
@cindex override syntax
g4 a b c |
@end lilypond
-@strong{\revert command}
+
+@node The \revert command
+@unnumberedsubsubsec The @code{\revert} command
@cindex revert command
b4 c |
@end lilypond
-@strong{\once prefix}
+
+@node The \once prefix
+@unnumberedsubsubsec The @code{\once} prefix
@funindex \once
@funindex once
@cindex color property, example
@cindex NoteHead, example of overriding
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+@lilypond[quote,verbatim,relative=1]
c4 d
\override NoteHead.color = #red
e4 f |
b c |
@end lilypond
-@strong{\overrideProperty command}
+The @code{\once} prefix may also be used in front of many
+predefined commands to limit their effect to one musical moment:
+
+@lilypond[quote,verbatim,relative=1]
+c4 d
+\once \stemDown
+e4 f |
+g4 a
+\once \hideNotes
+b c |
+@end lilypond
+
+However, predefined commands of the form @code{\...Neutral},
+@code{\...Off} and @code{\un...} use @code{\revert} internally rather
+than @code{\override} so prefixing these with @code{\once} has no
+effect.
+
+
+@node The \overrideProperty command
+@unnumberedsubsubsec The @code{\overrideProperty} command
@cindex overrideProperty command
@rextend{Difficult tweaks}.
@c Maybe explain in a later iteration -td
-@strong{\tweak command}
+
+@node The \tweak command
+@unnumberedsubsubsec The @code{\tweak} command
@cindex tweak command
@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
\tweak direction #up
-\times 4/3 {
+\tuplet 3/4 {
\tweak color #red
- \times 2/3 { c8[ c c] }
- \times 2/3 { c8[ c c] }
- \times 2/3 { c8[ c c] }
+ \tuplet 3/2 { c8[ c c] }
+ \tuplet 3/2 { c8[ c c] }
+ \tuplet 3/2 { c8[ c c] }
}
@end lilypond
@cindex TupletNumber, example of overriding
@lilypond[quote,ragged-right,verbatim,fragment,relative=1]
-\times 2/3 { c8[ c c] }
+\tuplet 3/2 { c8[ c c] }
\once \override TupletNumber.text = #tuplet-number::calc-fraction-text
-\times 2/3 {
+\tuplet 3/2 {
c8[ c]
c8[ c]
\once \override TupletNumber.transparent = ##t
- \times 2/3 { c8[ c c] }
- \times 2/3 { c8[ c c] }
+ \tuplet 3/2 { c8[ c c] }
+ \tuplet 3/2 { c8[ c c] }
}
@end lilypond
still need some practice. This is provided in the examples
which follow.
-@subheading Finding the context
+@subsubsubheading Finding the context
@cindex context, finding
@cindex context, identifying correct
the fact that we are entering notes, we can omit it in this
location.
-@subheading Overriding once only
+@subsubsubheading Overriding once only
@cindex overriding once only
@cindex once override
The @code{\once} command can also be used before the @code{\set}
command.
-@subheading Reverting
+@subsubsubheading Reverting
@cindex revert
@cindex default properties, reverting to
need, together with the rules for that type, and some examples.
You must always add a hash symbol, @code{#}, of course,
to the front of these values when they are entered in the
-@code{\override} command.
+@code{\override} command, even if the value itself already
+starts with@tie{}@code{#}. We only give examples for constants
+here: if you want to compute a value using Scheme, see
+@rextend{Calculations in Scheme}.
@multitable @columnfractions .2 .45 .35
@headitem Property type
@tab Either True or False, represented by #t or #f
@tab @code{#t}, @code{#f}
@item Dimension (in staff space)
- @tab A positive decimal number (in units of staff space)
+ @tab A decimal number (in units of staff space)
@tab @code{2.5}, @code{0.34}
@item Direction
- @tab A valid direction constant or its numerical equivalent (decimal
-values between -1 and 1 are allowed)
+ @tab A valid direction constant or its numerical equivalent
+ (@code{0} or @code{CENTER} indicate a neutral direction)
@tab @code{LEFT}, @code{CENTER}, @code{UP},
@code{1}, @w{@code{-1}}
@item Integer
- @tab A positive whole number
- @tab @code{3}, @code{1}
+ @tab A whole number
+ @tab @code{3}, @code{-1}
@item List
- @tab A set of values separated by spaces, enclosed in parentheses
-and preceded by an apostrophe
- @tab @code{'(left-edge staff-bar)}, @code{'(1)},
+ @tab A sequence of constants or symbols separated by spaces, enclosed
+ in parentheses
+and preceded by an apostrophe (quote mark)
+ @tab @code{'(left-edge staff-bar)}, @code{'(1)}, @code{'()},
@code{'(1.0 0.25 0.5)}
@item Markup
@tab Any valid markup
- @tab @code{\markup @{ \italic "cresc." @}}
+ @tab @code{\markup @{ \italic "cresc." @}}, @code{"bagpipe"}
@item Moment
@tab A fraction of a whole note constructed with the
make-moment function
- @tab @code{(ly:make-moment 1 4)},
- @code{(ly:make-moment 3 8)}
+ @tab @code{(ly:make-moment 1/4)},
+ @code{(ly:make-moment 3/8)}
@item Number
- @tab Any positive or negative decimal value
- @tab @code{3.5}, @w{@code{-2.45}}
+ @tab Any positive or negative, possibly decimal, value
+ @tab @code{3}, @w{@code{-2.45}}
@item Pair (of numbers)
@tab Two numbers separated by a @q{space . space} and enclosed
in brackets preceded by an apostrophe
@tab @code{bend::print}, @code{ly:text-interface::print},
@code{#f}
@item Vector
- @tab A list of three items enclosed in parentheses and preceded
-by apostrophe-hash, @code{'#}.
- @tab @code{'#(#t #t #f)}
+ @tab Constants
+ enclosed in @code{#(}@dots{}@code{)}.
+ @tab @code{#(#t #t #f)}
@end multitable
by extension, many other layout objects too.) Let's consider each of
these in turn.
-@subheading stencil
+@menu
+* The stencil property::
+* The break-visibility property::
+* The transparent property::
+* The color property::
+@end menu
+
+@node The stencil property
+@unnumberedsubsubsec The @code{stencil} property
@cindex stencil property
}
@end lilypond
-Now the bar lines have vanished.
+Now the bar lines have vanished. Setting the @code{stencil}
+property to @code{#f} is such a frequent operation that there is a
+shorthand for it called @code{\omit}:
+@funindex \omit
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \omit Staff.BarLine
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
+ e8
+}
+@end lilypond
Note, though, that setting the @code{stencil} property to @code{#f}
will cause errors when the dimensions of the object are required for
}
@end lilypond
-@subheading break-visibility
+@node The break-visibility property
+@unnumberedsubsubsec The @code{break-visibility} property
@cindex break-visibility property
These control respectively whether bar lines are printed at the end of
a line, in the middle of lines, and at the beginning of lines. For
our example we want all bar lines to be suppressed, so the value we
-need is @code{'#(#f #f #f)}. Let's try that, remembering to include
+need is @code{#(#f #f #f)} (also available
+under the name @code{all-invisible}). Let's try that, remembering to include
the @code{Staff} context. Note also that in writing this value we
-have @code{#'#} before the opening bracket. The @code{'#} is required
-as part of the value to introduce a vector, and the first@tie{}@code{#} is
+have @code{##} before the opening parenthesis. One @code{#} is required
+as part of vector constant syntax, and the first@tie{}@code{#} is
required, as always, to precede the value itself in the
@code{\override} command.
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
{
\time 12/16
- \override Staff.BarLine.break-visibility = #'#(#f #f #f)
+ \override Staff.BarLine.break-visibility = ##(#f #f #f)
c4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
And we see this too removes all the bar lines.
-@subheading transparent
+@node The transparent property
+@unnumberedsubsubsec The @code{transparent} property
@cindex transparent property
@cindex transparency
@end lilypond
@noindent
-The time signature is gone, but this command leaves a gap where
+Again, setting the @code{transparent} property is a rather
+frequent operation, so we have a shorthand for it called
+@code{\hide}:
+@funindex \hide
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \hide Staff.TimeSignature
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
+ e8
+}
+@end lilypond
+
+@noindent
+In either case, the time signature is gone, but this command
+leaves a gap where
the time signature should be. Maybe this is what is wanted for
an exercise for the student to fill it in, but in other
circumstances a gap might be undesirable. To remove it, the
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
{
\time 12/16
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
c4 b8 c d16 c d8 |
g,8 a16 b8 c d4 e16 |
e8
@noindent
and the difference is obvious: setting the stencil to @code{#f}
+(possibly via @code{\omit})
removes the object entirely; making the object @code{transparent}
+(which can be done using @code{\hide})
leaves it where it is, but makes it invisible.
-@subheading color
+@node The color property
+@unnumberedsubsubsec The @code{color} property
@cindex color property
@noindent
and again, we see the bar lines are not visible. Note that
@emph{white} is not preceded by an apostrophe -- it is not
-a symbol, but a @emph{function}. When called, it provides
+a symbol, but a @emph{variable}. When evaluated, it provides
the list of internal values required to set the color to
-white. The other colors in the normal list are functions
+white. The other colors in the normal list are variables
too. To convince yourself this is working you might like
-to change the color to one of the other functions in the
+to change the color to one of the other variables in the
list.
@cindex color, X11
The second way of changing the color is to use the list of
X11 color names in the second list in @ruser{List of colors}.
-However, these must be preceded by another function, which
-converts X11 color names into the list of internal values,
-@code{x11-color}, like this:
+However, these are mapped to the actual values by the function
+@code{x11-color} which
+converts X11 color symbols into the list of internal values like this:
@cindex BarLine, example of overriding
@cindex color property, example
@noindent
Note that in this case the function @code{x11-color} takes
a symbol as an argument, so the symbol must be preceded by
-an apostrophe and the two enclosed in brackets.
+an apostrophe to keep it from being evaluated as a variable, and
+the whole function call has to be enclosed in parentheses.
@cindex rgb colors
@cindex color, rgb
@funindex rgb-color
-There is yet a third function, one which converts RGB values into
+There is another function, one which converts RGB values into
internal colors -- the @code{rgb-color} function. This takes
three arguments giving the intensities of the red, green and
blue colors. These take values in the range 0 to 1. So to
@cindex alignAboveContext property, example
@cindex @code{\with}, example
-@cindex stencil property, example
+@funindex \omit
@cindex Clef, example of overriding
@cindex TimeSignature, example of overriding
alignAboveContext = #"main"
}
{
- \override Staff.Clef.stencil = ##f
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.Clef
+ \omit Staff.TimeSignature
{ f8 f c }
}
>>
But what is the difference between modifying the staff context by
using @code{\with} and modifying the stencils of the clef and the
-time signature with \override? The main difference is that
+time signature with @code{\override}, or in this case
+@code{\omit}?
+The main difference is that
changes made in a @code{\with} clause are made at the time the
context is created, and remain in force as the @strong{default}
values for the duration of that context, whereas
}
@end lilypond
+It turns out that we can also employ the shorthands @code{\hide}
+and @code{\omit} for setting the @code{transparent} property and
+clearing the @code{stencil} here, leading to the result
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+ \relative g' {
+ r4 g8 g c4 c8 d |
+ e4 r8
+ <<
+ { f8 c c }
+ \new Staff \with {
+ alignAboveContext = #"main"
+ % Don't print clefs in this staff
+ \omit Clef
+ % Don't print time signatures in this staff
+ \omit TimeSignature
+ }
+ { f8 f c }
+ >>
+ r4 |
+ }
+}
+@end lilypond
+
Finally we come to changing the size of layout objects.
Some layout objects are created as glyphs selected from a typeface
{ f8 c c }
\new Staff \with {
alignAboveContext = #"main"
- \override Clef.stencil = ##f
- \override TimeSignature.stencil = ##f
+ \omit Clef
+ \omit TimeSignature
% Reduce all font sizes by ~24%
fontSize = #-2
}
{ f8 c c }
\new Staff \with {
alignAboveContext = #"main"
- \override Clef.stencil = ##f
- \override TimeSignature.stencil = ##f
+ \omit Clef
+ \omit TimeSignature
fontSize = #-2
% Reduce stem length and line spacing to match
\override StaffSymbol.staff-space = #(magstep -2)
right or left when they point up or down. This is controlled
automatically when @code{direction} is set.
+@menu
+* The direction property::
+* Fingering::
+@end menu
+
+@node The direction property
+@unnumberedsubsubsec The @code{direction} property
+
@cindex down
@cindex up
@cindex center
@tab Tuplets are below/above notes
@end multitable
-Note that these predefined commands may @strong{not} be
+The neutral/normal variants of these commands are implemented
+using @code{\revert} and may @strong{not} be
preceded by @code{\once}. If you wish to limit the
-effect to a single note you must either use the equivalent
-@code{\once \override} command or use the predefined command
-followed after the affected note by the corresponding
-@code{\xxxNeutral} command.
+effect of the other commands (which are implemented using
+@code{\override}) to a single timestep, you can precede them with
+@code{\once} like you would do with explicit overrides.
+@node Fingering
@unnumberedsubsubsec Fingering
@cindex fingering, placement
@subsection Outside-staff objects
Outside-staff objects are automatically placed to avoid collisions.
+There are several ways to override the automatic placement if the
+positioning is not optimum.
+
+@menu
+* The outside-staff-priority property::
+* The \textLengthOn command::
+* Dynamics placement::
+* Grob sizing::
+@end menu
+
+
+@node The outside-staff-priority property
+@unnumberedsubsubsec The @code{outside-staff-priority} property
+
Objects with the lower value of the @code{outside-staff-priority}
property are placed nearer to the staff, and other outside-staff
objects are then raised as far as necessary to avoid collisions.
room for the text. This is done using the @code{textLengthOn}
command.
-@subheading \textLengthOn
+@node The \textLengthOn command
+@unnumberedsubsubsec The @code{\textLengthOn} command
@cindex notes, spreading out with text
@end lilypond
The command to revert to the default behavior is
-@code{\textLengthOff}. Remember @code{\once} only works with
-@code{\override}, @code{\set}, @code{\revert} or @code{\unset},
-so cannot be used with @code{\textLengthOn}.
+@code{\textLengthOff}. Alternatively, @code{\once} may be used
+with @code{\textLengthOn} if the effect is to be limited to just a
+single musical moment.
@cindex markup text, allowing collisions
c''2 |
@end lilypond
-
-@subheading Dynamics
+@node Dynamics placement
+@unnumberedsubsubsec Dynamics placement
@cindex tweaking dynamics placement
@cindex dynamics, tweaking placement
command, but there is no equivalent command for dynamic marks. So we
shall have to work out how to do this using @code{\override} commands.
-@subheading Grob sizing
+@node Grob sizing
+@unnumberedsubsubsec Grob sizing
@cindex grob sizing
@cindex sizing grobs
Let's now see how the properties in the previous section can
help to resolve overlapping notation.
-@subheading padding property
+@menu
+* The padding property::
+* The right-padding property::
+* The staff-padding property::
+* The self-alignment-X property::
+* The staff-position property::
+* The extra-offset property::
+* The positions property::
+* The force-hshift property::
+@end menu
+
+@node The padding property
+@unnumberedsubsubsec The @code{padding} property
@cindex padding
@cindex fixing overlapping notation
objects outside it are moved.
-@subheading right-padding
+@node The right-padding property
+@unnumberedsubsubsec The @code{right-padding} property
@cindex right-padding property
@noindent
-@subheading staff-padding property
+@node The staff-padding property
+@unnumberedsubsubsec The @code{staff-padding} property
@cindex aligning objects on a baseline
@cindex objects, aligning on a baseline
@end lilypond
-@subheading self-alignment-X property
+@node The self-alignment-X property
+@unnumberedsubsubsec The @code{self-alignment-X} property
The following example shows how this can resolve the collision
of a string fingering object with a note's stem by aligning the
<a\2>
@end lilypond
-@subheading staff-position property
+@node The staff-position property
+@unnumberedsubsubsec The @code{staff-position} property
@cindex object collision within a staff
This is better than using, for example, @code{extra-offset},
because the ledger line above the rest is inserted automatically.
-@subheading extra-offset property
+@node The extra-offset property
+@unnumberedsubsubsec The @code{extra-offset} property
@cindex positioning objects
@cindex positioning grobs
@end lilypond
-@subheading positions property
+@node The positions property
+@unnumberedsubsubsec The @code{positions} property
@cindex controlling tuplets, slurs, phrasing slurs, and beams manually
@cindex manually controlling tuplets, slurs, phrasing slurs, and beams
@cindex phrasing slurs, controlling manually
@cindex beams, controlling manually
-The @code{positions} property allows the position and slope of
-tuplets, slurs, phrasing slurs and beams to be controlled manually.
-Here's an example which has an ugly phrasing slur due to its trying to
-avoid the slur on the acciaccatura.
+The @code{positions} property allows the vertical position and hence
+the slope of tuplets, slurs, phrasing slurs and beams to be controlled
+manually.
-@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
-r4 \acciaccatura e8\( d8 c~ c d c d\)
-@end lilypond
-
-@noindent
-We could simply move the phrasing slur above the notes, and this
-would be the preferred solution:
+Here's an example in which the phrasing slur and slur collide:
-@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
-r4
-\phrasingSlurUp
-\acciaccatura e8\( d8 c~ c d c d\)
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+a8 \( ( a'16 ) a \)
@end lilypond
-@noindent
-But if there were some reason why this could not be done the
-other alternative would be to move the left end of the phrasing
-slur down a little using the @code{positions} property. This
-also resolves the rather nasty shape.
-
@cindex PhrasingSlur, example of overriding
@cindex positions property, example
-@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
-r4
-\once \override PhrasingSlur.positions = #'(-4 . -3)
-\acciaccatura e8\( d8 c~ c d c d\)
+@noindent
+One possibility would be to move the two ends of the phrasing slur
+higher. We can try setting the left end to 2.5 staff-spaces above the
+centre line and the right end to 4.5 above, and LilyPond will
+select the phrasing slur from the candidates it has found with its
+end points closest to these:
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+\once \override PhrasingSlur.positions = #'(2.5 . 4.5)
+a8 \( ( a'16 ) a \)
@end lilypond
+This is an improvement, but why not lower the right end of the slur
+a little? If you try it you'll find it can't be done in this way.
+That's because there are no candidate slurs lower than the one
+already selected, and in this case the @code{positions} property has
+no effect. However, ties, slurs and phrasing slurs @emph{can} be
+positioned and shaped very precisely when necessary. To learn how to
+do this, see @ruser{Modifying ties and slurs}.
+
Here's a further example. We see that the beams
collide with the ties:
the second measure of eighth notes, but not to any of the beams in the
second voice.
-@subheading force-hshift property
+@node The force-hshift property
+@unnumberedsubsubsec The @code{force-hshift} property
We can now see how to apply the final corrections to the Chopin
example introduced at the end of @ref{I'm hearing Voices}, which
@menu
* Other uses for tweaks::
-* Using variables for tweaks::
+* Using variables for layout adjustments::
* Style sheets::
* Other sources of information::
* Advanced tweaks with Scheme::
@node Other uses for tweaks
@subsection Other uses for tweaks
+@menu
+* Tying notes across voices::
+* Simulating a fermata in MIDI::
+@end menu
+
@cindex transparent property, use of
@cindex objects, making invisible
@cindex removing objects
@cindex objects, hiding
@cindex invisible objects
@cindex objects, invisible
-@cindex tying notes across voices
-@subheading Tying notes across voices
+@node Tying notes across voices
+@unnumberedsubsubsec Tying notes across voices
+
+@cindex tying notes across voices
The following example demonstrates how to connect notes in
different voices using ties. Normally, only two notes in the
>>
@end lilypond
-@subheading Simulating a fermata in MIDI
+@funindex \single
+@cindex tweak, generated from override
+Now for @emph{overriding} the transparency of a graphical object,
+we could have used the shorthand @code{\hide} as explained above.
+Tweaking is a different operation, affecting only properties
+generated from a single music expression. It turns out that we
+can convert overrides into tweaks using @code{\single}, making it
+possible to rewrite the above example as
+
+@lilypond[quote,fragment,relative=2,verbatim]
+<<
+ {
+ \single \hide Stem
+ \single \hide Flag
+ \tweak Stem.length #8
+ b8~ b\noBeam
+ }
+\\
+ { b8[ g] }
+>>
+@end lilypond
+
+In this particular case, the difference to @code{\once \hide} is
+not apparent. It is important when there are several objects at
+the same point in musical time (like noteheads in a chord). In
+that case, @code{\once} will affect all of those objects while
+@code{\single} will only affect a single one, the one generated by
+the immediately following music expression.
+
+@node Simulating a fermata in MIDI
+@unnumberedsubsubsec Simulating a fermata in MIDI
@cindex stencil property, use of
@cindex fermata, implementing in MIDI
% Visible tempo marking
\tempo 4=120
a4 a a
- \once \override Score.MetronomeMark.transparent = ##t
+ \once \hide Score.MetronomeMark
% Invisible tempo marking to lengthen fermata in MIDI
\tempo 4=80
a4\fermata |
% Visible tempo marking
\tempo 4=120
a4 a a
- \once \override Score.MetronomeMark.stencil = ##f
+ \once \omit Score.MetronomeMark
% Invisible tempo marking to lengthen fermata in MIDI
\tempo 4=80
a4\fermata |
Music Glossary:
@rglos{system}.
-@node Using variables for tweaks
-@subsection Using variables for tweaks
+@node Using variables for layout adjustments
+@subsection Using variables for layout adjustments
-@cindex variables, using for tweaks
-@cindex using variables for tweaks
-@cindex tweaks, using variables for
+@cindex variables, using for overrides
+@cindex overrides, using variables for
+@cindex adjustments, using variables for
+@cindex layout adjustments, using variables for
Override commands are often long and tedious to type, and they
have to be absolutely correct. If the same overrides are to be
#(define-music-function
(parser location string)
(string?)
- #{ ^\markup \bold \box #string #})
+ #{ <>^\markup \bold \box #string #})
\relative c'' {
\tempo 4=50
#(define-music-function
(parser location string)
(string?)
- #@{ ^\markup \bold \box #string #@})
+ #@{ <>^\markup \bold \box #string #@})
@end example
We will refer to this file using the @code{\include} command near
#(define-music-function
(parser location string)
(string?)
- #{ ^\markup \bold \box #string #})
+ #{ <>^\markup \bold \box #string #})
\relative c'' {
\tempo 4=50
#(define-music-function
(parser location string)
(string?)
- #@{ ^\markup \bold \box #string #@})
+ #@{ <>^\markup \bold \box #string #@})
\layout@{
\context @{
\Score
- \override MetronomeMark.extra-offset = #'(-9 . 0)
+ \override MetronomeMark.extra-offset = #'(-5 . 0)
\override MetronomeMark.padding = #'3
@}
\context @{
#(define-music-function
(parser location string)
(string?)
- #{ ^\markup \bold \box #string #})
+ #{ <>^\markup \bold \box #string #})
\layout{
\context {
\Score
- \override MetronomeMark.extra-offset = #'(-9 . 0)
+ \override MetronomeMark.extra-offset = #'(-5 . 0)
\override MetronomeMark.padding = #'3
}
\context {
#(define-music-function
(parser location string)
(string?)
- #@{ ^\markup \bold \box #string #@})
+ #@{ <>^\markup \bold \box #string #@})
#(set-global-staff-size 23)
\layout@{
\context @{
\Score
- \override MetronomeMark.extra-offset = #'(-9 . 0)
+ \override MetronomeMark.extra-offset = #'(-5 . 0)
\override MetronomeMark.padding = #'3
@}
\context @{
#(define-music-function
(parser location string)
(string?)
- #{ ^\markup \bold \box #string #})
+ #{ <>^\markup \bold \box #string #})
#(set-global-staff-size 23)
\layout{
\context { \Score
- \override MetronomeMark.extra-offset = #'(-9 . 0)
+ \override MetronomeMark.extra-offset = #'(-5 . 0)
\override MetronomeMark.padding = #'3
}
\context { \Voice
compiled it from source, and (b) on which operating system it is
being used:
-@strong{Downloaded from lilypond.org}
+@subsubsubheading Downloaded from lilypond.org
@itemize @bullet
@item GNU/Linux
@end itemize
-@strong{Installed from a package manager or compiled from source}
+@subsubsubheading Installed from a package manager or compiled from source
Navigate to
@file{@var{PREFIX}/share/lilypond/@var{X.Y.Z}/}, where