• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Abstände

Begonnen von Moeffz, Freitag, 29. April 2011, 09:36

Vorheriges Thema - Nächstes Thema

Moeffz

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

Zitat von: MoeffzMoeffz
vielleicht sollten weniger systeme auf eine seite?
also im \paper { }
max-systems-per-page
oder
page-count=...

hoffe das hilft

RobUr

Zitat von: MoeffzWie 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

Hallo Moeffz,

ZitatWie 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

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

Hi Ding-Dong,

zu Deinem Beispiel:
Beeinflussen würde ich gerne den Abstand zwischen "unten" und "oben" - nur dass ich kein "oben" habe.

RobUr

Zitat von: MoeffzBeeinflussen 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

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

Zitat von: MoeffzNur 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 . utf8mb4)
    (baseline-skip . 6)
    (word-space . 0.6)
  ))
}


Grüße, Robert