@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: ac3dd3ad38528113d97f6a8a7b81751c328f1c36
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Guide, node Updating translation committishes.
@end ignore
-@c \version "2.14.0"
+@c \version "2.19.22"
@c Translators: Till Paala
Dieser Abschnitt behandelt Seitenlayout-Optionen innerhalb der @code{\paper}-Umgebung.
@menu
-* Die \paper-Umgebung::
+* Die paper-Umgebung::
* Papierformat und automatische Skalierung::
-* Vertikale \paper-Variablen mit festen Abständen::
-* Vertikale \paper-Variablen mit flexiblen Abständen::
-* \paper-Variablen für horizontale Abstände::
-* Andere \paper-Variablen::
+* Vertikale paper-Variablen mit festen Abständen::
+* Vertikale paper-Variablen mit flexiblen Abständen::
+* paper-Variablen für horizontale Abstände::
+* Andere paper-Variablen::
@end menu
-@node Die \paper-Umgebung
-@subsection Die @code{\paper}-Umgebung
-@translationof The \paper block
+@node Die paper-Umgebung
+@subsection Die @code{@bs{}paper}-Umgebung
+@translationof The paper block
@cindex Papiergröße
@cindex Größe, Papier
Die meisten @code{\paper}-Variablen funktionieren nur innerhalb der
@code{\paper}-Umgebung. Die wenigen, die auch in der @code{\layout}-Umgebung
-funktionieren, finden sich in @ref{Die \layout-Umgebung}.
+funktionieren, finden sich in @ref{Die layout-Umgebung}.
Außer wenn anders angegeben, werden alle @code{\paper}-Variablen, die
Abständen auf der Seite antsprechen, in Millimetern gemessen, es sei denn,
Notationsreferenz
@ref{Papierformat und automatische Skalierung},
@ref{Eigene Kopf und Fußzeilen sowie Titel},
-@ref{Die \layout-Umgebung}.
+@ref{Die layout-Umgebung,,Die @code{@bs{}layout}-Umgebung}.
Installierte Dateien:
@file{ly/paper-defaults-init.ly}.
@node Das Papierformat einstellen
@unnumberedsubsubsec Das Papierformat einstellen
-@translationof Setting paper size
+@translationof Setting the paper size
-Zwei Funktionen ermöglichen es, die Papiergröße zu ändern:
-@code{set-default-paper-size} und @code{set-paper-size}.
-@code{set-default-paper-size} muss auf der obersten Ebene in
-der Quelldatei gesetzt werden, @code{set-paper-size} hingegen
-muss sich in einer @code{\paper}-Umgebung befinden:
+@q{A4} ist der Standardwert, wenn keine ausdrückliches Papierformat
+eingestellt ist. Es gibt jedoch zwei Funktionen, mit denen man
+das Papierformat ändern kann: @code{set-default-paper-size}
@example
-#(set-default-paper-size "a4")
+#(set-default-paper-size "quarto")
@end example
+@noindent
+welcher immer auf oberster Ebene der Datei geschrieben werden muss, und
+@code{set-paper-size}
+
@example
\paper @{
- #(set-paper-size "a4")
+ #(set-paper-size "tabliod")
@}
@end example
@noindent
-Auf oberster Ebene kann @code{set-default-paper-size} überall vor der ersten
-@code{\paper}-Umgebung aufgerufen werden. Innerhalb einer @code{\paper}-Umgebung
-ist der beste Platz für @code{set-paper-size} gleich am Anfang, über der Liste
-der Variablen-Definitionen. Der Grund dafür wird behandelt in
-@ref{Automatische Skalierung auf ein Papierformat}
-
-@code{set-default-paper-size} bestimmt die Größe aller Seiten, während
-@code{set-paper-size} nur die Seitengröße für die Seiten definiert,
-auf die sich die aktuelle @code{\paper}-Umgebung bezieht. Wenn die
-@code{\paper}-Umgebung gleich am Anfang der Datei steht, bezieht sich die
-Papiergröße auf alle Seiten, wenn sie aber innerhalb einer
-@code{\book}-Umgebung definiert wird, nur auf die Seiten innerhalb
-dieses Buches.
-
-Die normalen Papierformate sind definiert, u.A. @code{a4},
-@code{letter}, @code{legal} und @code{11x17} (auch als
-Tabloit bekannt). Sehr viel mehr Formate sind unterstützt.
-Einzelheiten finden sich in der Datei
-@file{scm/paper.scm} in der Definition von
-@code{paper-alist}.
-
-@warning{Das Standardformat ist @code{a4}.}
-
-Weitere Papierformate können hinzugefügt werden, indem die
-Definition von @code{paper-alist} in der Datei
-@file{scm/paper.scm} verändert wird. Derartige
-Änderungen werden jedoch bei einer Aktualisierung des
-Programmes überschrieben.
+welcher in eine @code{\paper}-Umgebung geschrieben werden muss.
+
+
+Wenn die @code{set-default-paper-size}-Funktion auf oberster Ebene der
+Datei eingesetzt wird, muss sie vor allen @code{\paper}-Umgebungen kommen.
+@code{set-default-paper-size} definiert das Papierformat für alle Seiten,
+während @code{set-paper-size} nur das Format der Seiten bestimmt, auf die
+sich die @code{\paper}-Umgebung bezieht. Wenn beispielsweise die
+@code{\paper}-Umgebung oben in der Datei steht, dann bezieht sie sich
+auf alle Seiten in der Datei. Wenn die @code{\paper}-Umgebung innherhalb
+einer @code{\book}-Umgebung steht, dann bezieht sie sich nur auf das eine
+Buch.
+
+Wenn die @code{set-paper-size}-Funktion eingesetzt wird, muss sie @emph{vor}
+allen anderen Funktionen stehen, die in derselben @code{\paper}-Umgebung
+benützt werden. Siehe @ref{Automatische Skalierung auf ein Papierformat}.
+
+Die Papierformate finden sich in der Datei @file{scm/paper.scm} definiert.
+Hierhin kann man eigene Formate definieren, sie werden jedoch bei einer
+Aktualisierung von LilyPond überschrieben. Die vorhandenen Papierformate
+finden sich in @ref{Vordefinierte Papierformate}.
+
+@c An appendix entry exists for paper sizes but is not auto-generated
+
+Der folgende Befehl kann benützt werden, um ein eigenes Papierformat
+hinzuzufügen, welches dann mit @code{set-default-paper-size} oder
+@code{set-paper-size} benützt werden kann:
+
+@example
+#(set! paper-alist (cons '("mein Format" . (cons (* 15 in) (* 3 in))) paper-alist))
+
+\paper @{
+ #(set-paper-size "mein Format")
+@}
+@end example
+
+Die Einheiten @code{in} (Fuß), @code{cm} (Centimeter) and @code{mm} (Millimeter)
+können benützt werden.
@cindex Ausrichtung, Papier
@cindex Papier, Ausrichtung
@cindex hochkant, Papier
@cindex quer, Papier
+@cindex Papier, quer
@funindex landscape
-Wenn das Symbol @code{'landscape} als Argument an die Funktion
+Wenn das Symbol @code{'landscape} an die Funktion
@code{set-default-paper-size} gehängt wird, werden die Seiten um
90° gedreht und die Notensysteme entsprechend breiter gesetzt.
#(set-default-paper-size "a6" 'landscape)
@end example
+Die Notenausgabe wird @emph{nicht} gedreht, nur das Papierformat.
+
@seealso
Notationsreferenz:
-@ref{Automatische Skalierung auf ein Papierformat}.
+@ref{Automatische Skalierung auf ein Papierformat},
+@ref{Vordefinierte Papierformate}.
Installierte Dateien:
@file{scm/paper.scm}.
-
@node Automatische Skalierung auf ein Papierformat
@unnumberedsubsubsec Automatische Skalierung auf ein Papierformat
@translationof Automatic scaling to paper size
Die vertikalen Dimensionen, die durch die automatische Skalierung verändert
werden sind: @code{top-margin} und @code{bottom-margin} (siehe
-@ref{Vertikale \paper-Variablen mit festen Abständen}). Die horizontalen
+@ref{Vertikale paper-Variablen mit festen Abständen,,Vertikale @code{@bs{}paper}-Variablen mit festen Abständen}). Die horizontalen
Dimensionen, die durch die automatische Skalierung verändert werden, sind
@code{left-margin}, @code{right-margin}, @code{inner-margin}, @code{outer-margin},
@code{binding-offset}, @code{indent} und @code{short-indent} (siehe
-@ref{\paper-Variablen für horizontale Abstände}).
+@ref{paper-Variablen für horizontale Abstände,,@code{@bs{}paper}-Variablen für horizontale Abstände}).
Die Standardwerte für diese Dimensionen sind in
@file{ly/paper-defaults-init.ly} definiert, wobei interne Variablen mit den
@seealso
Notationsreferenz:
-@ref{Vertikale \paper-Variablen mit festen Abständen},
-@ref{\paper-Variablen für horizontale Abstände}.
+@ref{Vertikale paper-Variablen mit festen Abständen,,Vertikale @code{@bs{}paper}-Variablen mit festen Abständen},
+@ref{paper-Variablen für horizontale Abstände,,@code{@bs{}paper}-Variablen für horizontale Abstände}.
Installierte Dateien:
@file{ly/paper-defaults-init.ly},
-@node Vertikale \paper-Variablen mit festen Abständen
-@unnumberedsubsubsec Vertikale @code{\paper}-Variablen mit festen Abständen
-@translationof Fixed vertical spacing \paper variables
+@node Vertikale paper-Variablen mit festen Abständen
+@subsection Vertikale @code{@bs{}paper}-Variablen mit festen Abständen
+@translationof Fixed vertical spacing paper variables
@warning{Einige @code{@bs{}paper}-Dimensionen werden automatisch nach
Papierformat skaliert, was zu ungewolltem Verhalten führen kann. Siehe
Wenn auf falsch gesetzt, werden die Systeme vertikal auf der letzten Seite
verteilt. Bei Stücken, die grob zwei oder mehr Seiten füllen, sollten es auf
-wahr gesetzt werden. Hiermit wird auch die letzte Seite von Teilen eines
+falsch (@code{false}) gesetzt werden. Hiermit wird auch die letzte Seite von Teilen eines
@code{\book}, die mit @code{\bookpart} erstellt sind, beeinflusst.
@end table
zusätzlichen Abstand zwischen den Titel und dem ersten System einer
Paritur einfügt.
+Explizit definierte Papierformate überschreiben alle vom Benutzer erstellte
+Randeinstellung für die Ränder oben und unten.
+
-@node Vertikale \paper-Variablen mit flexiblen Abständen
-@unnumberedsubsubsec Vertikale @code{\paper}-Variablen mit flexiblen Abständen
-@translationof Flexible vertical spacing \paper variables
+@node Vertikale paper-Variablen mit flexiblen Abständen
+@subsection Vertikale @code{@bs{}paper}-Variablen mit flexiblen Abständen
+@translationof Flexible vertical spacing paper variables
In den meisten Fällen bietet es sich an, dass die vertikalen
Abstände zwischen bestimmten Objekten (wie Ränder, Titel,
@menu
* Struktur der Alisten für flexible vertikale Abstände::
-* Liste der flexiblen vertikalen Abstandsvariblen in \paper::
+* Liste der flexiblen vertikalen Abstandsvariablen in paper::
@end menu
@end itemize
+Bei Partituren über mehrere Seiten mit nicht ausgeglichenem unteren Rand
+greift die letzte Seite auf die gleiche Positionierung zurück wie die
+vorhergehende Seite, vorausgesetzt, dafür ist genügend Platz vorhanden.
+
Spezifische Methoden, um Alisten zu verändern, werden behandelt in
@ref{Alisten verändern}. Das folgende Beispiel demonstriert beide Arten,
wie diese Alisten verändert werden können. Der erste Aufruf verändert
@example
\paper @{
- system-system-spacing #'basic-distance = #8
+ system-system-spacing.basic-distance = #8
score-system-spacing =
#'((basic-distance . 12)
(minimum-distance . 6)
@end example
-@node Liste der flexiblen vertikalen Abstandsvariablen in \paper
-@unnumberedsubsubsec Liste der flexiblen vertikalen Abstandsvariablen in @code{\paper}
-@translationof List of flexible vertical spacing \paper variables
+@node Liste der flexiblen vertikalen Abstandsvariablen in paper
+@unnumberedsubsubsec Liste der flexiblen vertikalen Abstandsvariablen in @code{@bs{}paper}
+@translationof List of flexible vertical spacing paper variables
Die Bezeichnungen dieser Variablen entsprechen dem Format
@code{@var{obere}-@var{untere}-platzierung}, wobei @code{@var{obere}}
-@node \paper-Variablen für horizontale Abstände
-@unnumberedsubsubsec \paper-Variablen für horizontale Abstände
-@translationof Horizontal spacing \paper variables
+@node paper-Variablen für horizontale Abstände
+@subsection @code{@bs{}paper}-Variablen für horizontale Abstände
+@translationof Horizontal spacing paper variables
@warning{Einige @code{@bs{}paper}-Dimensionen werden automatische
entsprechend dem Papierformat skaliert und können deshalb ungewollte
Resultate haben. Siehe @ref{Automatische Skalierung auf ein Papierformat}.}
@menu
-* \paper-Variablen für Breite und Ränder::
-* \paper-Variablen für zweiseitigen Satz::
-* \paper-Variablen für Verschiebungen und Einrückungen::
+* paper-Variablen für Breite und Ränder::
+* paper-Variablen für zweiseitigen Satz::
+* paper-Variablen für Verschiebungen und Einrückungen::
@end menu
-@node \paper-Variablen für Breite und Ränder
-@unnumberedsubsubsec \paper-Variablen für Breite und Ränder
-@translationof \paper variables for widths and margins
+@node paper-Variablen für Breite und Ränder
+@unnumberedsubsubsec @code{@bs{}paper}-Variablen für Breite und Ränder
+@translationof paper variables for widths and margins
Standardwerte (vor der Skalierung), die hier nicht aufgelistet
sind, finden sich in @file{ly/paper-defaults-init.ly}.
Installierte Dateien:
@file{ly/paper-defaults-init.ly}.
+@knownissues
+Explizit definierte Papierformate überschreiben alle vom Benutzer erstellte
+Randeinstellung für die Ränder oben und unten.
+
-@node \paper-Variablen für zweiseitigen Satz
-@unnumberedsubsubsec @code{\paper}-Variablen für zweiseitigen Satz
-@translationof \paper variables for two-sided mode
+@node paper-Variablen für zweiseitigen Satz
+@unnumberedsubsubsec @code{@bs{}paper}-Variablen für zweiseitigen Satz
+@translationof paper variables for two-sided mode
Standardwerte (vor der Skalierung) sind definiert in
@file{ly/paper-defaults-init.ly}.
@file{ly/paper-defaults-init.ly}.
-@node \paper-Variablen für Verschiebungen und Einrückungen
-@unnumberedsubsubsec @code{\paper}-Variablen für Verschiebungen und Einrückungen
-@translationof \paper variables for shifts and indents
+@node paper-Variablen für Verschiebungen und Einrückungen
+@unnumberedsubsubsec @code{@bs{}paper}-Variablen für Verschiebungen und Einrückungen
+@translationof paper variables for shifts and indents
Standardwerte (vor der Skalierung), die hier nicht aufgeführt sind,
@rlsr{Spacing}.
-@node Andere \paper-Variablen
-@subsection Andere @code{\paper}-Variablen
-@translationof Other \paper variables
+@node Andere paper-Variablen
+@subsection Andere @code{@bs{}paper}-Variablen
+@translationof Other paper variables
@menu
-* \paper-Variablen für den Zeilenumbruch::
-* \paper-Variablen für den Seitenumbruch::
-* \paper-Variablen für Seitenzahlen::
-* Verschiedene \paper-Variablen::
+* paper-Variablen für den Zeilenumbruch::
+* paper-Variablen für den Seitenumbruch::
+* paper-Variablen für Seitenzahlen::
+* Verschiedene paper-Variablen::
@end menu
-@node \paper-Variablen für den Zeilenumbruch
-@unnumberedsubsubsec @code{\paper}-Variablen für den Zeilenumbruch
-@translationof \paper variables for line breaking
+@node paper-Variablen für den Zeilenumbruch
+@unnumberedsubsubsec @code{@bs{}paper}-Variablen für den Zeilenumbruch
+@translationof paper variables for line breaking
@c TODO: Mention that ly:optimal-breaking is on by default? -mp
@table @code
@ref{Zeilenumbrüche}.
-@node \paper-Variablen für den Seitenumbruch
-@unnumberedsubsubsec @code{\paper}-Variablen für den Seitenumbruch
-@translationof \paper variables for page breaking
+@node paper-Variablen für den Seitenumbruch
+@unnumberedsubsubsec @code{@bs{}paper}-Variablen für den Seitenumbruch
+@translationof paper variables for page breaking
Standardwerte, die hier nicht aufgelistet sind, finden sich in
@file{ly/paper-defaults-init.ly}
@table @code
-@item blank-after-score-page-force
-@funindex blank-after-score-page-force
+@item blank-after-score-page-penalty
+@funindex blank-after-score-page-penalty
Die Strafpunke, die erteilt werden, wenn eine leere Seite nach einer
Partitur und vor der nächsten vorkommt. Der Standardwert hiervon ist
-kleiner als @code{blank-page-force}, sodass leere Seiten nach einer Partitur
+kleiner als @code{blank-page-penalty}, sodass leere Seiten nach einer Partitur
leeren Seiten innerhalb einer Partitur vorgezogen werden.
-@item blank-last-page-force
-@funindex blank-last-page-force
+@item blank-last-page-penalty
+@funindex blank-last-page-penalty
Die Strafpunkte, wenn eine Partitur auf einer ungeraden Seite
beendet wird. Standard: @code{0}.
-@item blank-page-force
-@funindex blank-page-force
+@item blank-page-penalty
+@funindex blank-page-penalty
Die Strafpunkte, wenn eine leere Seite mitten in einer Partitur
auftritt. Das wird nicht benutzt von @code{ly:optimal-breaking},
@ref{Seitenumbrüche},
@ref{Optimale Seitenumbrüche},
@ref{Optimale Umbrüche zum Blättern},
-@ref{Minimale Seitenumbrüche}.
+@ref{Minimale Seitenumbrüche},
+@ref{Eine-Seite-Seitenumbrüche}.
Installierte Dateien:
@file{ly/paper-defaults-init.ly}.
-@node \paper-Variablen für Seitenzahlen
-@unnumberedsubsubsec @code{\paper}-Variablen für Seitenzahlen
-@translationof \paper variables for page numbering
+@node paper-Variablen für Seitenzahlen
+@unnumberedsubsubsec @code{@bs{}paper}-Variablen für Seitenzahlen
+@translationof paper variables for page numbering
Standardwerte, die hier nicht aufgelistet sind, finden sich in
@file{ly/paper-defaults-init.ly}
auf der rechten Seite mit Seite 1 beginnen.
-@node Verschiedene \paper-Variablen
-@unnumberedsubsubsec Verschiedene @code{\paper}-Variablen
-@translationof Miscellaneous \paper variables
+@node Verschiedene paper-Variablen
+@unnumberedsubsubsec Verschiedene @code{@bs{}paper}-Variablen
+@translationof Miscellaneous paper variables
@table @code
@item page-spacing-weight
Die relative Gewichtung von (vertikalem) Abstand auf der Seite und
(horizontalem) Abstand innerhalb der Zeilen. Hohe Werte gewichten
-die vertikalen Abstände mehr. Standard: @code{#10}.
+die vertikalen Abstände mehr. Standard: @code{10}.
@item print-all-headers
@funindex print-all-headers
Wenn wahr, werden alle Einträge des Titelfeldes (@code{\header}-Umgebung)
für jede Partitur (@code{\score}) ausgegeben. Normalerweise wird nur die
Satzbezeichnung und die Opuszahl (@code{piece} und @code{opus})
-ausgegeben. Standard: @code{##f}.
+ausgegeben. Standard: @code{#f}.
@item system-separator-markup
@funindex system-separator-markup
tagline = ##f
}
\score {
- \relative c'' { c1 \break c1 \break c1 }
+ \relative { c''1 \break c1 \break c1 }
}
}
@end lilypond
@translationof Score layout
@menu
-* Die \layout-Umgebung
+* Die layout-Umgebung::
* Die Notensystemgröße einstellen::
@end menu
-@node Die \layout-Umgebung
-@subsection Die @code{ayout}-Umgebung
-@translationof The \layout block
+@node Die layout-Umgebung
+@subsection Die @code{@bs{}layout}-Umgebung
+@translationof The layout block
@cindex Partitur, Layout
@cindex Layout, Partitur
@item
@code{line-width}, @code{ragged-right} und @code{ragged-last}
-(siehe @ref{\paper-Variablen für Breite und Ränder})
+(siehe @ref{paper-Variablen für Breite und Ränder,,@code{@bs{}paper}-Variablen für Breite und Ränder})
@item
@code{indent} und @code{short-indent}
-(siehe @ref{\paper-Variablen für Verschiebungen und Einrückungen})
+(siehe @ref{paper-Variablen für Verschiebungen und Einrückungen,,@code{@bs{}paper}-Variablen für Verschiebungen und Einrückungen})
@item
@code{system-count}
-(siehe @ref{\paper-Variablen für den Zeilenumbruch})
+(siehe @ref{paper-Variablen für den Zeilenumbruch,,@code{@bs{}paper}-Variablen für den Zeilenumbruch})
@end itemize
indent = 2\cm
\context @{
\StaffGroup
- \override StaffGrouper #'staff-staff-spacing #'basic-distance = #8
+ \override StaffGrouper.staff-staff-spacing.basic-distance = #8
@}
\context @{
\Voice
- \override TextScript #'padding = #1
- \override Glissando #'thickness = #3
+ \override TextScript.padding = #1
+ \override Glissando.thickness = #3
@}
@}
@end example
+Mehrfache @code{\layout}-Umbgebungen können als Ausdrücke auf höchster
+Ebene eingegeben werden. Das kann beispielsweise nützlich sein, wenn
+unterschiedliche Einstellungen in extra Dateien gespeichert werden und
+optional eingefügt werden. Intern wird eine Kopie der aktuellen
+@code{\layout}-Konfiguration gemacht, wenn eine @code{\layout}-Umgebung
+ausgewertet wird, dann erst werden Änderungen aus der Umgebung angewendet
+und das Ergebnis als die neue aktuelle Konfiguration gespeichert.
+Aus der Sicht des Benutzers werden die @code{\layout}-Umgebungen
+kombiniert, aber in Konfliktsituationen (wenn die gleiche Eigenschaft
+in unterschiedlichen Umgebungen geändert wird), erhält die spätere
+Definition den Vorrang.
+
+Wenn also diese Umgebung:
+
+@example
+\layout @{
+ \context @{
+ \Voice
+ \override TextScript.color = #magenta
+ \override Glissando.thickness = #1.5
+ @}
+@}
+@end example
+
+nach der Umgebung aus dem vorherigen Beispiel geschrieben wird, werden
+die @code{'padding}- und @code{'color}-Einstellungen für @code{TextScript}
+kombiniert, aber die spätere @code{'thickness}-Einstellung für
+@code{Glissando} ersetzt (oder versteckt) die vorherige.
+
+@code{\layout}-Umgebungen können einer Variable zur späteren Benutzung
+zugewiesen werden, aber die Funktionsweise dieser Zuweisung ist geringfügig
+aber deutlich unterschiedlich von der Variante, sie auszuschreiben.
+Wenn eine Variable etwa so definiert wird:
+
+@example
+layoutVariable = \layout @{
+ \context @{
+ \Voice
+ \override NoteHead.font-size = #4
+ @}
+@}
+@end example
+
+@noindent
+dann enthält sie die aktuelle @code{\layout}-Konfiguration mit zusätzlicher
+Veränderung von @code{NoteHead #'font-size} (der Schriftgröße der Notenköpfe),
+aber diese Kombination wird @emph{nicht} als nächste aktuelle
+Konfiguration gespeichert. Man muss sich im klaren sein, dass die
+@qq{aktuelle Konfiguration} gelesen wird, wenn die Variable erstellt
+wird, nicht wenn sie benutzt wird. Darum ist der Inhalt der Variable
+abhängig von ihrer Position in der Partitur.
+
+Die Variable kann dann auch innerhalb einer anderen @code{\layout}-Umgebung
+eingesetzt werden, etwa:
+
+@example
+\layout @{
+ \layoutVariable
+ \context @{
+ \Voice
+ \override NoteHead.color = #red
+ @}
+@}
+@end example
+
+Eine @code{\layout}-Umgebung, die eine Variable enthält wie im Beispiel oben,
+kopiert die aktuelle Konfiguration @emph{nicht}, sondern benützt den
+Inhalt von @code{\layoutVariable} als Basiskonfiguration für die weiteren
+Veränderungen. Das heißt, dass Änderungen, die zwischen der Definition
+der Variable und ihrer Benutzung definiert wurden, verloren gehen.
+
+Wenn @code{layoutVariable} kurz vor ihrer Benutzung definiert wird (oder
+mit @code{\include} eingefügt wird), entspricht ihr Inhalt der
+aktuellen Konfiguration plus die Änderungen, die die Variable definiert.
+Das obige Beispiel, das den Einsatz von @code{\layoutVariable} zeigt,
+würde in seiner finalen Version folgende @code{\layout}-Umgebung haben:
+
+@example
+ TextScript.padding = #1
+ TextScript.color = #magenta
+ Glissando.thickness = #1.5
+ NoteHead.font-size = #4
+ NoteHead.color = #red
+@end example
+
+plus die Veränderungen an Einrückung (@code{indent}) und @code{StaffGrouper}.
+
+Aber wenn die Variable vor der ersten @code{\layout}-Umgebung definiert
+wird, würde die aktuelle Konfiguration nur enthalten:
+
+@example
+ NoteHead.font-size= #4 % (written in the variable definition)
+ NoteHead.color = #red % (added after the use of the variable)
+@end example
+
+Wenn man sorgfältig plant, können @code{\layout}-Variablen ein wertvolles
+Instrument sein, um das Layout-Design von Quellen zu strukturieren und
+auch dazu dienen, die Layout-Einstellungen an einer bestimmten Stelle
+wieder zurückzusetzen.
@seealso
Notationsreferenz:
* Optimale Seitenumbrüche::
* Optimale Umbrüche zum Blättern::
* Minimale Seitenumbrüche::
+* Eine-Seite-Seitenumbrüche::
* Ausdrückliche Umbrüche::
* Eine zusätzliche Stimme für Umbrüche benutzen::
@end menu
Einen manuellen Zeilenumbruch fügt man mit dem Befehl @code{\break}
ein:
-@lilypond[quote,ragged-right,relative=2,verbatim]
-c4 c c c | \break
-c4 c c c |
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+ c4 c c c | \break
+ c4 c c c |
+}
@end lilypond
Normalerweise wird ein @code{\break} in der Mitte eines Takes ignoriert
unsichtbare Taktlinie hinzufügen, die dann den Zeilenumbruch
erlaubt.
-@lilypond[quote,ragged-right,relative=2,verbatim]
-c4 c c
-\bar "" \break
-c |
-c4 c c c |
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+ c4 c c
+ \bar "" \break
+ c |
+ c4 c c c |
+}
@end lilypond
Ein @code{\break} an einem Taktstrich wird auch ignoriert, wenn der letzte
@lilypond[quote,ragged-right,verbatim]
\new Voice \with {
- \remove Forbid_line_break_engraver
-} \relative c'' {
+ \remove "Forbid_line_break_engraver"
+} \relative {
<<
- { c2. \times 2/3 { c4 c c } c2. | }
+ { c''2. \tuplet 3/2 { c4 c c } c2. | }
{ s1 | \break s1 | }
>>
}
Genauso werden normalerweise Zeilenumbrüche auch verhindert, wenn Balken
über die Taktenden hinausragen. Dieses Verhalten kann verändert werden,
-indem man @code{\override Beam #'breakable = ##t} einstellt:
+indem man @code{\override Beam.breakable = ##t} einstellt:
-@lilypond[quote,ragged-right,relative=2,verbatim]
-\override Beam #'breakable = ##t
-c2. c8[ c | \break
-c8 c] c2. |
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+ \override Beam.breakable = ##t
+ c2. c8[ c | \break
+ c8 c] c2. |
+}
@end lilypond
Mit dem Befehl @code{\noBreak} wird ein Zeilenumbruch an dem
@seealso
Notationsreferenz:
-@ref{\paper-Variablen für den Zeilenumbruch}.
+@ref{paper-Variablen für den Zeilenumbruch,,@code{@bs{}paper}-Variablen für den Zeilenumbruch}.
Schnipsel:
@rlsr{Spacing}.
Es gibt auch vertikale Gegenstücke zu den Variablen
@code{ragged-right} und @code{ragged-last}:
@code{ragged-bottom} und @code{ragged-last-bottom}. Wenn diese
-Variablen auf @code{##t} (wahr) gesetzt werden, werden im ersten
+Variablen auf @code{#t} (wahr) gesetzt werden, werden im ersten
Fall die Notensysteme auf allen Seiten eng nach oben orientiert
gesetzt werden. Im zweiten Fall bezieht sich dies nur auf die
letzte Seite.
-Zu Einzelheiten siehe @ref{Vertikale \paper-Variablen mit festen Abständen}.
+Zu Einzelheiten siehe @ref{Vertikale paper-Variablen mit festen Abständen,,Vertikale @code{@bs{}paper}-Variablen mit festen Abständen}.
Seitenumbrüche werden von der @code{page-breaking}-Funktion errechnet.
LilyPond kennt drei Algorithmen um Seitenumbrüche zu errechnen:
@seealso
Notationsreferenz:
-@ref{\paper-Variablen für den Seitenumbruch}.
+@ref{paper-Variablen für den Seitenumbruch,,@code{@bs{}paper}-Variablen für den Seitenumbruch}.
Schnipsel:
@rlsr{Spacing}.
Der @code{Page_turn_engraver} liest die Kontexteigenschaft
@code{minimumPageTurnLength} um zu erkennen, wie lang eine Stelle
frei von Noten sein muss, damit ein Seitenumbruch in Frage kommt. Der
-Standardwert hierfür ist @code{#(ly:make-moment 1 1)}. Wenn Sie
+Standardwert hierfür ist @code{(ly:make-moment 1/1)}. Wenn Sie
Seitenumbrüche zum Umblättern ausschalten wollen, können Sie
einen sehr großen Wert angeben.
a4 b c d |
R1 | % Ein Seitenumbruch zum Umblättern erlaubt
a4 b c d |
- \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
+ \set Staff.minimumPageTurnLength = #(ly:make-moment 5/2)
R1 | % Seitenumbruch nicht erlaubt
a4 b r2 |
R1*2 | % Seitenumbruch erlaubt
@}
@end example
-
@seealso
Schnipsel:
@rlsr{Spacing}.
+@node Eine-Seite-Seitenumbrüche
+@subsection Eine-Seite-Seitenumbrüche
+@translationof One-line page breaking
+
+@funindex ly:one-line-breaking
+
+Die Funktion @code{ly:one-line-breaking} ist ein besonderer
+Seitenumbruchalgorithmus, der jede Partitur (@code{score}) auf
+eine eigene Seite ausgibt, und in einer einzlenen Zeile. Diese
+Seitenumbruchfunktion gibt keine Titel oder Ränder aus, nur die
+Partitur wird dargestellt.
+
+Die Seitenbreite wird angepasst, sodass die längeste Partitur auf
+eine Zeile passt. Die Variablen @code{paper-width}, @code{line-width}
+und @code{indent} in der @code{\paper}-Umgebung werden ignoriert,
+wenn auch @code{left-margin} und @code{right-margin} noch beachtet
+werden. Die Höhe der Seite wird nicht verändert.
+
+
@node Ausdrückliche Umbrüche
@subsection Ausdrückliche Umbrüche
@translationof Explicit breaks
Einstellungen kann dieses Verhalten ausgeschaltet werden:
@example
-\override NonMusicalPaperColumn #'line-break-permission = ##f
-\override NonMusicalPaperColumn #'page-break-permission = ##f
+\override NonMusicalPaperColumn.line-break-permission = ##f
+\override NonMusicalPaperColumn.page-break-permission = ##f
@end example
Wenn @code{line-break-permission} die Einstellung falsch
ragged-bottom = ##t
}
-music = \relative c'' { c8 c c c }
+music = \relative { c''8 c c c }
\score {
\new Staff {
\layout {
\context {
\Score
- \override NonMusicalPaperColumn #'line-break-permission = ##f
- \override NonMusicalPaperColumn #'page-break-permission = ##f
+ \override NonMusicalPaperColumn.line-break-permission = ##f
+ \override NonMusicalPaperColumn.page-break-permission = ##f
}
}
}
zusammen mit den Noten eingegeben.
@example
-music = \relative c'' @{ c4 c c c @}
+music = \relative @{ c''4 c c c @}
\score @{
\new Staff @{
Umbruchbefehle:
@lilypond[quote,verbatim]
-music = \relative c'' { c4 c c c }
+music = \relative { c''4 c c c }
\score {
\new Staff <<
@ref{Vertikale Abstände}).
@lilypond[quote,verbatim]
-music = \relative c'' { c4 c c c }
+music = \relative { c''4 c c c }
\score {
\new Staff <<
\new Voice {
- \overrideProperty "Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 0))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 0))
s1 * 2 \break
- \overrideProperty "Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 35))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 35))
s1 * 3 \break
- \overrideProperty "Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 70))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 70))
s1 * 6 \break
- \overrideProperty "Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 105))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 105))
s1 * 5 \break
}
\new Voice {
@menu
* Flexible vertikale Abstände in Systemgruppen::
-* Explizite Positionierung von Systemen und Systemgruppen::
+* Explizite Positionierung von Systemen::
* Vermeidung von vertikalen Zusammenstößen::
@end menu
nicht-Systemzeilen in einzelnen Systemgruppen behandelt. Die vertikale
Platzierung zwischen einzelnen Systemgruppen, Partituren, Beschriftungen
usw. und den Rändern wird durch @code{\paper}-Variablen kontrolliert, die
-@ref{Vertikale \paper-Variablen mit flexiblen Abständen}.
+@ref{Vertikale paper-Variablen mit flexiblen Abständen,,Vertikale @code{@bs{}paper}-Variablen mit flexiblen Abständen}.
@menu
* Eigenschaften für Abstände innerhalb von Systemgruppen::
@code{@var{Element1}} befindet; beispielsweise
@code{nonstaff-relatedstaff-spacing} (Nicht-Notensystem-verwandtesNotensystem)
misst von dem Nicht-Notensystem nach oben, wenn @code{staff-affinity}
-(Richtung, an der sich ein System ausrichtet) auf @code{#UP} (nach oben)
+(Richtung, an der sich ein System ausrichtet) auf @code{UP} (nach oben)
eingestellt ist.
Jeder Abstand wird zwischen den @emph{Referenzpunkten} der zwei Objekten
#(define zero-space '((padding . -inf.0) (basic-distance . 0)))
alignToZero = \with {
- \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = #zero-space
- \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = #zero-space
+ \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #zero-space
+ \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #zero-space
}
lowerCaseChords = \with {
chordNameLowercaseMinor = ##t
}
staffAffinityDown = \with {
- \override VerticalAxisGroup #'staff-affinity = #DOWN
+ \override VerticalAxisGroup.staff-affinity = #DOWN
}
labelContext =
#(define-music-function
- (parser location context)
+ (context)
(string?)
- #{ s1*0^\markup { \typewriter $context } #})
+ #{ s1*0^\markup { \typewriter #context } #})
\layout {
\context { \Dynamics \alignToZero }
\lowerCaseChords }
\context { \FretBoards \alignToZero \staffAffinityDown }
\context { \Score
- \override BarLine #'stencil = ##f
- \override DynamicText #'self-alignment-X = #-1
- \override FretBoard #'X-offset = #1.75
- \override InstrumentName #'minimum-Y-extent = #'(-2 . 2)
- \override InstrumentName #'extra-offset = #'(0 . -0.5)
- \override TextScript #'minimum-Y-extent = #'(-2 . 3)
- \override TimeSignature #'stencil = ##f
+ \omit BarLine
+ \override DynamicText.self-alignment-X = #-1
+ \override FretBoard.X-offset = #1.75
+ \override InstrumentName.minimum-Y-extent = #'(-2 . 2)
+ \override InstrumentName.extra-offset = #'(0 . -0.5)
+ \override TextScript.minimum-Y-extent = #'(-2 . 3)
+ \omit TimeSignature
}
}
Jeder der vertikalen Platzierungs-Grobeigenschaften (außer
@code{staff-affinity}) benutzt die gleiche Alistenstruktur
wie die @code{\paper}-Variablen, behandelt in
-@ref{Vertikale \paper-Variablen mit flexiblen Abständen}. Besondere
+@ref{Vertikale paper-Variablen mit flexiblen Abständen,,Vertikale @code{@bs{}paper}-Variablen mit flexiblen Abständen}. Besondere
Methoden um Alisten zu verändern finden sich in
@ref{Alisten verändern}. Grob-Eigenschaften sollten mit
dem @code{\override}-Befehle innerhalb einer @code{\score}-
@example
\new Staff \with @{
- \override VerticalAxisGroup #'default-staff-staff-spacing
- #'basic-distance = #10
+ \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
@} @{ @dots{} @}
\new Staff \with @{
- \override VerticalAxisGroup #'default-staff-staff-spacing =
+ \override VerticalAxisGroup.default-staff-staff-spacing =
#'((basic-distance . 10)
(minimum-distance . 9)
(padding . 1)
\layout @{
\context @{
\Staff
- \override VerticalAxisGroup #'default-staff-staff-spacing
- #'basic-distance = #10
+ \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
@}
@}
@end example
@code{CENTER} oder @code{DOWN} gesetzt, wird das Notensystem als
Nicht-Notensystemzeile plaziert.
-
@item nonstaff-relatedstaff-spacing
Nicht-Notensystem-verwandtesSystem-Platzierung
@seealso
Notationsreferenz:
-@ref{Vertikale \paper-Variablen mit flexiblen Abständen},
+@ref{Vertikale paper-Variablen mit flexiblen Abständen,,Vertikale @code{@bs{}paper}-Variablen mit flexiblen Abständen},
@ref{Alisten verändern}.
+Installierte Dateien:
+@file{ly/engraver-init.ly},
+@file{scm/define-grobs.scm}.
+
Referenz der Interna:
@rinternals{Contexts},
@rinternals{VerticalAxisGroup},
@rinternals{StaffGrouper}.
-Installierte Dateien:
-@file{ly/engraver-init.ly},
-@file{scm/define-grobs.scm}.
-
@node Abstände von nicht gruppierten Notensystemen
@unnumberedsubsubsec Abstände von nicht gruppierten Notensystemen
\layout {
\context {
\Staff
- \override VerticalAxisGroup #'default-staff-staff-spacing =
+ \override VerticalAxisGroup.default-staff-staff-spacing =
#'((basic-distance . 8)
(minimum-distance . 7)
(padding . 1))
% By setting 'padding to a negative value, staves can be made to
% collide. The lowest acceptable value for 'basic-distance is 0.
\new Staff \with {
- \override VerticalAxisGroup #'default-staff-staff-spacing =
+ \override VerticalAxisGroup.default-staff-staff-spacing =
#'((basic-distance . 3.5)
(padding . -10))
} { \clef bass g2 r | }
\layout {
\context {
\Score
- \override StaffGrouper #'staff-staff-spacing #'padding = #0
- \override StaffGrouper #'staff-staff-spacing #'basic-distance = #1
+ \override StaffGrouper.staff-staff-spacing.padding = #0
+ \override StaffGrouper.staff-staff-spacing.basic-distance = #1
}
}
<<
\new PianoStaff \with {
- \override StaffGrouper #'staffgroup-staff-spacing #'basic-distance = #20
+ \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #20
} <<
\new Staff { c'1 }
\new Staff { c'1 }
\layout {
\context {
\Lyrics
- \override VerticalAxisGroup
- #'nonstaff-nonstaff-spacing #'stretchability = #1000
+ \override VerticalAxisGroup.nonstaff-nonstaff-spacing.stretchability = #1000
}
}
\new StaffGroup
<<
\new Staff \with {
- \override VerticalAxisGroup #'staff-staff-spacing = #'((basic-distance . 30))
+ \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 30))
} { c'1 }
\new Lyrics \with {
- \override VerticalAxisGroup #'staff-affinity = #UP
+ \override VerticalAxisGroup.staff-affinity = #UP
} \lyricmode { up }
\new Lyrics \with {
- \override VerticalAxisGroup #'staff-affinity = #CENTER
+ \override VerticalAxisGroup.staff-affinity = #CENTER
} \lyricmode { center }
\new Lyrics \with {
- \override VerticalAxisGroup #'staff-affinity = #DOWN
+ \override VerticalAxisGroup.staff-affinity = #DOWN
} \lyricmode { down }
\new Staff { c'1 }
>>
-
-
-
-
-
-
@node Explizite Positionierung von Systemen
@subsection Explizite Positionierung von Systemen
@translationof Explicit staff and system positioning
@code{\overrideProperty}-Befehl sind hier aufgelistet:
@example
-\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((X-offset . 20))
+\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20))
-\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((Y-offset . 40))
+\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 40))
-\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((X-offset . 20)
+\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20)
(Y-offset . 40))
-\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((alignment-distances . (15)))
+\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((alignment-distances . (15)))
-\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((X-offset . 20)
+\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20)
(Y-offset . 40)
(alignment-distances . (15)))
@end example
<<
\new Staff <<
\new Voice {
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 0))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 0))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 40))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 40))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 80))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 80))
s1*5 \break
}
\new Voice { \repeat unfold 15 { c'4 c' c' c' } }
<<
\new Staff <<
\new Voice {
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 20)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 20)
(alignment-distances . (15)))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 60)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 60)
(alignment-distances . (15)))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 100)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 100)
(alignment-distances . (15)))
s1*5 \break
}
<<
\new Staff <<
\new Voice {
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 0)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 0)
(alignment-distances . (30 10)))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 60)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 60)
(alignment-distances . (10 10)))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 100)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 100)
(alignment-distances . (10 30)))
s1*5 \break
}
geringeren Wert von @code{outside-staff-priority} näher an das
entsprechende Notensystem gesetzt.
-@lilypond[quote,ragged-right,relative=2,verbatim]
-c4_"Text"\pp
-r2.
-\once \override TextScript #'outside-staff-priority = #1
-c4_"Text"\pp % this time the text will be closer to the staff
-r2.
-% by setting outside-staff-priority to a non-number,
-% we disable the automatic collision avoidance
-\once \override TextScript #'outside-staff-priority = ##f
-\once \override DynamicLineSpanner #'outside-staff-priority = ##f
-c4_"Text"\pp % now they will collide
+@lilypond[quote,ragged-right,verbatim]
+\relative c'' {
+ c4_"Text"\pp
+ r2.
+ \once \override TextScript.outside-staff-priority = #1
+ c4_"Text"\pp % this time the text will be closer to the staff
+ r2.
+ % by setting outside-staff-priority to a non-number,
+ % we disable the automatic collision avoidance
+ \once \override TextScript.outside-staff-priority = ##f
+ \once \override DynamicLineSpanner.outside-staff-priority = ##f
+ c4_"Text"\pp % now they will collide
+}
@end lilypond
Der Platz, der zwischen einem Objekt außerhalb des Systems und
padding bezeichnet), kann durch @code{outside-staff-padding}
kontrolliert werden.
-@lilypond[quote,ragged-right,relative=2,verbatim]
-\once \override TextScript #'outside-staff-padding = #0
+@lilypond[quote,ragged-right,relative=2,verbatim,staffsize=18]
+\once \override TextScript.outside-staff-padding = #0
a'^"This text is placed very close to the note"
-\once \override TextScript #'outside-staff-padding = #3
+\once \override TextScript.outside-staff-padding = #3
c^"This text is padded away from the previous text"
c^"This text is placed close to the previous text"
@end lilypond
c''2
% setting outside-staff-horizontal-padding fixes this
R1
-\once \override TextScript #'outside-staff-horizontal-padding = #1
+\once \override TextScript.outside-staff-horizontal-padding = #1
c,,4^"Text"
c4
c''2
häufigste kürzeste Note wird dann als Grundlage für die Platzverteilung
der Noten herangezogen, mit der Bedingung, dass diese kürzeste
Note immer ein Achtel oder kürzer sein soll. Die kürzeste Dauer
-wird ausgegeben, wenn @code{lilypond} mit der Option @code{--verbose}
+wird ausgegeben, wenn @code{lilypond} mit der Option @option{--verbose}
aufgerufen wird.
Diese Dauern können aber auch angepasst werden. Wenn Sie die Eigenschaft
besser sieht:
@lilypond[quote,ragged-right]
-{
- c'4 e''4 e'4 b'4 |
- b'4 e''4 b'4 e''4 |
- \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
- \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
- c'4 e''4 e'4 b'4 |
- b'4 e''4 b'4 e''4 |
+\fixed c' {
+ c4 e'4 e4 b4 |
+ b4 e'4 b4 e'4 |
+ \override Staff.NoteSpacing.stem-spacing-correction = #1.5
+ \override Staff.StaffSpacing.stem-spacing-correction = #1.5
+ c4 e'4 e4 b4 |
+ b4 e'4 b4 e'4 |
}
@end lilypond
Proportionale Notation ist unterstützt, siehe @ref{Proportionale Notation}.
@seealso
+Aufsatz über den automatischen Notensatz:
+@ressay{Optischer Ausgleich}.
+
Schnipsel:
@rlsr{Spacing}.
@rinternals{StaffSpacing},
@rinternals{NonMusicalPaperColumn}.
-Aufsatz über den automatischen Notensatz:
-@ressay{Optischer Ausgleich}.
-
@knownissues
Es gibt keine sinnvolle Möglichkeit, die horizontale Verteilung der
werden, um zusätzlichen Platz in eine Partitur einzufügen.
@example
- \once \override Score.SeparationItem #'padding = #10
+ \override Score.NonMusicalPaperColumn.padding = #10
@end example
Es gibt derzeit keine Möglichkeit, den Platz zu verringern.
@node Eine neuer Bereich mit anderen Abständen
@subsection Eine neuer Bereich mit anderen Abständen
-@translationof New spacing area
+@translationof New spacing section
@cindex horizontale Notenabstände, Abschnitte definierten
@cindex Notenabstände, Abschnitte definieren
@lilypond[verbatim,line-width=12\cm]
\score {
- \relative c'' {
- g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
+ \relative {
+ g'4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
g4 e e2 | f4 d d2 | c4 e g g | c,1 |
d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
g4 e e2 | f4 d d2 | c4 e g g | c,1 |
@lilypond[verbatim,line-width=12\cm]
\score {
- \relative c'' {
- g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
+ \relative {
+ g'4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
g4 e e2 | f4 d d2 | c4 e g g | c,1 |
d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
g4 e e2 | f4 d d2 | c4 e g g | c,1 |
\layout {
\context {
\Score
- \override SpacingSpanner
- #'base-shortest-duration = #(ly:make-moment 1 16)
+ \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
}
}
}
\score {
<<
\new Staff {
- \times 4/5 {
+ \tuplet 5/4 {
c8 c8 c8 c8 c8
}
c8 c8 c8 c8
}
\new Staff {
c8 c8 c8 c8
- \times 4/5 {
+ \tuplet 5/4 {
c8 c8 c8 c8 c8
}
}
\layout {
\context {
\Score
- \override SpacingSpanner #'uniform-stretching = ##t
+ \override SpacingSpanner.uniform-stretching = ##t
}
}
}
zusätzlichen Platz erhalten.
@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
-\override Score.SpacingSpanner #'strict-note-spacing = ##t
-\new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
+\override Score.SpacingSpanner.strict-note-spacing = ##t
+\new Staff { c8[ c \clef alto c \grace { c16 c } c8 c c] c32[ c32] }
@end lilypond
@item @code{proportionalNotationDuration} (proportionale Notendauer)
@item @code{uniform-stretching} (gleichmäßige Dehnung)
@item @code{strict-note-spacing} (strenge Notenverteilung)
-@item @code{\remove Separating_line_group_engraver} (entferne Liniengruppentrennungsengraver)
-@item @code{\override PaperColumn #'used = ##t} (PapierSpalte benutzt = wahr)
+@item @code{\remove "Separating_line_group_engraver"} (entferne Liniengruppentrennungsengraver)
+@item @code{\override PaperColumn.used = ##t} (PapierSpalte benutzt = wahr)
@end itemize
In den Beispielen unten werden diese fünf unterschiedlichen Einstellungen
\new RhythmicStaff {
c'2
c'16 c'16 c'16 c'16
- \times 4/5 {
+ \tuplet 5/4 {
c'16 c'16 c'16 c'16 c'16
}
}
\new RhythmicStaff {
c'2
c'16 c'16 c'16 c'16
- \times 4/5 {
+ \tuplet 5/4 {
c'16 c'16 c'16 c'16 c'16
}
}
\layout {
\context {
\Score
- proportionalNotationDuration = #(ly:make-moment 1 20)
+ proportionalNotationDuration = #(ly:make-moment 1/20)
}
}
}
welches die Referenzdauer ist, anhand welcher alle Noten platziert werden.
Hier wird die LilyPond Scheme-Funktion @code{make-moment} eingesetzt. Sie
braucht zwei Argumente: einen Zähler und einen Nenner, die einen Bruch einer
-Ganzen darstellen. Die Funktion @code{#(ly:make-moment 1 20)} ergibt also
+Ganzen darstellen. Die Funktion @code{(ly:make-moment 1/20)} ergibt also
eine Referenzdauer von einer Zwanzigstel. Genauso gut können etwa die Dauern
-@code{#(ly:make-moment 1 16)}, @code{#(ly:make-moment 1 8)} oder
-@code{#(ly:make-moment 3 97)} eingesetzt werden.
+@code{(ly:make-moment 1/16)}, @code{(ly:make-moment 1/8)} oder
+@code{(ly:make-moment 3/97)} eingesetzt werden.
Die richtige Referenzdauer, mit der eine vernünftige Verteilung der Noten
proportional möglich ist, muss durch Ausprobieren herausgefunden werden.
\new RhythmicStaff {
c'2
c'16 c'16 c'16 c'16
- \times 4/5 {
+ \tuplet 5/4 {
c'16 c'16 c'16 c'16 c'16
}
}
\layout {
\context {
\Score
- proportionalNotationDuration = #(ly:make-moment 1 8)
+ proportionalNotationDuration = #(ly:make-moment 1/8)
}
}
}
\new RhythmicStaff {
c'2
c'16 c'16 c'16 c'16
- \times 4/5 {
+ \tuplet 5/4 {
c'16 c'16 c'16 c'16 c'16
}
}
\layout {
\context {
\Score
- proportionalNotationDuration = #(ly:make-moment 1 16)
+ proportionalNotationDuration = #(ly:make-moment 1/16)
}
}
}
\new RhythmicStaff {
c'2
c'16 c'16 c'16 c'16
- \times 4/5 {
+ \tuplet 5/4 {
c'16 c'16 c'16 c'16 c'16
}
}
\layout {
\context {
\Score
- proportionalNotationDuration = #(ly:make-moment 1 32)
+ proportionalNotationDuration = #(ly:make-moment 1/32)
}
}
}
\new RhythmicStaff {
c'2
c'16 c'16 c'16 c'16
- \times 4/5 {
+ \tuplet 5/4 {
c'16 c'16 c'16 c'16 c'16
}
}
\new RhythmicStaff {
- \times 8/9 {
+ \tuplet 9/8 {
c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
}
}
\new RhythmicStaff {
c'2
c'16 c'16 c'16 c'16
- \times 4/5 {
+ \tuplet 5/4 {
c'16 c'16 c'16 c'16 c'16
}
}
\new RhythmicStaff {
- \times 8/9 {
+ \tuplet 9/8 {
c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
}
}
\layout {
\context {
\Score
- proportionalNotationDuration = #(ly:make-moment 1 20)
+ proportionalNotationDuration = #(ly:make-moment 1/20)
}
}
}
\new RhythmicStaff {
c'2
c'16 c'16 c'16 c'16
- \times 4/5 {
+ \tuplet 5/4 {
c'16 c'16 c'16 c'16 c'16
}
}
\new RhythmicStaff {
- \times 8/9 {
+ \tuplet 9/8 {
c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
}
}
\layout {
\context {
\Score
- proportionalNotationDuration = #(ly:make-moment 1 20)
- \override SpacingSpanner #'uniform-stretching = ##t
+ proportionalNotationDuration = #(ly:make-moment 1/20)
+ \override SpacingSpanner.uniform-stretching = ##t
}
}
}
}
\new Staff \with {
- \remove Separating_line_group_engraver
+ \remove "Separating_line_group_engraver"
} {
c'1
\break
@lilypond[quote,verbatim,ragged-right]
\new Staff {
- \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+ \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
c''8
c''8
c''8
}
\new Staff {
- \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
- \override Score.SpacingSpanner #'strict-note-spacing = ##t
+ \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
+ \override Score.SpacingSpanner.strict-note-spacing = ##t
c''8
c''8
c''8
Notation benutzt werden. Dazu gehören:
@itemize
-@item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
+@item @code{\override SpacingSpanner.strict-grace-spacing = ##t}
@item @code{tupletFullLength = ##t}
-@item @code{\override Beam #'breakable = ##t}
-@item @code{\override Glissando #'breakable = ##t}
-@item @code{\override TextSpanner #'breakable = ##t}
-@item @code{\remove Forbid_line_break_engraver in the Voice context}
+@item @code{\override Beam.breakable = ##t}
+@item @code{\override Glissando.breakable = ##t}
+@item @code{\override TextSpanner.breakable = ##t}
+@item @code{\remove "Forbid_line_break_engraver" in the Voice context}
@end itemize
Diese Einstellungen bewirken, dass auch Verzierungsnoten proportional
Die Ausgabe von @code{annotate-spacing} bietet sehr viele
Details zu den vertikalen Dimensionen einer Partitur. Zu Information,
wie Seitenränder und andere Layout-Variablen geändert werden
-können, siehe @ref{Seitenformatierung}.
+können, siehe @ref{Seitenlayout}.
Neben Rändern gibt es einige weitere Optionen, Platz zu sparen:
@}
@end example
+@item
+Die Anzahl der Seiten kann erzwungen werden. Beispielsweise erzwingt
+folgender Code ein Layout mit zwei Seiten:
+
+@example
+\paper @{
+ page-count = #2
+@}
+@end example
+
@item
Vermeidung (oder Verminderung) von Objekten, die den vertikalen Abstand von Systemen
vergrößern, hilft oft. Die Verwendung von Klammern bei Wiederholungen
@lilypond[verbatim,quote,relative=1]
e4 c g\f c
-e4 c g-\tweak #'X-offset #-2.7 -\tweak #'Y-offset #2.5 \f c
+e4 c g-\tweak X-offset #-2.7 -\tweak Y-offset #2.5 \f c
@end lilypond
@item
@lilypond[verbatim,quote]
\score {
- \relative c'' {
- g4 e e2 |
+ \relative {
+ g'4 e e2 |
f4 d d2 |
c4 d e f |
g4 g g2 |
@lilypond[verbatim,quote]
\score {
- \relative c'' {
- g4 e e2 |
+ \relative {
+ g'4 e e2 |
f4 d d2 |
c4 d e f |
g4 g g2 |
\layout {
\context {
\Score
- \override SpacingSpanner
- #'common-shortest-duration = #(ly:make-moment 1 2)
+ \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/2)
}
}
}
@seealso
Notationsreferenz:
-@ref{Seitenformatierung},
+@ref{Seitenlayout},
@ref{Horizontale Abstände verändern}.
Schnipsel: