Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: ingmar 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 (http://lilypond.org/doc/v2.19/Documentation/notation/formatting-text)) 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
-
Hallo Ingmar
hilft dir das (http://lilypond.org/doc/v2.18/Documentation/snippets/text#text-formatting-lyrics-syllables)?
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
-
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 (http://lilypond.org/doc/v2.19/Documentation/notation/available-music-functions#index-markupMap-1).
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
-
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