lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: horizontal space after rehearsal mark (or bar line)


From: Trevor Daniels
Subject: Re: horizontal space after rehearsal mark (or bar line)
Date: Mon, 8 Feb 2010 09:27:09 -0000


Mats Bengtsson wrote Monday, February 08, 2010 8:05 AM


Quoting Trevor Daniels <address@hidden>:


Mats Bengtsson wrote Sunday, February 07, 2010 10:45 PM

A better solution is to tell LilyPond that you don't want it to put rehearsal marks above other objects:

\version "2.12.2"
\score {
 \relative c' {
   \clef G
   \time 4/4
   c'1 d
\override Score.RehearsalMark #'extra-spacing-width = #'(0 . 0) \override Score.RehearsalMark #'extra-spacing-height = #'(-inf.0 . +inf.0)
   \bar "||" \mark \markup{\box "M2"} e( \f ^\markup{Tutti} f)
 }
}

Depending on the situation, you may also want to combine this setting with \textLengthOn, which does exactly the same setting for text scripts. Unfortunately, the only available documentation of these properties seems to be in the internals reference:

In this particular example you can use \textLengthOn
instead of the undocumented 'extra-spacing-height
override.  Then both elements of the solution *are*
documented.  See Section 4.4.3 in the Learning Manual.

Unfortunately not, since \textLengthOn only makes the setting on TextScript objects, not on RehearsalMark objects, which was needed in this example (at least when I try it with version 2.13.8).

Yes, but in this case the rehearsal mark is affected
by the nearby presence of a TextScript object, so giving
both it and the rehearsal mark a non-zero width prevents
the overlap:

\score {
 \relative c' {
   \clef G
   \time 4/4
   c'1 d
   \override Score.RehearsalMark #'extra-spacing-width = #'(0 . 0)
   \textLengthOn
% \override Score.RehearsalMark #'extra-spacing-height = #'(-inf.0 . +inf.0)
   \bar "||" \mark \markup{\box "M2"} e( \f ^\markup{Tutti} f)
 }
}

This works when I try it in 2.13.11.

Your solution is better if you wish to affect all
rehearsal marks and only rehearsal marks, of course.
I just wanted to point out that at least one solution
was documented.

Perhaps we should have a predef which sets extra-spacing-width
of RehearsalMark and DynamicText as well as TextScript
objects to zero, or generalise \textWidthOn
to do this?

Trevor






reply via email to

[Prev in Thread] Current Thread [Next in Thread]