Autor Thema: Abstände  (Gelesen 5226 mal)

Moeffz

  • Member
Abstände
« 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...

ding-dong

  • Member
Re:Abstände
« Antwort #1 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

RobUr

  • Member
Re:Abstände
« Antwort #2 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

harm6

  • Member
Re:Abstände
« Antwort #3 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

Gruß,
  Harm

ding-dong

  • Member
Re:Abstände
« Antwort #4 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?

Moeffz

  • Member
Re:Abstände
« Antwort #5 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.

RobUr

  • Member
Re:Abstände
« Antwort #6 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
  • 12 für basic-distance
  • 8 für minimum-distance
  • 1 für padding
  • 60 für stretchability

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

Moeffz

  • Member
Re:Abstände
« Antwort #7 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.

RobUr

  • Member
Re:Abstände
« Antwort #8 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

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

Grüße, Robert