[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Die \paper-Umgebung ] | [ Nach oben : Seitenlayout ] | [ Das Papierformat einstellen > ] |
4.1.2 Papierformat und automatische Skalierung
Das Papierformat einstellen | ||
Automatische Skalierung auf ein Papierformat |
Das Papierformat einstellen
Zwei Funktionen ermöglichen es, die Papiergröße zu ändern:
set-default-paper-size
und set-paper-size
.
set-default-paper-size
muss auf der obersten Ebene in
der Quelldatei gesetzt werden, set-paper-size
hingegen
muss sich in einer \paper
-Umgebung befinden:
#(set-default-paper-size "a4")
\paper { #(set-paper-size "a4") }
Auf oberster Ebene kann set-default-paper-size
überall vor der ersten
\paper
-Umgebung aufgerufen werden. Innerhalb einer \paper
-Umgebung
ist der beste Platz für set-paper-size
gleich am Anfang, über der Liste
der Variablen-Definitionen. Der Grund dafür wird behandelt in
Automatische Skalierung auf ein Papierformat
set-default-paper-size
bestimmt die Größe aller Seiten, während
set-paper-size
nur die Seitengröße für die Seiten definiert,
auf die sich die aktuelle \paper
-Umgebung bezieht. Wenn die
\paper
-Umgebung gleich am Anfang der Datei steht, bezieht sich die
Papiergröße auf alle Seiten, wenn sie aber innerhalb einer
\book
-Umgebung definiert wird, nur auf die Seiten innerhalb
dieses Buches.
Die normalen Papierformate sind definiert, u.A. a4
,
letter
, legal
und 11x17
(auch als
Tabloit bekannt). Sehr viel mehr Formate sind unterstützt.
Einzelheiten finden sich in der Datei
‘scm/paper.scm’ in der Definition von
paper-alist
.
Achtung: Das Standardformat ist a4
.
Weitere Papierformate können hinzugefügt werden, indem die
Definition von paper-alist
in der Datei
‘scm/paper.scm’ verändert wird. Derartige
Änderungen werden jedoch bei einer Aktualisierung des
Programmes überschrieben.
Wenn das Symbol 'landscape
als Argument an die Funktion
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)
Siehe auch
Notationsreferenz: Automatische Skalierung auf ein Papierformat.
Installierte Dateien: ‘scm/paper.scm’.
Automatische Skalierung auf ein Papierformat
Wenn das Papierformat mit einer der Scheme-Funktionen
(set-default-paper-size
oder set-paper-size
) geändert wird,
werden die Werte einiger \paper
-Variablen automatisch an die
neue Größe angepasst. Um die automatische Skalierung für eine bestimmte
Variable zu umgehen, kann die Variable definiert werden, nachdem man
das Papierformat angegeben hat. Es sollte beachtet werden, dass die
automatische Anpassung nicht ausgelöst wird, wenn man nur die
paper-height
oder paper-width
-Variablen verändert, obwohl
paper-width
andere Werte beeinflussen kann (das muss von der automatischen
Skalierung unterschieden werden und wird unten behandelt). Die Funktionen
set-default-paper-size
und set-paper-size
werden behandelt
in Das Papierformat einstellen.
Die vertikalen Dimensionen, die durch die automatische Skalierung verändert
werden sind: top-margin
und bottom-margin
(siehe
Vertikale \paper
-Variablen mit festen Abständen. Die horizontalen
Dimensionen, die durch die automatische Skalierung verändert werden, sind
left-margin
, right-margin
, inner-margin
, outer-margin
,
binding-offset
, indent
und short-indent
(siehe
\paper-Variablen für horizontale Abstände.
Die Standardwerte für diese Dimensionen sind in
‘ly/paper-defaults-init.ly’ definiert, wobei interne Variablen mit den
Bezeichnungen top-margin-default
, bottom-margin-default
, usw.
benutzt werden. Das sind die Werte für die Standardpapiergröße
a4
. Zum Vergleich: a4
hat Werte von 297\mm
für
paper-height
und 210\mm
für paper-width
.
Siehe auch
Notationsreferenz:
Vertikale \paper
-Variablen mit festen Abständen,
\paper-Variablen für horizontale Abstände.
Installierte Dateien: ‘ly/paper-defaults-init.ly’, ‘scm/paper.scm’.
Vertikale \paper
-Variablen mit festen Abständen
Achtung: Einige \paper
-Dimensionen werden automatisch nach
Papierformat skaliert, was zu ungewolltem Verhalten führen kann. Siehe
Automatische Skalierung auf ein Papierformat.
Standardwerte (vor der Skalierung) sind definiert in ‘ly/paper-defaults-init.ly’.
-
paper-height
-
Die Höhe der Seite, standardmäßig nicht definiert. Die automatische Skalierung einiger vertikalen Dimensionen wird hiervon nicht betroffen.
-
top-margin
-
Der Rand zwischen dem oberen Ende der Seite und dem oberen Ende des bedruckbaren Bereichs. Wenn das Papierformat verändert wurde, wird der Standardwert dieser Dimension entsprechend skaliert.
-
bottom-margin
-
Der Rand zwischen dem unteren Ende der Seite und dem unteren Ende des bedruckbaren Bereichs. Wenn das Papierformat verändert wurde, wird der Standardwert dieser Dimension entsprechend skaliert.
-
ragged-bottom
-
Wenn auf wahr gesetzt, werden die Systeme nicht vertikal bis zum unteren Seitenrand verteilt. Sollte auf wahr gesetzt sein für Stücke, die nur ein bis zwei Notensystemgruppen pro Seite haben, etwa Orchesterpartituren.
-
ragged-last-bottom
-
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
\book
, die mit\bookpart
erstellt sind, beeinflusst.
Siehe auch
Notationsreferenz: Automatische Skalierung auf ein Papierformat.
Installierte Dateien: ‘ly/paper-defaults-init.ly’.
Schnipsel: Spacing.
Bekannte Probleme und Warnungen
Die Titel (aus der \header
-Umgebung) werden als Systemgruppe
behandelt, sodass ragged-bottom
und ragged-last-bottom
auch
zusätzlichen Abstand zwischen den Titel und dem ersten System einer
Paritur einfügt.
Vertikale \paper
-Variablen mit flexiblen Abständen
In den meisten Fällen bietet es sich an, dass die vertikalen
Abstände zwischen bestimmten Objekten (wie Ränder, Titel,
Notensystemgruppen und einzelne Partituren) flexibel gehalten
werden, sodass sie je nach Situation gedehnt oder komprimiert
werden können. Es gibt eine Anzahl von Variablen für die
\paper
-Umgebung, mit denen man das Dehnungsverhalten dieser
Dimensionen beeinflussen kann. Sie finden sich unten aufgelistet.
Dabei sollte beachtet werden, dass die Variablen, die in diesem
Abschnitt behandelt werden, nicht die Platzierung und das
Dehnungsverhalten von Notensystemen innerhalb der einzelnen
Systemgruppen behandelt. Die Dehnung zwischen Notensystemen
wird mit Grob-Eigenschaften kontrolliert, deren Einstellungen
normalerweise innerhalb der \score
-Umgebung vorgenommen
werden, und nicht innerhalb der \paper
-Umgebung. Siehe auch
Flexible vertikale Abstände in Systemgruppen.
Struktur der Alisten für flexible vertikale Abstände | ||
Liste der flexiblen vertikalen Abstandsvariblen in \paper |
Struktur der Alisten für flexible vertikale Abstände
Jede der flexiblen vertikalen Abstandsvariablen ist eine Aliste (eine assoziative Liste), die vier Schlüssel (engl. key) enthält:
-
basic-distance
(Grund-Abstand) – der vertikale Abstand, gemessen in Systemzwischenräumen, zwischen den Referenzpunkten zweier Elemente, wenn keine Zusammenstöße vorkommen würden und keine Dehnung oder Kompression stattfindet. Der Referenzpunkt einer (Titel-)Beschriftung (auf höchster Ebene) ist sein höchster Punkt und der Referenzpunkt einer Systemgruppe ist der vertikale Mittelpunkt des nächstenStaffSymbol
– sogar wenn eine Nicht-Notensystemzeile (wie etwa einLyrics
-Kontext) dazwischen kommt. Werte fürbasic-distance
, die weniger als entwederpadding
oderminimum-distance
sind, haben keine Bedeutung, weil der sich daraus ergebende Abstand niemals weniger als entwederpadding
oderminimum-distance
ergibt. -
minimum-distance
(minimaler Abstand) – der kleinste erlaubte vertikale Abstand, gemessen in Systemzwischenräumen, zwischen den Referenzpunkten der zwei Elemente, wenn Kompression stattfindet. Werte fürminimum-distance
, die geringer alspadding
sind, haben keine Bedeutung, weil der sich daraus ergebende Abstand niemals weniger alspadding
ergibt. -
padding
(Verschiebung) – der minimal benötigte vertikale blanke Freiraum zwischen den Bounding-Boxen (oder Skyline) der zwei Objekten, gemessen in Notenlinienabständen. -
stretchability
(Dehnbarkeit) – ein einheitsloses Maß der Leichtigkeit, mit der sich die Dimension dehnen lässt (ohne dass Zusammenstöße auftreten). Wenn es null ist, wird der Abstand nicht gedehnt (außer ein Zusammenstoß würde auftreten), wenn es positiv ist, hängt die Wichtigkeit der Dehnbarkeit eines bestimmten Objekts nur noch von seiner Beziehung zu dem Wert des anderen Objekts ab. Beispielsweise wennn eine Dimension die doppelte Dehnbarkeit als die andere hat, wird sie auch zweimal so einfach gedehnt. Werte sollten nicht-negativ und reale Zahlen sein. Der Wert+inf.0
ruft einenprogramming_error
hervor und wird ignoriert, aber1.0e7
kann für einen so gut wie unendlich dehnbaren Abstand eingesetzt werden. Wenn der Wert nicht gesetzt wird, ist der Standardwert der vonbasic-distance
. Die Wahrscheinlichkeit einer Dimension, sich zu verkleinern, kann man nicht direkt beeinflussen, sondern sie ergibt sich aus (space
-minimum-distance
).
Wenn eine Seite einen nicht ausgeglichenen unteren Rand hat, ist der resultierende Abstand der größte von:
-
basic-distance
, -
minimum-distance
und -
padding
plus der kleinste nötige Abstand, um Zusammenstöße zu vermeiden.
Spezifische Methoden, um Alisten zu verändern, werden behandelt in Alisten verändern. Das folgende Beispiel demonstriert beide Arten, wie diese Alisten verändert werden können. Der erste Aufruf verändert nur einen Schlüsselwert einzeln, während der zweite die Variable vollständig neu definiert:
\paper { system-system-spacing #'basic-distance = #8 score-system-spacing = #'((basic-distance . 12) (minimum-distance . 6) (padding . 1) (stretchability . 12)) }
Liste der flexiblen vertikalen Abstandsvariblen in \paper
Die Bezeichnungen dieser Variablen entsprechen dem Format
obere-untere-platzierung
, wobei obere
und untere
die zu platzierenden Elemente darstellen. Jeder
Abstand wird zwischen den Referenzpunkten der beiden Elemente gemessen
(siehe Beschreibung der Alistenstruktur oben). In diesen Variablenbezeichnungen
bedeutet ‚markup
‘ (Beschriftung) sowohl
Titelbeschriftungen (bookTitleMarkup
oder
scoreTitleMarkup
) als auch Beschriftungen auf höchster Ebene
(siehe Die Dateistruktur). Alle Entfernungen werden in Systemzwischenräumen
gemessen.
Standardwerte sind in ‘ly/paper-defaults-init.ly’ definiert.
-
markup-system-spacing
-
der Abstand zwischen einer (Titel-)Beschriftung (auf höchster Ebene) und der darauf folgenden Systemgruppe.
-
score-markup-spacing
-
der Abstand zwischen dem letzten System einer Partitur und der darauf folgenden (Titel-)Beschriftung (auf höchster Ebene).
-
score-system-spacing
-
der Abstand zwischen dem letzten System einer Partitur und dem ersten System der folgenden Partitur, wenn keine (Titel-)Beschriftung (auf höchster Ebene) dazwischen vorkommt.
-
system-system-spacing
-
der Abstand zwischen zwei Systemgruppen der selben Partitur.
-
markup-markup-spacing
-
der Abstand zwischen zwei (Titel-)Beschriftungen (auf höchster Ebene).
-
last-bottom-spacing
-
der Abstand vom letzten System oder Beschriftung auf höchster Ebene auf einer Seite zum unteren Rand des bedruckbaren Bereichs (also bis zum Anfang des unteren Randes).
-
top-system-spacing
-
der Abstand zwischen dem oberen Rand des bedruckbaren Bereichs (also dem Ende des oberen Rands) und dem ersten System auf der Seite, wenn keine (Titel-)Beschriftung (auf höchster Ebene) dazwischen kommt.
-
top-markup-spacing
-
der Abstand vom oberen Rand des bedruckbaren Bereichs (also dem Ende des oberen Randes) zur ersten (Titel-)Beschriftung (auf höchster Ebene) auf einer Seite, wenn keine Systemgruppe dazwischen kommt.
Siehe auch
Notationsreferenz: Flexible vertikale Abstände in Systemgruppen.
Installierte Dateien: ‘ly/paper-defaults-init.ly’.
Schnipsel: Spacing.
\paper-Variablen für horizontale Abstände
Achtung: Einige \paper
-Dimensionen werden automatische
entsprechend dem Papierformat skaliert und können deshalb ungewollte
Resultate haben. Siehe Automatische Skalierung auf ein Papierformat.
\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
Standardwerte (vor der Skalierung), die hier nicht aufgelistet sind, finden sich in ‘ly/paper-defaults-init.ly’.
-
paper-width
-
Die Breide der Seite, standardmäßig nicht definiert. Während
paper-width
keine Auswirkungen auf die automatische Skalierung einiger horizontaler Dimensionen hat, beeinflusst es dennoch dieline-width
-Variable. Wenn sowohlpaper-width
als auchline-width
definiert sind, dann werden auchleft-margin
undright-margin
aktualisiert. Siehe auchcheck-consistency
. -
line-width
-
Die horizontale Ausdehnung der Notenlinien in nicht-eingerückten, Systemen mit Ausgleich zum rechten Rand, entspricht
(paper-width - left-margin - right-margin)
wenn nicht definiert. Wennline-width
definiert ist und sowohlleft-margin
als auchright-margin
nicht definiert sind, dann werden die Ränder aktualisiert, sodass die Systeme mittig auf der Seite zentriert werden. Siehe auchcheck-consistency
. Diese Variable kann auch in der\layout
-Umgebung definiert werden. -
left-margin
-
Der Rand zwischen der linken Papierkante und dem Beginn der Systeme ohne Einrückungen. Wenn das Papierformat verändert wird, wird auch der Standardwert dieser Dimension entsprechend skaliert. Wenn
left-margin
nicht definiert ist und sowohlline-width
als auchright-margin
definiert sind, dann wirdleft-margin
auf den Wert(paper-width - line-width - right-margin)
gesetzt. Wenn nurline-width
definiert ist, dann werden beide Ränder auf den Wert((paper-width - line-width) / 2)
gesetzt und die Systeme demzufolge auf der Seite zentriert. Siehe auchcheck-consistency
. -
right-margin
-
Der Rand zwischen der rechten Papierkante und dem Ende der Systeme mit Randausgleich („Blocksatz“). Wenn das Papierformat geändert wird, wird auch der Standardwert dieser Dimension entsprechend skaliert. Wenn
right-margin
nicht definiert ist und sowohlline-width
als auchleft-margin
definiert sind, dann wirdright-margin
auf den Wert(paper-width - line-width - left-margin)
gesetzt. Wenn nurline-width
definiert ist, dann werden beide Ränder auf den Wert((paper-width - line-width) / 2)
gesetzt und die Systeme demzufolge auf der Seite zentriert. Siehe auchcheck-consistency
. -
check-consistency
-
Wenn wahr, wird eine Warnung ausgegeben, sollten
left-margin
,line-width
undright-margin
zusammen nicht exakt den Wert vonpaper-width
ergeben, und die Werte (außerpaper-width
) mit ihren Standardwerten belegt (wenn nötig auf das entsprechende Papierformat skaliert). Wenn falsch werden derartige Inkonsistenzen ignoriert und die Systeme dürfen auch über den Seitenrand hinausragen. -
ragged-right
-
Wenn wahr, werden Notensysteme nicht über die gesamte Zeilenbreite gestreckt, sondern sie enden horizontal entsprechend den enthaltenen Noten. Standard:
#t
(wahr) für Partituren mit einem System und#f
(falsch) für Partituren mit zwei oder mehr Systemen. Diese Variable kann auch in der\layout
-Umgebung definiert werden. -
ragged-last
-
Wenn wahr, wird das letzte Notensystem einer Partitur nicht über die gesamte Zeilenbreite gestreckt, sondern es endet horizontal entsprechend den enthaltenen Noten. Standard:
#f
(falsch). Diese Variable kann auch in der\layout
-Umgebung definiert werden.
Siehe auch
Notationsreferenz: Automatische Skalierung auf ein Papierformat.
Installierte Dateien: ‘ly/paper-defaults-init.ly’.
\paper
-Variablen für zweiseitigen Satz
Standardwerte (vor der Skalierung) sind definiert in ‘ly/paper-defaults-init.ly’.
-
two-sided
-
Wenn auf wahr (
##t
) gesetzt, werdeninner-margin
,outer-margin
undbinding-offset
zusammen benutzt, um die Ränder der Seite in Abhängigkeit von einer geraden oder ungeraden Seitennummer zu errechnen. Damit werden die Werte vonleft-margin
undright-margin
überschrieben. Standard:##f
. -
inner-margin
-
Der Rand, den alle Seiten auf der Innenseite haben, wenn sie Teil eines Buches (
\book
) sind. Wenn das Papierformat verändert wird, wird der Standardwert dieser Dimension entsprechend skaliert. Funktioniert nur, wenntwo-sided
wahr ist. -
outer-margin
-
Der Rand, den alle Seiten auf der Außenseite haben, wenn sie Teil eines Buches sind. Wenn das Papierformat verändert wird, wird der Standardwert dieser Dimension entsprechend skaliert. Funktioniert nur, wenn
two-sided
wahr ist. -
binding-offset
-
Der Wert, um welchen
inner-margin
erhöht wird, um sicherzugehen, dass nichts in der Bindung verschwindet. Wenn das Papierformat verändert wird, wird der Standardwert dieser Dimension entsprechend skaliert. Funktioniert nur, wenntwo-sided
wahr ist.
Siehe auch
Notationsreferenz: Automatische Skalierung auf ein Papierformat.
Installierte Dateien: ‘ly/paper-defaults-init.ly’.
\paper
-Variablen für Verschiebungen und Einrückungen
Standardwerte (vor der Skalierung), die hier nicht aufgeführt sind, sind definiert in ‘ly/paper-defaults-init.ly’.
-
horizontal-shift
-
Der Wert, um den alle Systeme (und auch Überschriften und Systemtrenner) nach rechts verschoben werden. Standard:
0.0\mm
. -
indent
-
Der Einzug für das erste System einer Partitur. Wenn das Papierformat verändert wird, wird der Standardwert dieser Dimension entsprechend skaliert. Diese Variable kann auch in der
\layout
-Umgebung definiert werden. -
short-indent
-
Der Einzug für alle Systeme einer Partitur ausschließlich das erste System. Wenn das Papierformat verändert wird, wird der Standardwert dieser Dimension entsprechend skaliert. Diese Variable kann auch in der
\layout
-Umgebung definiert werden.
Siehe auch
Notationsreferenz: Automatische Skalierung auf ein Papierformat.
Installierte Dateien: ‘ly/paper-defaults-init.ly’.
Schnipsel: Spacing.