Autor Thema: \markup innerhalb von Lyrics?  (Gelesen 1508 mal)

ingmar

  • Member
\markup innerhalb von Lyrics?
« am: Samstag, 2. Juli 2016, 11:36 »
Wie verbindet man lyrics mit \markup?

Hier ein Code, der nicht kompiliert. Ich habe alle möglichen Klammerungen innerhalb von \markup-Statements versucht, aber ohne Erfolg. Die Doku (etwa hier) hilft mir leider nicht, was sicher auch an mir liegen kann...

\version "2.19.37"

musix = \relative c' { c d e f g2 g }
lyrix = \lyricmode { Al- le mei- ne Ent- chen }

\score {
\new Staff { \musix }
\addlyrics { \markup \italic \bold \lyrix }
}

Ein kleiner Hinweis wäre nützlich.


Gruß, Danke!
--ingmar

iugin

  • Member
Re: \markup innerhalb von Lyrics?
« Antwort #1 am: Samstag, 2. Juli 2016, 12:25 »
Hallo Ingmar

hilft dir das?
Aber, wenn du den ganzen Text in einem \markup einpackst, wird ihn anscheinend als einzelne Lyric betrachtet.
Du solltest immer \markup vor jeder Silbe schreiben:
\version "2.18.2"

musix = \relative c' { c d e f g2 g }
lyrixOne = \lyricmode { \markup \italic { Al -- le mei -- ne Ent -- chen }}
lyrixTwo = \lyricmode { \markup \italic { Al } --
                        \markup \italic {le }
                        \markup \italic {mei } --
                        \markup \italic {ne }
                        \markup \italic {Ent } --
                        \markup \italic {chen }}
\score {
  <<
\new Staff { \new Voice = "melody" \musix }
\new Lyrics \lyricsto melody \lyrixOne
  >>
}

\score {
  <<
\new Staff { \new Voice = "melody" \musix }
\new Lyrics \lyricsto melody \lyrixTwo
  >>
}
Ah, das ist mit 2.18.2, sorry, ich habe noch diese Version :)
Lieber Gruss

Eugenio
« Letzte Änderung: Samstag, 2. Juli 2016, 12:32 von iugin »

harm6

  • Member
Re: \markup innerhalb von Lyrics?
« Antwort #2 am: Samstag, 2. Juli 2016, 12:44 »
Hallo Ingmar,

um alle Lyrics italic und bold zu machen verwende overrides oder Du mußt das markup über alle Silben einzeln mappen, dazu gibt es ein neues feature, markupMap.

Hier einige Möglichkeiten:

\version "2.19.37"

musix = \relative c' { c d e f g2 g }
lyrix =
\lyricmode {
  %% maybe add
  \override LyricHyphen.minimum-distance = 1
  %% better to use real LyricHyphen
  Al -- le mei -- ne Ent -- chen
}

\score {
\new Staff { \musix }
%% new feature since 2.19.26:
\addlyrics {
  \markupMap text \markup \italic \bold \etc
  \lyrix
}
%% the common way:
\addlyrics {
  \override LyricText.font-shape = #'italic
  \override LyricText.font-series = #'bold
  \lyrix
}
%% also possible with newer versions:
\addlyrics
  \with {
    \override LyricText.font-shape = #'italic
    \override LyricText.font-series = #'bold
  }
{ \lyrix }
}

Die overrides sind weniger belastend beim parsen und somit also vorzuziehen.

HTH,
  Harm
« Letzte Änderung: Samstag, 2. Juli 2016, 12:50 von harm6 »

ingmar

  • Member
re: \markup innerhalb von Lyrics?
« Antwort #3 am: Samstag, 2. Juli 2016, 15:34 »
Danke, Eugen - allerdings möchte ich den Text ohne Markup in einer Variablen halten, daher kann die Auszeichnung erst später passieren, daher würde das so nicht gehen.

Harm - so funktionierts! Ich habe noch Probleme mit der Kursivschrift, wenn ich nicht die Defaultschrift verwende, aber das ist wohl erstmal vernachlässigbar. Gruß, Danke,

--ingmar