lilypond-user
[Top][All Lists]
Advanced

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

Re: Empty chord construct and \break.


From: Hwaen Ch'uqi
Subject: Re: Empty chord construct and \break.
Date: Sun, 28 Apr 2024 16:34:22 -0400

I suppose I spoke too soon, for when I compiled the code, the result was actually the same.

HC


On Sun, Apr 28, 2024 at 7:47 AM Hwaen Ch'uqi <hwaenchuqi@gmail.com> wrote:
Indeed, that helps tremendously. Thank you so much!!!

Hwaen Ch'uqi


On Sun, Apr 28, 2024 at 7:24 AM Thomas Morley <thomasmorley65@gmail.com> wrote:
Am So., 28. Apr. 2024 um 06:25 Uhr schrieb Hwaen Ch'uqi <hwaenchuqi@gmail.com>:
>
> Greetings,
>
> I am trying to typeset a stack of spoken lines above a multimeasure rest. This works fine when preceded by notes in the same system. However, when it follows a forced break, the output is not so desirable. Can anyone explain what I am missing? MWE below.
>
> \version "2.24.3"
>
> \score {
>   \new Staff = contrabass {
>     \relative c' {
>       \key des \major \time 3/4 \clef bass
>       des,2. %!
>       des %2
>       des %3
>       des %4
>       \break
> \textLengthOn
> <>^\markup \override #'(line-width . 66) \override #'(baseline-skip . 2.3) \wordwrap { But enough with introductions. You are no doubt here to learn about a most difficult episode in the life of our Katz. It was during a particular night of fitful sleep that our beloved Katzlein finally slipped into Traumland, and it is there where our story begins. }
> R2.\fermata%29
> \textLengthOff
>     }
>   }
> }
>
> Thank you so much.
>
> Hwaen Ch'uqi
>

Hi,

what happens here is, the TextScript attached to the empty chord is printed at
start of the measure. \textLengthOn stretches the measure to fit with
the TextScript,
and the MultiMeasureRest is centered in this stretched measure.
This is correct in both cases with and without \break.
Though, with the \break the measure has a lonely MultiMeasureRest and
is stretched
even more by ragged-right being #f, the default for all but the first line.
Thus the MultiMeasureRest is centered in a whole single line, the
TextScript not.

You probably had the idea to attach text to a MultiMeasureRest with:
<>^"markup" R2.
Alas, text of a MultiMeasureRest is of type MultiMeasureRestText.
Nevertheless, you can do so with a little more code. Though, \textLengthOn will
then not work, you'll need to stretch the MultiMeasureRest itself:


\version "2.24.3"

mrkp =
  \markup
    \override #'(line-width . 66)
    \override #'(baseline-skip . 2.3)
    \wordwrap {
      But enough with introductions. You are no doubt here to learn about a
      most difficult episode in the life of our Katz. It was during a
      particular night of fitful sleep that our beloved Katzlein finally
      slipped into Traumland, and it is there where our story begins.
    }

mmrText =
  #(make-music
    'MultiMeasureTextEvent
    'direction 1
    'text mrkp)

\score {
  \new Staff = contrabass {
    \relative c' {
      \key des \major \time 3/4 \clef bass
      des,2. %!
      des %2
      des %3
      des %4
      \break
      %% stretch by aprox. half the width of the MultiMeasureRestText:
      \once \override MultiMeasureRest.bound-padding = 32
      <>^\mmrText
      R2.\fermata %29
    }
  }
}


HTH,
  Harm

reply via email to

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