4.3.4 Optimale Umbrüche zum Blättern

Es ist oft nötig, die Seiten so umzubrechen, dass sich eine Pause am Ende jeder zweiten Seite befindet, damit der Musiker es leichter hat, die Seite umzublättern ohne das Spielen zu Unterbrechen. Die ly:page-turn-breaking-Funktion versucht, Seitenumbrüche zu finden, die das Stauchen oder Strecken von Zeilen minimieren und gleichzeitig auch noch Seitenumbrüchen an angegebenen Stellen den Vorrang zu geben.

Die Funktion wird in zwei Schritten eingesetzt. Zunächst muss sie in der \paper-Umgebung aktiviert werden, wie gezeigt in Seitenumbrüche. Dann muss noch angegeben werden, welche Stellen bevorzugt für Seitenumbrüche benutzt werden sollen.

Für diesen zweiten Schritt gibt es zwei Methoden. Am Einfachsten ist es, die möglichen Seitenumbrüche mit dem Befehl \allowPageTurn an jeder Stelle manuell anzugeben.

Wenn Ihnen das zu aufwändig ist, können Sie den Page_turn_engraver zu einem Staff- oder Voice-Kontext hinzufügen. Dieser Engraver durchsucht den entsprechenden Kontext nach Stellen ohne Noten. (Es wird also nicht nach Pausen gesucht, sondern nach Stellen ohne Noten. Dieses Verhalten verhindert, dass an polyphonen Stellen umgebrochen wird, wo nur in einer Stimme Pausen vorhanden sind.) Wenn eine derartige Stelle ohne Noten gefunden wird, fügt der Engraver den Befehl \allowPageTurn am letzten Taktstrich des Abschnitts ein. Wenn in dem Abschnitt ein besonderer Taktstrich vorkommt (wie etwa ein Doppelstrich), wird der Befehl nach diesem Taktstrich gesetzt.

Der Page_turn_engraver liest die Kontexteigenschaft minimumPageTurnLength um zu erkennen, wie lang eine Stelle frei von Noten sein muss, damit ein Seitenumbruch in Frage kommt. Der Standardwert hierfür ist (ly:make-moment 1/1). Wenn Sie Seitenumbrüche zum Umblättern ausschalten wollen, können Sie einen sehr großen Wert angeben.

\new Staff \with { \consists Page_turn_engraver }
{
  a4 b c d |
  R1 | % Ein Seitenumbruch zum Umblättern erlaubt
  a4 b c d |
  \set Staff.minimumPageTurnLength = \musicLength 2*5
  R1 | % Seitenumbruch nicht erlaubt
  a4 b r2 |
  R1*2 | % Seitenumbruch erlaubt
  a1
}

Der Page_turn_engraver erkennt Wiederholungen vom Typ volta. Ein Seitenumbruch zum Umblättern wird nur zugelassen, wenn vor und nach der Wiederholung genug Zeit ist, um die Seite wieder zurückzublättern. Wenn die Wiederholung sehr kurz ist, kann auch Umblättern verboten werden. Wenn Sie die Kontexteigenschaft minimumRepeatLengthForPageTurn definieren, erlaubt der Page_turn_engraver nur Umblättern in Wiederholungen, deren Dauer länger als dieser Wert ist.

Die Seitenumblätter-Befehle \pageTurn, \noPageTurn und \allowPageTurn können auch auf oberster Dateiebene benutzt werden, etwa zwischen Partituren und Textabschnitten.

Vordefinierte Befehle

\pageTurn, \noPageTurn, \allowPageTurn.

Siehe auch

Schnipsel: Spacing.

Bekannte Probleme und Warnungen

In einer Partitur sollte nur ein Page_turn_engraver vorkommen. Wenn mehr als einer definiert werden, stören sie sich gegenseitig.


LilyPond Benutzerhandbuch v2.25.22 (development-branch).