lilypond-user
[Top][All Lists]
Advanced

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

Re: Using lyrics in a markup


From: Marc Hohl
Subject: Re: Using lyrics in a markup
Date: Thu, 20 Jan 2011 09:36:51 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101208 Thunderbird/3.1.7

Am 20.01.2011 09:20, schrieb jakob lund:
2011/1/19 Jan-Peter Voigt<address@hidden>:
Hello scheme-gurus,
nr. 744 is bookmarked ;-)
There's one more thing. I tried the verse-command and it works nicely, but
it will wrap lines:
say you have a stanza like this
--snip--
strI = \lyricmode
{
   \set stanza = "1."
   Toch -- ter Zi -- on, freu -- e dich,
   jauch -- ze laut, Je -- ru -- sa -- lem.
   Sieh, __ dein Kö -- nig kommt zu dir,
   ja, __ er kommt, der Frie -- de -- fürst.
   Toch -- ter Zi -- on, freu -- e dich,
   jauch -- ze laut, Je -- ru -- sa -- lem.
}
\markup \column{ \wordwrap { \verse #strI } }
\markuplines \justified-lines { \verse #strI }
--snip--
it will not wrap lines but cross the page margin. Do have an idea how to
deal with that?
That's a good point.. After experimenting a bit I think that replacing
make-line-markup with make-justify-markup in the macro definition (the
define-markup-command part) does what you want.

However, I am guessing that the desired output is actually

   Tochter Zion, freue dich,
   jauchze laut, Jerusalem.
   Sieh, dein König kommt zu dir,
   ja, er kommt, der Friedefürst.
   Tochter Zion, freue dich,
   jauchze laut, Jerusalem.

rather than

   Tochter Zion, freue dich, jauchze laut, Jerusalem. Sieh, dein König
kommt zu dir, ja, er kommt, der Friedefürst. Tochter Zion, freue dich,
jauchze laut, Jerusalem.

where the line breaking depends on column width, font size etc.? I
can't think of way to control the line breaks, except to enter each
line individually, like
What do you think of allowing to define a additional "line break character",
for example ¶, which could be filtered out within \lyricsmode, and used as a
newline in the \verse?

So your input will look like

\override Lyrics #'ignore-chars= #'(¶) % this is pseudo code!

strI = \lyricmode
{
  \set stanza = "1."
  Toch -- ter Zi -- on, freu -- e dich,¶jauch -- ze laut,
  Je -- ru -- sa -- lem.¶Sieh, __ dein Kö -- nig kommt zu dir,¶
  ja, __ er kommt, der Frie -- de -- fürst.¶Toch -- ter Zi -- on,
  freu -- e dich,¶  jauch -- ze laut, Je -- ru -- sa -- lem.
}

and the output is as expected?

I don't know how easy such an implemantation would be, but giving a
list of characters to ignore and filter then out in Lyrics and using
this information to rearrange the text would give a lot more flexibility
to this feature.


Regards,

Marc

strIa = \lyricmode { Toch -- ter Zi -- on, freu -- e dich, }
strIb = \lyricmode {  jauch -- ze laut, Je -- ru -- sa -- lem.}
strIc = \lyricmode { Sieh, __ dein Kö -- nig kommt zu dir, }
strId = \lyricmode {  ja, __ er kommt, der Frie -- de -- fürst. }

.. etc, and then eventually

\markup \column { \verse #strIa \verse #strIb \verse #strIc \verse #strId }


Regards
  -- Jakob.

_______________________________________________
lilypond-user mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-user





reply via email to

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