Angepasstes Layout für Kopf- und Fußzeilen

\markup-Befehle in der \header-Umgebung sind nützlich um einfachen Text zu formatieren, erlauben aber keine Kontrolle über die Positionierung von Kopf- und Fußzeilen. Um die Positionierung der Textfelder zu ändern, eignen sich beide oder eine von folgenden Variablen (die man in der \paper-Umgebung einsetzen muss):

Der \markup-Befehl \on-the-fly kann eingesetzt werden, um Beschriftung anhand einer Bedingung zu Kopf- und Fußzeilentext innerhalb der \paper-Umgebung hinzuzufügen. Hierzu wird folgende Syntax eingesetzt:

Variable = \markup {
  ...
  \on-the-fly  #Prozedur  Beschriftung
  ...
}

Die Prozedur wird jedes mal aufgerufen, wenn dar \markup-Befehl, auf den sie sich auswirkt, ausgewertet wird. Die Prozedur sollte nach einer bestimmten Bedingung fragen und das Beschriftung-Argument ausführen (also setzen), wenn diese Bedinung wahr ist.

Eine Anzahl von fertigen Prozeduren, um verschiedene Bedinungen zu testen, werden bereitgestellt:

ProzedurbezeichnungGetestete Bedinung
print-page-number-check-firstsollte diese Seitenzahl gesetzt werden?
create-page-number-stencil’print-page-numbers wahr?
print-all-headers’print-all-headers wahr?
first-pageerste Seite im Buch?
(on-page nmbr)Seitenzahl = nmbr?
last-pageletzte Seite im Buch?
not-first-pagenicht erste Seite im Buch?
part-first-pageerste Seite im book part?
part-last-pageletzte Seite im book part?
not-single-pageSeiten im book part > 1?

Das folgende Beispiel zentriert die Seitenzahlen unten auf jeder Seite. Zuerst werden die Standardeinstellungen von oddHeaderMarkup und evenHeaderMarkup entfernt, indem sie als „Null“-Beschriftung definiert werden. Dann wird oddFooterMarkup mit zentrierter Seitennummer neu definiert. Schließlich erhält evenFooterMarkup die selbe Layoutdefinition wie \oddFooterMarkup:

\book {
  \paper {
    print-page-number = ##t
    print-first-page-number = ##t
    oddHeaderMarkup = \markup \null
    evenHeaderMarkup = \markup \null
    oddFooterMarkup = \markup {
      \fill-line {
        \if \should-print-page-number
        \fromproperty #'page:page-number-string
      }
    }
    evenFooterMarkup = \oddFooterMarkup
  }
  \score {
    \new Staff { s1 \break s1 \break s1 }
  }
}

[image of music]

Verschiedene \on-the-fly-Bedingungen können mit dem Operator „UND“ verknüpft werden, beispielsweise bestimmt

  \if \on-first-page
  \if \on-last-page
  { \markup ... \fromproperty #'header: ... }

ob es sich um eine einzelne Seite bei der Ausgabe handelt.

Siehe auch

Notationsreferenz: Wie funktioniert die Titel-Umgebung?, Standardlayout von book- und Partitur-Titelumgebungen.

Installierte Dateien: ../ly/titling-init.ly.


LilyPond Benutzerhandbuch v2.25.21 (Entwicklungszweig).