Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: huel am Mittwoch, 28. Oktober 2009, 12:08

Titel: Feste Höhe von Systemen
Beitrag von: huel am Mittwoch, 28. Oktober 2009, 12:08
Gibt es die Möglichkeit die Höhe von System fest einzustellen?

Momentan habe ich das Problem, dass bei Systemen die Teile, die aus vielen Pausen bestehen weniger hoch sind als die Teile, in denen Noten mit unterlegtem Text stehen.

Ich würde gerne eine feste Höhe einstellen, die unabhängig von der "Füllung" der Systeme ist.
Titel: Re: Feste Höhe von Systemen
Beitrag von: derHindemith am Mittwoch, 28. Oktober 2009, 18:52
Ja, aber es ist nicht so einfach. Du kannst mehr lesen unter 4.4 Vertikale Abstände (http://kainhofer.com/~lilypond/Documentation/notation/index_30.de.html#Vertikale-Abst_00e4nde) in dem Notationsreferenz
Titel: Re: Feste Höhe von Systemen
Beitrag von: huel am Donnerstag, 29. Oktober 2009, 15:43
Ja, aber es ist nicht so einfach. Du kannst mehr lesen unter 4.4 Vertikale Abstände (http://kainhofer.com/~lilypond/Documentation/notation/index_30.de.html#Vertikale-Abst_00e4nde) in dem Notationsreferenz

Den Abschnitt kann ich schon fast auswendig.
Es scheint damit ein ziemliches Herumgefummel zu sein, und wenn dann in dem System doch wieder alles voller Pausen ist, dann verschiebt sich alles wieder.

Vielversprechend erschien mir der Abschnitt "Vertikale Abstände mit zwei Durchgängen".
Das Verfahren wurde aber inzwischen als veraltet beschrieben.

Und ich habe es auch noch nicht ganz verstanden, an welche Stelle ich das
\scoreTweak "scoreA"
einfügen muss. Nur ins erste \new Staff einer Staff-Group.

Ich habe zwei ChoirStaffs (Doppelchöriges Werk) mit je vier Voices.
Titel: Re: Feste Höhe von Systemen
Beitrag von: RobUr am Samstag, 31. Oktober 2009, 23:24
Hallo!

Das klingt nach einem Spezialfall für meine Lieblingstweaks: Y-extent der (Ganztakt-)Pausen überschreiben. Lily schiebt die Zeilen ja gerade deswegen zusammen, weil LyricText fehlt und somit keinen Platz beansprucht. Abhilfe: global oder fallweise den GROBs Rest und MultiMeasureRest mehr vertikale Ausdehnung genehmigen.

Codebeispiel in deinem Fall (Overrides in einer einzelnen Stimme; hier AltZwei):
\version "2.12.2"

\include "deutsch.ly"

SopranNoten = \relative c' { c4 d e f g2 g }

AltEinsNoten = \relative c' { g4 g g a g2 g }

AltZweiNoten = \relative c' {
\override MultiMeasureRest #'Y-extent = #'( -8 . 0 )
\override Rest #'Y-extent = #'( -8 . 0 )
R1 r2 r4 r8 r16 r32 r64 r128
}

TenorNoten = \relative c' { e4 d c c e2 e }

BassNoten = \relative c { c4 h c f, c'2 c }

Text = \lyricmode { Al -- le mei -- ne Ent -- chen }

\score {
<<
\new ChoirStaff = "ChorEins"
<<
\new Staff = "SopranEins"
<<
\new Voice = "SopranEins" << \SopranNoten >>
\new Lyrics = "SopranEinsText" \lyricsto SopranEins \Text
>>
\new Staff = "AltEins"
<<
\new Voice = "AltEins" << \AltEinsNoten >>
\new Lyrics = "AltEinsText" \lyricsto AltEins \Text
>>
\new Staff = "TenorEins"
<<
\new Voice = "TenorEins" << \clef "treble_8" \TenorNoten >>
\new Lyrics = "TenorEinsText" \lyricsto TenorEins \Text
>>
\new Staff = "BassEins"
<<
\new Voice = "BassEins" << \clef "bass" \BassNoten >>
\new Lyrics = "BassEinsText" \lyricsto BassEins \Text
>>
>>

\new ChoirStaff = "ChorZwei"
<<
\new Staff = "SopranZwei"
<<
\new Voice = "SopranZwei" << \SopranNoten >>
\new Lyrics = "SopranZweiText" \lyricsto SopranZwei \Text
>>
\new Staff = "AltZwei"
<<
\new Voice = "AltZwei" << \AltZweiNoten >>
\new Lyrics = "AltZweiText" \lyricsto AltZwei \Text
>>
\new Staff = "TenorZwei"
<<
\new Voice = "TenorZwei" << \clef "treble_8" \TenorNoten >>
\new Lyrics = "TenorZweiText" \lyricsto TenorZwei \Text
>>
\new Staff = "BassZwei"
<<
\new Voice = "BassZwei" << \clef "bass" \BassNoten >>
\new Lyrics = "BassZweiText" \lyricsto BassZwei \Text
>>
>>
>>
}

Wenn du die Ausdehnung für alle Stimmen der Partitur überschreiben möchtest, definiere es im Layout-Block:
\layout {
\context {
\Staff
\override MultiMeasureRest #'Y-extent = #'( -8 . 0 )
\override Rest #'Y-extent = #'( -8 . 0 )
}
}

Nun gilt es, einen moderaten Wert für die Ausdehnung (nach unten) zu finden: er wird sich nach dem am weitesten nach unten ragenden Objekt richten (das dürfte LyricText sein), um damit zu harmonieren und nicht noch mehr Platz zwischen den Zeilen zu produzieren. Nach meinem persönlichen Geschmack reißt aber eine zusätzliche Ausdehnung zwischen den Zeilen zu große Lücken in die Systeme, was nicht mehr gut aussieht. Ein wenig mehr Platz muss nicht schlecht aussehen, aber ein exakt einheitlicher Zeilenabstand innerhalb aller Systeme wirkt wieder leblos und konstruiert/geometrisch: genau das, was Lily zu vermeiden sucht!

Viel Spaß beim Experimentieren!