Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: Moeffz am Freitag, 29. April 2011, 09:36

Titel: Abstände
Beitrag von: Moeffz am Freitag, 29. April 2011, 09:36
Moin,

ich habe eine (hoffentlich sehr leicht zu beantwortende) Frage zu Abständen. Derzeit verwende ich 2.13.59. Beim Setzen eines einfachen Liedes (keine Partitur), wo die Strophe unter den Noten steht, würde ich gerne folgendes beeinflussen:
Nach einem (automatischen) Zeilenumbruch ist mir der Text zu dicht am System dadrunter. Nachdem ich den Abstand nach oben sowie den Abstand zwischen den Strophen mittels
\layout {
\context {
\Lyrics
\override VerticalAxisGroup #'nonstaff-relatedstaff-spacing #'padding = #2
\override VerticalAxisGroup #'nonstaff-nonstaff-spacing #'padding = #1.5
}
}
Beeinflussen konnte, dachte ich mit
\override VerticalAxisGroup #'nonstaff-unrelatedstaff-spacing #'padding = #1
wäre der richtige Ansatz. Ist es aber nicht.
Nur zum Verständnis: Ist dies nur auf ein verbundenes System bezogen, welches unterhalb des Textes gedruckt werden soll?
(Beispielsweise: Noten für Sopran und Alt sind oben, der zugehörige Text dadrunter dadrunter wiederum finden sich die Noten für Tenor und Bass. Dann ist es der Abstand vom Text des Sopran / Alt zu den Noten von Tenor und Bass)

Wie kann ich nun den Abstand nach einem Zeilenumbruch beeinflussen? Gibt es dafür eine Variable?

Wie kann ich den Abstand zwischen zwei Zeilen (\line) innerhalb eines \markup beeinflussen? Ich habe schon einiges durchstöbert, bin bis jetzt aber noch nicht fündig geworden. Es müsste aber eigentlich irgend etwas naheliegendes sein...
Titel: Re:Abstände
Beitrag von: ding-dong am Freitag, 29. April 2011, 10:36
Zitat von: Moeffz
Moeffz
vielleicht sollten weniger systeme auf eine seite?
also im \paper { }
max-systems-per-pageoder
page-count=…
hoffe das hilft
Titel: Re:Abstände
Beitrag von: RobUr am Freitag, 29. April 2011, 13:09
Zitat von: Moeffz
Wie kann ich den Abstand zwischen zwei Zeilen (\line) innerhalb eines \markup beeinflussen?
Am einfachsten mit einer Leerzeile:
\markup \column {
  \line { 1. Zeile }
  \line { 2. Zeile }
  \null %% Leerzeile
  \line { nächste Zeile }
}

Oder per baseline-skip:
Zitat
\markup \override #'(baseline-skip . 4) { <Zeilen> }

Grüße, Robert
Titel: Re:Abstände
Beitrag von: harm6 am Freitag, 29. April 2011, 13:24
Hallo Moeffz,

Zitat
Wie kann ich nun den Abstand nach einem Zeilenumbruch beeinflussen? Gibt es dafür eine Variable?

da ich nur 2.12.3 benutze wage ich kaum Dir zu raten. Aber vielleicht hilft \overrideProperty aus http://kainhofer.com/~lilypond/Documentation/extending/difficult-tweaks.html (http://kainhofer.com/~lilypond/Documentation/extending/difficult-tweaks.html)

Gruß,
  Harm
Titel: Re:Abstände
Beitrag von: ding-dong am Freitag, 29. April 2011, 15:21
es ist immer schwierig sich vorzustellen, was gemeint ist - kannst du anhand des folgenden beispiels sagen, was du verändern willst:

\paper {
  system-system-spacing = #'(
    (basic-distance . 23)
    (minimum-distance . 12)
    (padding . 1)
    (stretchability . 8))
}
\score {
  \context StaffGroup = "1" <<
    \context Staff = "mus" <<
      \context Voice = "mel"
      \repeat unfold 140 {
        a b c d
      }
      \context Lyrics = "o" \with { alignAboveContext = #"mus" }
      \context Lyrics \lyricsto "mel" {
        \repeat unfold 140 { oben o o o }
      }
      \context Lyrics = "u" \with { alignBelowContext = #"mus" }
      \lyricsto "mel" {
        \repeat unfold 140 { unten u u u }
      }
    >>
  >>
}

oder meinst du was anderes?
Titel: Re:Abstände
Beitrag von: Moeffz am Samstag, 30. April 2011, 13:17
Hi Ding-Dong,

zu Deinem Beispiel:
Beeinflussen würde ich gerne den Abstand zwischen "unten" und "oben" - nur dass ich kein "oben" habe.
Titel: Re:Abstände
Beitrag von: RobUr am Samstag, 30. April 2011, 14:31
Zitat von: Moeffz
Beeinflussen würde ich gerne den Abstand zwischen "unten" und "oben"
Dann sind minimum-distance und padding deine Freunde. Die Standardwerte findet man in ly/paper-defaults-init.ly und sind

Zum rumbasteln:
\version "2.13.60"

\paper {
  system-system-spacing = #'(
    (basic-distance . 12)
    (minimum-distance . 10)
    (padding . 5)
    (stretchability . 1)
  )
}

\score {
  \context StaffGroup = "1"
  <<
    \context Staff = "mus"
    <<
      \context Voice = "mel"
      \repeat unfold 140 { a b c' d' }
     
      \context Lyrics = "u" \with { alignBelowContext = #"mus" }
      \lyricsto "mel" {
        \repeat unfold 140 { unten u u u }
      }
    >>
  >>
}

Grüße, Robert
Titel: Re:Abstände
Beitrag von: Moeffz am Samstag, 30. April 2011, 15:12
Wunderbar, Robert. Das war genau das, was ich gesucht habe.

Das baseline-skip hilft mir auch sehr weiter und gefällt mir wesentlich besser als der Ansatz mit den Leerzeilen. Nur schade, dass ich das nicht zentral einstellen kann, sondern für jedes markup separat setzen muss.
Titel: Re:Abstände
Beitrag von: RobUr am Samstag, 30. April 2011, 17:00
Zitat von: Moeffz
Nur schade, dass ich das nicht zentral einstellen kann, sondern für jedes markup separat setzen muss.
Nicht einfach in’s Blaue hinein raten, bitte!!! Außerdem ist es keine Frage (http://www.tty1.net/smart-questions_de.html) …

Hier trotzdem die Antwort:
\paper {
  #(define text-font-defaults '(
    (font-encoding . latin1)
    (baseline-skip . 6)
    (word-space . 0.6)
  ))
}

Grüße, Robert