lilypond-user
[Top][All Lists]
Advanced

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

Re: Another Lyrics spacing issue.


From: Thomas Morley
Subject: Re: Another Lyrics spacing issue.
Date: Fri, 18 Mar 2016 22:44:22 +0100

2016-03-18 4:57 GMT+01:00 Hwaen Ch'uqi <address@hidden>:
> Greetings,
>
> Yes, this is perfect! I am sheepish to admit that I do not quite
> understand the solution. For example, if I were to leave out the first
> measure in the code I submitted and then compiled, there appears a
> large gap between the penultimate and the final word of the spoken
> dialogue? Could you enlighten me as to this? Thank you again for your
> solution!
>
> Hwaen Ch'uqi

I can't reproduce the problem with the gap, could you post the code?

For the other things:

There are two problems:
--------------------
(1) Creating new contexts vs continuing them.
--------------------
Your code created two _new_ Lyric-contexts. LilyPond sorts newly
created contexts below the already existing ones, so the Lyrics were
note aligned.

Regard this small example:

<<
  \new Voice = "one"
  {
    c''1
    <<
      r1
      \new Lyrics = "lyr2"
        \with { \override LyricText.color = #red }
        \lyricmode { barbarbarbarbar }
    >>
    d''
  }
  \new Lyrics = "lyr1"
  \lyricsto "one" { foo buzz }
>>


\new Lyrics = "lyr2" is _not_ a continuation of \new Lyrics = "lyr1"
(and thus the context-modification via \with { ... } works)
Naming them "lyr1/2" is only for better understanding, you can delete
the names, without changing what works or not.

Compare with:

<<
  \new Voice = "one"
  {
    c''1
    <<
      r1
      \context Lyrics = "lyr1"
        \with { \override LyricText.color = #red }
        \lyricmode { barbarbarbarbar }
    >>
    d''
  }
  \new Lyrics = "lyr1"
  \lyricsto "one" { foo buzz }
>>

\context Lyrics = "lyr1" _is_ a continuation of \new Lyrics = "lyr1"
and the lyrics _are_ aligned.
You can delete the naming as well, but _if_ you use names they should
be the same!
n.b. the context-modification via does _not_ work!!

--------------------
(2) context-modifications
If you continue a context via \context you obviously can't use \with {
... } to insert there context-modifications like overrides.
You need to do \override and \revert in the music-expression.

<<
  \new Voice = "one"
  {
    c''1
    <<
      r1
      \context Lyrics = "lyr"
        %% doesn't work:
        \with { \override LyricText.color = #red }
        \lyricmode {
          \override LyricText.self-alignment-X = #LEFT
          barbarbarbarbar
          \revert LyricText.self-alignment-X
        }
    >>
    d''
  }
  \new Lyrics = "lyr"
    %% works:
    \with { \override LyricText.color = #cyan }
    \lyricsto "one" { foo buzz }
>>


Hope that helps a bit,
  Harm



reply via email to

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