Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: iugin am Samstag, 25. Mai 2013, 17:44
-
Buongiorno a tutti!
Ich brauche (schon wieder) Hilfe... Im Moment arbeite ich an einem grossen Projekt und werde euch belästigen müssen. :)
Die andere Fragen kommen in separaten Post.
Also: ich habe folgenden code:
\version "2.16.0"
\language "deutsch"
Melody = \relative g' {
R1*4 |
\break
c1
R1*3 |
}
RightHand = \relative g' {
\repeat percent 4 { c1 }
R1*4
}
LeftHand = \relative c' {
\repeat percent 4 { c1 }
R1*4
}
\score {
<<
\new Staff { \Melody }
\new PianoStaff {
<<
\new Staff { \RightHand }
\new Staff { \LeftHand }
>>
}
>>
\layout {
\context {
\RemoveEmptyStaffContext
\override VerticalAxisGroup #'remove-first = ##t
}
}
}
Das Problem ist, dass alle Systeme gezeigt werden (trotz \RemoveEmptyStaffContext - siehe Anhang).
Wirklich komisch ist, dass es hingegen funktioniert, wenn ich percent durch z.B. unfold ersetze.
Habt ihr eine Ahnung, wo das Problem liegt, und was ich dagegen machen kann?
Liebe Grüsse an allen und schon jetzt danke für eure sicher wertvolle Hilfe.
Eugenio
-
Il fatto strano del giorno... ???
Es liegt tatsächlich am percent. Früher gab es mal das umgekehrte Problem, daß die Percent-Repeat-Symbole bei \RemoveEmptyStaffContext unter den Tisch fielen.
Sie tun das schon lange nicht mehr, aber offensichtlich ein wenig zu gründlich.
Wenn direkt nach den Faulenzern ein Zeilenumbruch kommt, dann bleibt die nächste Zeile auch erhalten, selbst, wenn sie leer ist.
Das sieht mir tatsächlich nach einem Bug aus...
Soviel erst einmal dazu, auch, wenn es nicht direkt weiterhilft.
Viele Grüße
Torsten
-
Il fatto strano del giorno...
ja, und schon wieder mir :)
Ist kein Problem, ich werde mich anders arrangieren...
Ich wünsche dir einen schönen Tag
Liebe Grüsse
Eugenio
-
Ist kein Problem, ich werde mich anders arrangieren...
Es gibt eine Liste von Interfaces, die einen Staff "am Leben erhalten": sie heißt keepAliveInterfaces.
Ich habe das percent-repeat-interface auskommentiert (rot hervorgehoben), der Rest entspricht dem Standard:
keepAliveInterfaces =
#'(bass-figure-interface
chord-name-interface
cluster-beacon-interface
fret-diagram-interface
lyric-syllable-interface
note-head-interface
tab-note-head-interface
lyric-interface
percent-repeat-item-interface
; percent-repeat-interface
stanza-number-interface)
Mit \set Staff.keepAliveInterfaces = #'( ... kannst Du (auch mitten im Stück) beeinflussen, was zum Wegfall von Notenzeilen führt und was nicht.
Das Fehlen von percent-repeat-interface in dieser Liste bewirkt, daß Dein Beispiel wie gewünscht funktioniert, hat allerdings den Nachteil, daß Zeilen, die nur aus Faulenzern bestehen, auch verschwinden. Deshalb mußt Du evtl. wieder zurückschalten...
Viele Grüße
Torsten
-
Super! Es funktioniert prima! ;D
Danke vielmals und liebe Grüsse
Eugenio