Autor Thema: Vertikaler Abstand mehrzeilige Lyrics  (Gelesen 2808 mal)

Mario

  • Member
Vertikaler Abstand mehrzeilige Lyrics
« am: Dienstag, 20. Oktober 2009, 15:05 »
Hallo,

ich erzeuge Noten mit Lyrics nach folgendem Schema

Zitat
notes = \relative c' { \time 4/4 c d e f }

erstezeile = \lyricmode { "1" "2" "3" "1" }
zweitezeile = \lyricmode { "4" "5" "6" "4" }

\score {
<<
\new Staff << \new Voice ="mainvoice" << \notes >> >>
\new Lyrics = "erstezeile" \with { \override LyricText #'font-size = #-2 }
\new Lyrics = "zweitezeile" \with { \override LyricText #'font-size = #-2 }

\context Lyrics = "erstezeile" \lyricsto "mainvoice" \erstezeile
\context Lyrics = "zweitezeile" \lyricsto "mainvoice" \zweitezeile
>>

}

Die beiden Zeilen sind mir aber zu weit voneinander entfernt. Gibt es eine Möglichkeit, diese per \override o.ä. enger zusammenrücken zu lassen?

ding-dong

  • Member
Re: Vertikaler Abstand mehrzeilige Lyrics
« Antwort #1 am: Dienstag, 20. Oktober 2009, 16:15 »
das scheint in bearbeitung zu sein und wird wohl im nächsten entwickluns-release zu finden sein:
http://www.nabble.com/vertical-spacing-problems-with-Lyrics-to25770257.html#a25860732
hdh

Mario

  • Member
Re: Vertikaler Abstand mehrzeilige Lyrics
« Antwort #2 am: Dienstag, 20. Oktober 2009, 17:42 »
Hmm, o.k.

Ich habe es nun mit
Zitat
\overrideProperty #"Score.NonMusicalPaperColumn"
 #'line-break-system-details #'((alignment-offsets . (11 4 2 -2)))
hinbekommen, aber die Lösung ist nicht sehr elegant. Egal.

Zitat
notes = \relative c' { \time 4/4 <c c'>4 <g' g'> <d d'> <b' a'> \bar "||" }

lyricsNummern = \lyricmode { "1" "3" "1" "3" }
lyricsNummernSplit = \lyricmode { "4" "6" "4" "6" }

tabs = \lyricmode {
     \markup { \fontsize #4 \override #'(font-name . "TabSymbols") { a } }
     \markup { \fontsize #4 \override #'(font-name . "TabSymbols") { a } }
     \markup { \fontsize #4 \override #'(font-name . "TabSymbols") { b } }
     \markup { \fontsize #4 \override #'(font-name . "TabSymbols") { b } }
}

\score {
<<
\new Staff << \new Voice ="mainvoice" <<
\overrideProperty #"Score.NonMusicalPaperColumn"
 #'line-break-system-details #'((alignment-offsets . (11 4 2 -2)))
 \notes >> >>
\new Lyrics = "nummern" \with { \override LyricText #'font-size = #-2 }
\new Lyrics = "nummern2" \with { \override LyricText #'font-size = #-2 }
\new Lyrics = "tabs" {}

\context Lyrics = "nummern" \lyricsto "mainvoice" \lyricsNummern
\context Lyrics = "nummern2" \lyricsto "mainvoice" \lyricsNummernSplit
\context Lyrics = "tabs" \lyricsto "mainvoice" \tabs
>>

}

RobUr

  • Member
Re: Vertikaler Abstand mehrzeilige Lyrics
« Antwort #3 am: Dienstag, 20. Oktober 2009, 20:43 »
Andere Möglichkeit: Y-extent und Y-offset einer der beiden (Text-)Zeilen überschreiben.
zweitezeile = \lyricmode {
\override LyricText #'Y-extent = #'( 0 . 0 )
\override LyricText #'Y-offset = #'1.5
\override LyricHyphen #'Y-extent = #'( 0 . 0 )
\override LyricHyphen #'Y-offset = #'1.5
"4" -- "5" "6" "4"
}

Zuerst die vertikale Ausdehnung auf 0 setzen, dann per Y-offset verschieben. Falls Strophennummern verwendet werden, diese ebenfalls per \override StanzaNumber adressieren und überschreiben.

Grüße, Robert

Mario

  • Member
Re: Vertikaler Abstand mehrzeilige Lyrics
« Antwort #4 am: Dienstag, 20. Oktober 2009, 22:58 »
Danke für die Alternative, Robert.