Abstand zwischen Noten und Liedtext festlegen

Begonnen von dleber, Sonntag, 5. Januar 2020, 21:44

« vorheriges - nächstes »

dleber

Gibt es einen Parameter, mit dem man den Abstand zwischen Noten und Liedtext festlegen kann? Auch zwischen den Strophen würde ich gerne den Abstand festlegen.
Ich versuche gerade die Sätze einer Kinderfibel nachzustellen. Da sieht die Vorlage vor und zwischen dem Liedtext mehr Platz vor. Ich habe mir mit dem Einfügen einer leeren Liedzeile geholfen, doch auch das ist nicht ganz gelungen. Komplett leere Liedzeilen werden von Lilypond unterdrückt.
Das Code-Beispiel erzeugt etwa (bis auf die Punkte) das gewünschte Ergebnis:

\version "2.18.2"
\header {
    title = \markup { \bold \small \sans "Spannenlanger Hansel" }
    copyright = " "
    tagline = ##f
}

\paper {
    page-count = #1   
    system-count = #3
    top-margin= #15.2
    bottom-margin= #15.5
    left-margin = 15\mm
    line-width = 185\mm
    %% Abstand System - System
    system-system-spacing #'padding = #13.0
    system-system-spacing #'basic-distance = #13.1
    %% Abstand Titel - Titel
    markup-markup-spacing #'padding = #9.1
    markup-markup-spacing #'basic-distance = #9.2
    %% Abstand Titel - System
    markup-system-spacing #'padding = #9.0
    markup-system-spacing #'basic-distance = #9.1
    %% Abstand letztes System - folgender Titel
    score-markup-spacing #'padding = #7.1
    score-markup-spacing #'basic-distance = #7.2
    %% Abstand letztes System - folgendes System
    score-system-spacing #'padding = #7.1
    score-system-spacing #'basic-distance = #7.2   
    %% Abstand oberer Rand - erstes System ohne Titel
    top-system-spacing #'padding = #12.0
    top-system-spacing #'basic-distance = #12.1
    %% Abstand oberer Rand - Titel
    top-markup-spacing #'padding = #12.0
    top-markup-spacing #'basic-distance = #12.1
    %% Abstand letztes System - Anfang unterer Rand
    last-bottom-spacing #'padding = 7\mm
    last-bottom-spacing #'basic-distance = 8\mm
    ragged-bottom = ##t
    %% ragged-last-bottom = ##t %% stretch and center systems of last page
    #(ly:set-option 'point-and-click #f) %% for smaller PDFs   
}

#(set-global-staff-size 30)

global = {
    \key f \major
    \time 2/4
    \autoBeamOff
}

%% Noten
sopran = \relative c {
    \oneVoice
    \repeat volta 2 {
        f'8 f f g
        a4 a
        g8 f g a
        f4 r4
    }
    %% 5
    c'8 c c c
    d4 d
    bes8 bes bes d
    c4 c
    f,8 f f g
    a4 a
    g8 f g a
    f4 r4
    \bar "|."
}

texteins = \lyricmode {
    Span -- nen -- lan -- ger Han -- sel,
    nu -- del -- dik -- ke Dirn,
    Schüt -- tel ich die gro -- ßen,
    schüt -- telst du die klei -- nen,
    wenn das Säck -- chen voll ist,
    geh'n wir wie -- der heim.
}

textzwei = \lyricmode {
    geh'n wir in den Gar -- ten,
    schüt -- teln wir die Birn!
}

textleer = \lyricmode { %% leer geht nicht. Der Punkt muss nachträglich retuschiert werden!
\set stanza = " " "." \repeat unfold 10 { \skip 1 }
\set stanza = " " "." \repeat unfold 11 { \skip 1 }
%% \set stanza = " " \repeat unfold 10 { \skip 1 } \markup{"_"}
}

\score {
    <<
        \new ChoirStaff <<
            \new Staff = women <<
                \clef violin
                \new Voice = "sopran" { \voiceOne << \global \sopran >> }
            >>
            \new Lyrics = sopranlyriceins { s1 }
            \new Lyrics = sopranlyriczwei { s1 }
            \new Lyrics = sopranlyricdrei { s1 }
            \new Lyrics = sopranlyricvier { s1 }
        >>
        \context Lyrics = sopranlyriceins \lyricsto sopran \textleer
        \context Lyrics = sopranlyriczwei \lyricsto sopran \texteins
        \context Lyrics = sopranlyricdrei \lyricsto sopran \textleer
        \context Lyrics = sopranlyricvier \lyricsto sopran \textzwei
    >>
    \layout {
        indent = 0.0\cm
        \context { \Score \remove "Bar_number_engraver" }
        \context {
            \Lyrics
            \override LyricText.font-name = #"Arial"
            \override LyricText #'font-size = #-2
            \override LyricSpace #'minimum-distance = #1.2
        }
    }
}


Jede Hilfe ist willkommen.

Dieter




harm6

Hallo Dieter,

siehe inline-Kommentare.
Die Werte solltest nach Wunsch festlegen.
Ich habe überall padding festgelegt, evtl kannst Du auch andere Möglichkeiten, basic-distance und minimum-distance, in Betracht ziehen.



\paper {
  %% Spacing between systems, here bottom-most Lyrics/Staff
  system-system-spacing.padding = 10
}

global = {
    \key f \major
    \time 2/4
    \autoBeamOff
}

%% Noten
sopran = \relative c {
    \oneVoice
    \repeat volta 2 {
        f'8 f f g
        a4 a
        g8 f g a
        f4 r4
    }
    %% 5
    c'8 c c c
    d4 d
    bes8 bes bes d
    c4 c
    f,8 f f g
    a4 a
    g8 f g a
    f4 r4
    \bar "|."
}

texteins = \lyricmode {
    Span -- nen -- lan -- ger Han -- sel,
    nu -- del -- dik -- ke Dirn,
    Schüt -- tel ich die gro -- ßen,
    schüt -- telst du die klei -- nen,
    wenn das Säck -- chen voll ist,
    geh'n wir wie -- der heim.
}


\score {
    \new ChoirStaff <<
        \new Staff = women <<
            \clef violin
            \new Voice = "sopran" { \voiceOne << \global \sopran >> }
        >>
       \context Lyrics = sopranlyriczwei \lyricsto sopran \texteins
       \context Lyrics = sopranlyricvier \lyricsto sopran \texteins
    >>
    \layout {
        indent = 0.0\cm
        \context { \Score \remove "Bar_number_engraver" }
        \context {
            \Lyrics
            \override LyricText.font-name = #"Arial"
            \override LyricText #'font-size = #-2
            \override LyricSpace #'minimum-distance = #1.2
            %% spacing Staff/topmost Lyrics
            \override VerticalAxisGroup.nonstaff-relatedstaff-spacing.padding = 10
            %% spacing between Lyrics
            \override VerticalAxisGroup.nonstaff-nonstaff-spacing.padding = 10
        }
    }
}



HTH,
  Harm

dleber

Hallo Harm,

danke.  Das ist genau die Lösung, die ich gesucht habe.  Passt perfekt.