Deutschsprachiges LilyPond-Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: Mathias am Mittwoch, 4. Mai 2022, 16:52

Titel: Anzahl Akkoladen pro Seite im Stück verändern
Beitrag von: Mathias am Mittwoch, 4. Mai 2022, 16:52
Hallo zusammen,

ich habe ein Stück, das 4-stimmig beginnt, einen 6-stimmigen Mittelteil hat und wieder 4-stimmig aufhört.
Ich würde das gern so setzen, dass bei den 4-stimmigen Teilen jeweils drei Akkoladen pro Seite gesetzt werden und im 6-stimmigen Teil zwei.

Das lässt sich theoretisch in der \paper-Sektion als systems-per-page setzen, aber laut Doku gilt das für die gesamte Partitur und lässt sich nicht zwischendrin ändern. Das Attribut einfach wegzulassen und damit implizit zu machen, bringt nicht das korrekte Ergebnis; auf manchen Seiten werden weniger Akkoladen gesetzt.

Gibt es da einen Trick, ohne das Stück in drei Dateien aufzuteilen und die PDFs hinterher manuell aneinanderzutackern?

VG --Mathias
Titel: Antw:Anzahl Akkoladen pro Seite im Stück verändern
Beitrag von: Manuela am Donnerstag, 5. Mai 2022, 20:48
Falls ich die Frage richtig verstanden habe, könntest du mit manuellen Umbrüchen arbeiten.
Automatische Seitenumbrücke unterdrückst du mit
\override Score.NonMusicalPaperColumn.page-break-permission = ##f

und du fügst überall dort, wo du einen Seitenumbruch willst
\pageBreak

ein.

Automatische Zeilenumbrüche verhinderst du mit

\override Score.NonMusicalPaperColumn.line-break-permission = ##f

und erzeugst du manuell mit
\break

Aus Übersichtsgründen empfehle ich, die Umbrüche in einen eigenen Context zu legen, könnte in etwa so aussehen

Struktur = {
\override Score.NonMusicalPaperColumn.line-break-permission = ##f
\override Score.NonMusicalPaperColumn.page-break-permission = ##f
s1 * 4 \break
s1 * 5 \break ....
s1 * 3 \pageBreak
etc...
}

\new Staff <<
\new Voice { ... Noten ... }
\new NullVoice \Struktur
>>
}


etc und die Punkte musst du natürlich weglassen bzw. durch sinnvolle Ausdrücke ersetzen
Titel: Antw:Anzahl Akkoladen pro Seite im Stück verändern
Beitrag von: harm6 am Donnerstag, 5. Mai 2022, 23:59
@Manuela:
Du hast die Zuordnung der Befehle zu Seitenumbruch/Zeilenumbruch vertauscht... ;)

@Mathias:
Vielleicht hilft:
https://lists.gnu.org/archive/html/lilypond-user/2012-12/msg00775.html (https://lists.gnu.org/archive/html/lilypond-user/2012-12/msg00775.html)
Siehe den Anhang dort.

Ich würde wahrscheinlich quick'n dirty vorgehen.
Automatischen Seitenumbruch abstellen:
    \layout { \context { \Score \override NonMusicalPaperColumn.page-break-permission = ##f } }
und dann
    \pageBreak
nach belieben.

Gruß.
  Harm
Titel: Antw:Anzahl Akkoladen pro Seite im Stück verändern
Beitrag von: Manuela am Freitag, 6. Mai 2022, 08:28
Zitat von: harm6 am Donnerstag,  5. Mai 2022, 23:59
@Manuela:
Du hast die Zuordnung der Befehle zu Seitenumbruch/Zeilenumbruch vertauscht... ;)

Danke Harm ich habe es ausgebessert
Titel: Antw:Anzahl Akkoladen pro Seite im Stück verändern
Beitrag von: Mathias am Sonntag, 8. Mai 2022, 11:06
Hallo!

Herzlichen Dank für die Vorschläge! Ich hab es am Ende mit den manuellen Akkoladen- und Seitenumbrüchen nach dem Modell von Manuela gemacht. Hat gut funktioniert, auch wenn es natürlich etwas Gefummel ist.

LG --Mathias.
Titel: Antw:Anzahl Akkoladen pro Seite im Stück verändern
Beitrag von: harm6 am Sonntag, 8. Mai 2022, 11:27
Mein Punkt sollte eigentlich sein, daß es nicht unbedingt nötig ist den automatischen Zeilenumbruch abzustellen, sondern sich auf das Abstellen des automatischen Seitenumbruchs zu beschränken. Würde das "Gefummel" eventuell reduzieren.

Gruß,
  Harm
Titel: Antw:Anzahl Akkoladen pro Seite im Stück verändern
Beitrag von: Hilflos-im-Code am Mittwoch, 18. Mai 2022, 08:35
Auch wenn zu spät, eigentlich müsste sich das Problem von selbst lösen.

Durch die Abstandsdefinition müsste sich erreichen lassen, dass entweder drei vierstimmige oder zwei sechsstimmige Systeme auf eine Seite passen. Dann Seitenumbrüche einfügen.

Andere Variante mit bookpart, entsprechende Systemanzahl bestimmen, und

ragged-last-bottom = ##f
  ragged-bottom = ##f