1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
4 Translation of GIT committish: 42ae342ba877dc8f26cabb5cc3937a6d3cdb4066
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. For details, see the Contributors'
8 Guide, node Updating translation committishes.
13 @c Translators: Till Paala
18 @translationof Spacing issues
20 Das finale Layout der Seite wird von drei Faktoren bestimmt: dem Layout
21 der Seite, den Zeilenumbrüchen und der Platzverteilung. Jeder Faktor
22 beeinflusst auch die anderen mit. Die Wahl der Platzverteilung
23 entscheidet, wie eng die Notensysteme gesetzt werden. Das wiederum
24 hat Einfluss auf die gewählten Zeilenumbrüche und letztendlich also
25 auch darauf, wieviele Seiten ein Stück beansprucht.
27 Die Verteilung der Musik auf der Seite geschieht grob gesagt in
28 vier Schritten. Zuerst werden flexible Entfernungen (@qq{springs})
29 gewählt, die auf den Notendauern basieren. Alle möglichen
30 Zeilenumbrüche werden getestet und ein @qq{Schlechtigkeitsscore}
31 für die Umbrüche erstellt. Danach wird die mögliche Höhe eines Systems
32 ermittelt und schließlich wird eine bestimmte Kombination aus
33 Seiten- und Zeilenumbruch ausgewählt, sodass weder die horizontale
34 noch die vertikale Platzverteilung zu eng oder zu weit gesetzt wird.
36 Einstellungen, die das Layout beeinflussen, können in zwei Umgebungen
37 gesetzt werden: in der @code{\paper @{...@}}- und der @code{\layout @{...@}}-Umgebung.
38 Die @code{\paper}-Umgebung enthält Einstellungen des Seitenlayouts, die für
39 alle Partituren innerhalb eines @code{\book} die gleichen sein sollen, wie
40 etwa Papierhöhe oder ob Seitenzahlen ausgegeben werden sollen. Siehe
41 @ref{Seitenlayout}. Die @code{\layout}-Umbegung enthält Layouteinstellungen
42 der Partitur selber, wie etwa die Zahl der Systeme oder den Platz zwischen
43 Systemgruppen usw. Siehe @ref{Partiturlayout}.
49 * Vertikale Abstände::
50 * Horizontale Abstände::
51 * Die Musik auf weniger Seiten zwingen::
57 @translationof Page layout
59 Dieser Abschnitt behandelt Seitenlayout-Optionen innerhalb der @code{\paper}-Umgebung.
62 * Die \paper-Umgebung::
63 * Papierformat und automatische Skalierung::
64 * Vertikale \paper-Variablen mit festen Abständen::
65 * Vertikale \paper-Variablen mit flexiblen Abständen::
66 * \paper-Variablen für horizontale Abstände::
67 * Andere \paper-Variablen::
71 @node Die \paper-Umgebung
72 @subsection Die @code{\paper}-Umgebung
73 @translationof The \paper block
80 Die @code{\paper}-Umgebung kann innerhalb einer @code{\book}-, nicht aber
81 innerhalb einer @code{\score}-Umgebung vorkommen. Einstellungen in
82 @code{\paper} wirken sich auf das gesamte Buch aus, welches viele einzelne
83 Partituren beinhalten kann. Einstellungen, die in der @code{\paper}-Umgebung
84 vorkommen können, beinhalten:
89 die @code{set-paper-size}-Scheme-Funktion,
92 @code{\paper}-Variablen, die zum Verändern des Seitenlayouts eingesetzt werden und
95 Beschriftungsdefinitionen, mit denen das Layout von Kopf- und Fußleisten sowie
96 Titeln beeinflusst wird.
100 Die @code{set-paper-size}-Funktion wird im nächsten Abschnitt behandelt:
101 @ref{Papierformat und automatische Skalierung}. Die @code{\paper}-Variablen,
102 die das Seitenlayout beeinflussen, werden in späteren Abschnitten behandelt.
103 Die Beschriftungsdefinitionen für Kopf- und Fußzeilen sowie Titeln werden behandelt
104 in @ref{Custom headers footers and titles}.
106 Die meisten @code{\paper}-Variablen funktionieren nur innerhalb der
107 @code{\paper}-Umgebung. Die wenigen, die auch in der @code{\layout}-Umgebung
108 funktionieren, finden sich in @ref{The \layout block}.
110 Außer wenn anders angegeben, werden alle @code{\paper}-Variablen, die
111 Abständen auf der Seite antsprechen, in Millimetern gemessen, es sei denn,
112 eine andere Maßeinheit ist definiert. Beispielsweise wird mit folgender
113 Definition der obere Rand (top-margin) 10 mm breit definiert:
121 Damit etwa @code{0.5} Zoll benutzt werden, muss @code{\in} dem Maß nachgestellt werden:
129 Mögliche Maßeinheiten sind @code{\mm}, @code{\cm}, @code{\in} und
130 @code{\pt}. Diese Maßeinheiten sind einfach Werte, um von Millimetern
131 zu Konvertieren, sie sind in @file{ly/paper-defaults-init.ly} definiert.
132 Um Missverständnisse zu vermeiden, wird normalerweise @code{\mm} geschrieben,
133 auch wenn es eigentlich nicht notwendig wäre.
135 Man kann die @code{\paper}-Werte auch mit Scheme definieren. Die Scheme-Entsprechung
136 der obigen Definition ist:
140 #(define top-margin (* 0.5 in))
146 @ref{Papierformat und automatische Skalierung},
147 @ref{Custom headers footers and titles},
148 @ref{The \layout block}.
150 Installierte Dateien:
151 @file{ly/paper-defaults-init.ly}.
154 @node Papierformat und automatische Skalierung
155 @subsection Papierformat und automatische Skalierung
156 @translationof Paper size and automatic scaling
164 * Das Papierformat einstellen::
165 * Automatische Skalierung auf ein Papierformat::
169 @node Das Papierformat einstellen
170 @unnumberedsubsubsec Das Papierformat einstellen
171 @translationof Setting paper size
173 Zwei Funktionen ermöglichen es, die Papiergröße zu ändern:
174 @code{set-default-paper-size} und @code{set-paper-size}.
175 @code{set-default-paper-size} muss auf der obersten Ebene in
176 der Quelldatei gesetzt werden, @code{set-paper-size} hingegen
177 muss sich in einer @code{\paper}-Umgebung befinden:
180 #(set-default-paper-size "a4")
185 #(set-paper-size "a4")
190 Auf oberster Ebene kann @code{set-default-paper-size} überall vor der ersten
191 @code{\paper}-Umgebung aufgerufen werden. Innerhalb einer @code{\paper}-Umgebung
192 ist der beste Platz für @code{set-paper-size} gleich am Anfang, über der Liste
193 der Variablen-Definitionen. Der Grund dafür wird behandelt in
194 @ref{Automatische Skalierung auf ein Papierformat}
196 @code{set-default-paper-size} bestimmt die Größe aller Seiten, während
197 @code{set-paper-size} nur die Seitengröße für die Seiten definiert,
198 auf die sich die aktuelle @code{\paper}-Umgebung bezieht. Wenn die
199 @code{\paper}-Umgebung gleich am Anfang der Datei steht, bezieht sich die
200 Papiergröße auf alle Seiten, wenn sie aber innerhalb einer
201 @code{\book}-Umgebung definiert wird, nur auf die Seiten innerhalb
204 Die normalen Papierformate sind definiert, u.A. @code{a4},
205 @code{letter}, @code{legal} und @code{11x17} (auch als
206 Tabloit bekannt). Sehr viel mehr Formate sind unterstützt.
207 Einzelheiten finden sich in der Datei
208 @file{scm/paper.scm} in der Definition von
211 @warning{Das Standardformat ist @code{a4}.}
213 Weitere Papierformate können hinzugefügt werden, indem die
214 Definition von @code{paper-alist} in der Datei
215 @file{scm/paper.scm} verändert wird. Derartige
216 Änderungen werden jedoch bei einer Aktualisierung des
217 Programmes überschrieben.
219 @cindex Ausrichtung, Papier
220 @cindex Papier, Ausrichtung
221 @cindex hochkant, Papier
226 Wenn das Symbol @code{'landscape} als Argument an die Funktion
227 @code{set-default-paper-size} gehängt wird, werden die Seiten um
228 90° gedreht und die Notensysteme entsprechend breiter gesetzt.
231 #(set-default-paper-size "a6" 'landscape)
236 @ref{Automatische Skalierung auf ein Papierformat}.
238 Installierte Dateien:
239 @file{scm/paper.scm}.
243 @node Automatische Skalierung auf ein Papierformat
244 @unnumberedsubsubsec Automatische Skalierung auf ein Papierformat
245 @translationof Automatic scaling to paper size
247 Wenn das Papierformat mit einer der Scheme-Funktionen
248 (@code{set-default-paper-size} oder @code{set-paper-size}) geändert wird,
249 werden die Werte einiger @code{\paper}-Variablen automatisch an die
250 neue Größe angepasst. Um die automatische Skalierung für eine bestimmte
251 Variable zu umgehen, kann die Variable definiert werden, nachdem man
252 das Papierformat angegeben hat. Es sollte beachtet werden, dass die
253 automatische Anpassung nicht ausgelöst wird, wenn man nur die
254 @code{paper-height} oder @code{paper-width}-Variablen verändert, obwohl
255 @code{paper-width} andere Werte beeinflussen kann (das muss von der automatischen
256 Skalierung unterschieden werden und wird unten behandelt). Die Funktionen
257 @code{set-default-paper-size} und @code{set-paper-size} werden behandelt
258 in @ref{Das Papierformat einstellen}.
260 Die vertikalen Dimensionen, die durch die automatische Skalierung verändert
261 werden sind: @code{top-margin} und @code{bottom-margin} (siehe
262 @ref{Vertikale \paper-Variablen mit festen Abständen}). Die horizontalen
263 Dimensionen, die durch die automatische Skalierung verändert werden, sind
264 @code{left-margin}, @code{right-margin}, @code{inner-margin}, @code{outer-margin},
265 @code{binding-offset}, @code{indent} und @code{short-indent} (siehe
266 @ref{\paper-Variablen für horizontale Abstände}).
268 Die Standardwerte für diese Dimensionen sind in
269 @file{ly/paper-defaults-init.ly} definiert, wobei interne Variablen mit den
270 Bezeichnungen @code{top-margin-default}, @code{bottom-margin-default}, usw.
271 benutzt werden. Das sind die Werte für die Standardpapiergröße
272 @code{a4}. Zum Vergleich: @code{a4} hat Werte von @code{297\mm} für
273 @code{paper-height} und @code{210\mm} für @code{paper-width}.
277 @ref{Vertikale \paper-Variablen mit festen Abständen},
278 @ref{\paper-Variablen für horizontale Abstände}.
280 Installierte Dateien:
281 @file{ly/paper-defaults-init.ly},
282 @file{scm/paper.scm}.
286 @node Vertikale \paper-Variablen mit festen Abständen
287 @unnumberedsubsubsec Vertikale @code{\paper}-Variablen mit festen Abständen
288 @translationof Fixed vertical spacing \paper variables
290 @warning{Einige @code{@bs{}paper}-Dimensionen werden automatisch nach
291 Papierformat skaliert, was zu ungewolltem Verhalten führen kann. Siehe
292 @ref{Automatische Skalierung auf ein Papierformat}.}
294 Standardwerte (vor der Skalierung) sind definiert in
295 @file{ly/paper-defaults-init.ly}.
299 @funindex paper-height
301 Die Höhe der Seite, standardmäßig nicht definiert. Die automatische
302 Skalierung einiger vertikalen Dimensionen wird hiervon nicht betroffen.
307 Der Rand zwischen dem oberen Ende der Seite und dem oberen Ende
308 des bedruckbaren Bereichs. Wenn das Papierformat verändert wurde, wird
309 der Standardwert dieser Dimension entsprechend skaliert.
312 @funindex bottom-margin
314 Der Rand zwischen dem unteren Ende der Seite und dem unteren Ende des
315 bedruckbaren Bereichs. Wenn das Papierformat verändert wurde, wird
316 der Standardwert dieser Dimension entsprechend skaliert.
319 @funindex ragged-bottom
321 Wenn auf wahr gesetzt, werden die Systeme nicht vertikal bis zum unteren
322 Seitenrand verteilt. Sollte auf wahr gesetzt sein für Stücke, die nur
323 ein bis zwei Notensystemgruppen pro Seite haben, etwa Orchesterpartituren.
325 @item ragged-last-bottom
326 @funindex ragged-last-bottom
328 Wenn auf falsch gesetzt, werden die Systeme vertikal auf der letzten Seite
329 verteilt. Bei Stücken, die grob zwei oder mehr Seiten füllen, sollten es auf
330 wahr gesetzt werden. Hiermit wird auch die letzte Seite von Teilen eines
331 @code{\book}, die mit @code{\bookpart} erstellt sind, beeinflusst.
337 @ref{Automatische Skalierung auf ein Papierformat}.
339 Installierte Dateien:
340 @file{ly/paper-defaults-init.ly}.
347 Die Titel (aus der @code{\header}-Umgebung) werden als Systemgruppe
348 behandelt, sodass @code{ragged-bottom} und @code{ragged-last-bottom} auch
349 zusätzlichen Abstand zwischen den Titel und dem ersten System einer
353 @node Vertikale \paper-Variablen mit flexiblen Abständen
354 @unnumberedsubsubsec Vertikale @code{\paper}-Variablen mit flexiblen Abständen
355 @translationof Flexible vertical spacing \paper variables
357 In den meisten Fällen bietet es sich an, dass die vertikalen
358 Abstände zwischen bestimmten Objekten (wie Ränder, Titel,
359 Notensystemgruppen und einzelne Partituren) flexibel gehalten
360 werden, sodass sie je nach Situation gedehnt oder komprimiert
361 werden können. Es gibt eine Anzahl von Variablen für die
362 @code{\paper}-Umgebung, mit denen man das Dehnungsverhalten dieser
363 Dimensionen beeinflussen kann. Sie finden sich unten aufgelistet.
365 Dabei sollte beachtet werden, dass die Variablen, die in diesem
366 Abschnitt behandelt werden, nicht die Platzierung und das
367 Dehnungsverhalten von Notensystemen innerhalb der einzelnen
368 Systemgruppen behandelt. Die Dehnung zwischen Notensystemen
369 wird mit Grob-Eigenschaften kontrolliert, deren Einstellungen
370 normalerweise innerhalb der @code{\score}-Umgebung vorgenommen
371 werden, und nicht innerhalb der @code{\paper}-Umgebung. Siehe auch
372 @ref{Flexible vertical spacing within systems}.
375 * Struktur der Alisten für flexible vertikale Abstände::
376 * Liste der flexiblen vertikalen Abstandsvariblen in \paper::
380 @node Struktur der Alisten für flexible vertikale Abstände
381 @unnumberedsubsubsec Struktur der Alisten für flexible vertikale Abstände
382 @translationof Structure of flexible vertical spacing alists
384 Jede der flexiblen vertikalen Abstandsvariablen ist eine Aliste (eine assoziative Liste), die
385 vier @emph{Schlüssel} (engl. key) enthält:
390 @code{basic-distance} (Grund-Abstand) -- der vertikale Abstand, gemessen in
391 Systemzwischenräumen, zwischen den @emph{Referenzpunkten}
392 zweier Elemente, wenn keine Zusammenstöße vorkommen würden und
393 keine Dehnung oder Kompression stattfindet. Der Referenzpunkt
394 einer (Titel-)Beschriftung (auf höchster Ebene) ist sein
395 höchster Punkt und der Referenzpunkt einer Systemgruppe ist
396 der vertikale Mittelpunkt des nächsten @code{StaffSymbol}
397 -- sogar wenn eine Nicht-Notensystemzeile (wie etwa ein
398 @code{Lyrics}-Kontext) dazwischen kommt. Werte für @code{basic-distance},
399 die weniger als entweder @code{padding} oder @code{minimum-distance}
400 sind, haben keine Bedeutung, weil der sich daraus ergebende
401 Abstand niemals weniger als entweder @code{padding} oder
402 @code{minimum-distance} ergibt.
405 @code{minimum-distance} (minimaler Abstand) -- der kleinste
406 erlaubte vertikale Abstand, gemessen in Systemzwischenräumen,
407 zwischen den Referenzpunkten der zwei Elemente, wenn Kompression
408 stattfindet. Werte für @code{minimum-distance}, die geringer als
409 @code{padding} sind, haben keine Bedeutung, weil der sich daraus
410 ergebende Abstand niemals weniger als @code{padding} ergibt.
413 @code{padding} (Verschiebung) -- der minimal benötigte vertikale blanke
414 Freiraum zwischen den Bounding-Boxen (oder Skyline) der zwei Objekten, gemessen in Notenlinienabständen.
416 @item @code{stretchability} (Dehnbarkeit) -- ein einheitsloses
417 Maß der Leichtigkeit, mit der sich die Dimension dehnen lässt (ohne
418 dass Zusammenstöße auftreten). Wenn es null ist, wird der Abstand
419 nicht gedehnt (außer ein Zusammenstoß würde auftreten), wenn es
420 positiv ist, hängt die Wichtigkeit der Dehnbarkeit eines bestimmten
421 Objekts nur noch von seiner Beziehung zu dem Wert des anderen Objekts
422 ab. Beispielsweise wennn eine Dimension die doppelte Dehnbarkeit als
423 die andere hat, wird sie auch zweimal so einfach gedehnt. Werte sollten
424 nicht-negativ und reale Zahlen sein. Der Wert @code{+inf.0}
425 ruft einen @code{programming_error} hervor und wird ignoriert, aber
426 @code{1.0e7} kann für einen so gut wie unendlich dehnbaren Abstand eingesetzt
427 werden. Wenn der Wert nicht gesetzt wird, ist der Standardwert
428 der von @code{basic-distance}. Die Wahrscheinlichkeit einer Dimension, sich
429 zu verkleinern, kann man nicht direkt beeinflussen, sondern sie ergibt sich
430 aus (@code{space}@tie{}@minus{}@tie{}@code{minimum-distance}).
434 Wenn eine Seite einen nicht ausgeglichenen unteren Rand hat, ist der
435 resultierende Abstand der größte von:
440 @code{basic-distance},
443 @code{minimum-distance} und
446 @code{padding} plus der kleinste nötige Abstand, um Zusammenstöße
451 Spezifische Methoden, um Alisten zu verändern, werden behandelt in
452 @ref{Alisten verändern}. Das folgende Beispiel demonstriert beide Arten,
453 wie diese Alisten verändert werden können. Der erste Aufruf verändert
454 nur einen Schlüsselwert einzeln, während der zweite die Variable
455 vollständig neu definiert:
459 system-system-spacing #'basic-distance = #8
460 score-system-spacing =
461 #'((basic-distance . 12)
462 (minimum-distance . 6)
464 (stretchability . 12))
469 @node Liste der flexiblen vertikalen Abstandsvariblen in \paper
470 @unnumberedsubsubsec Liste der flexiblen vertikalen Abstandsvariblen in @code{\paper}
471 @translationof List of flexible vertical spacing \paper variables
473 Die Bezeichnungen dieser Variablen entsprechen dem Format
474 @code{@var{obere}-@var{untere}-platzierung}, wobei @code{@var{obere}}
475 und @code{@var{untere}} die zu platzierenden Elemente darstellen. Jeder
476 Abstand wird zwischen den Referenzpunkten der beiden Elemente gemessen
477 (siehe Beschreibung der Alistenstruktur oben). In diesen Variablenbezeichnungen
478 bedeutet @q{@code{markup}} (Beschriftung) sowohl
479 @emph{Titelbeschriftungen} (@code{bookTitleMarkup} oder
480 @code{scoreTitleMarkup}) als auch @emph{Beschriftungen auf höchster Ebene}
481 (siehe @ref{Die Dateistruktur}). Alle Entfernungen werden in Systemzwischenräumen
484 Standardwerte sind in @file{ly/paper-defaults-init.ly} definiert.
486 @c TODO: Where do headers/footers fit in? -mp
489 @item markup-system-spacing
490 @funindex markup-system-spacing
492 der Abstand zwischen einer (Titel-)Beschriftung (auf höchster Ebene) und der
493 darauf folgenden Systemgruppe.
495 @item score-markup-spacing
496 @funindex score-markup-spacing
498 der Abstand zwischen dem letzten System einer Partitur und der darauf folgenden
499 (Titel-)Beschriftung (auf höchster Ebene).
501 @item score-system-spacing
502 @funindex score-system-spacing
504 der Abstand zwischen dem letzten System einer Partitur und dem ersten
505 System der folgenden Partitur, wenn keine (Titel-)Beschriftung (auf höchster
506 Ebene) dazwischen vorkommt.
508 @item system-system-spacing
509 @funindex system-system-spacing
511 der Abstand zwischen zwei Systemgruppen der selben Partitur.
513 @item markup-markup-spacing
514 @funindex markup-markup-spacing
516 der Abstand zwischen zwei (Titel-)Beschriftungen (auf höchster Ebene).
518 @item last-bottom-spacing
519 @funindex last-bottom-spacing
521 der Abstand vom letzten System oder Beschriftung auf höchster Ebene auf
522 einer Seite zum unteren Rand des bedruckbaren Bereichs (also bis zum Anfang
525 @item top-system-spacing
526 @funindex top-system-spacing
528 der Abstand zwischen dem oberen Rand des bedruckbaren Bereichs (also dem Ende
529 des oberen Rands) und dem ersten System auf der Seite, wenn keine
530 (Titel-)Beschriftung (auf höchster Ebene) dazwischen kommt.
532 @item top-markup-spacing
533 @funindex top-markup-spacing
535 der Abstand vom oberen Rand des bedruckbaren Bereichs (also dem Ende des
536 oberen Randes) zur ersten (Titel-)Beschriftung (auf höchster Ebene) auf
537 einer Seite, wenn keine Systemgruppe dazwischen kommt.
542 @ref{Flexible vertical spacing within systems}.
544 Installierte Dateien:
545 @file{ly/paper-defaults-init.ly}.
555 @node \paper-Variablen für horizontale Abstände
556 @unnumberedsubsubsec \paper-Variablen für horizontale Abstände
557 @translationof Horizontal spacing \paper variables
559 @warning{Einige @code{@bs{}paper}-Dimensionen werden automatische
560 entsprechend dem Papierformat skaliert und können deshalb ungewollte
561 Resultate haben. Siehe @ref{Automatische Skalierung auf ein Papierformat}.}
564 * \paper-Variablen für Breite und Ränder::
565 * \paper-Variablen für zweiseitigen Satz::
566 * \paper-Variablen für Verschiebungen und Einrückungen::
570 @node \paper-Variablen für Breite und Ränder
571 @unnumberedsubsubsec \paper-Variablen für Breite und Ränder
572 @translationof \paper variables for widths and margins
574 Standardwerte (vor der Skalierung), die hier nicht aufgelistet
575 sind, finden sich in @file{ly/paper-defaults-init.ly}.
581 @funindex paper-width
583 Die Breide der Seite, standardmäßig nicht definiert. Während
584 @code{paper-width} keine Auswirkungen auf die automatische
585 Skalierung einiger horizontaler Dimensionen hat, beeinflusst es
586 dennoch die @code{line-width}-Variable. Wenn sowohl @code{paper-width}
587 als auch @code{line-width} definiert sind, dann werden auch
588 @code{left-margin} und @code{right-margin} aktualisiert. Siehe auch
589 @code{check-consistency}.
594 Die horizontale Ausdehnung der Notenlinien in nicht-eingerückten,
595 Systemen mit Ausgleich zum rechten Rand, entspricht
596 @code{(paper-width@tie{}@minus{}@tie{}left-margin@tie{}@minus{}@tie{}right-margin)}
597 wenn nicht definiert. Wenn @code{line-width} definiert ist und sowohl
598 @code{left-margin} als auch @code{right-margin} nicht definiert sind, dann
599 werden die Ränder aktualisiert, sodass die Systeme mittig auf der Seite
600 zentriert werden. Siehe auch @code{check-consistency}. Diese Variable
601 kann auch in der @code{\layout}-Umgebung definiert werden.
604 @funindex left-margin
606 Der Rand zwischen der linken Papierkante und dem Beginn der Systeme
607 ohne Einrückungen. Wenn das Papierformat verändert wird, wird auch
608 der Standardwert dieser Dimension entsprechend skaliert. Wenn
609 @code{left-margin} nicht definiert ist und sowohl @code{line-width}
610 als auch @code{right-margin} definiert sind, dann wird @code{left-margin}
612 @code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}right-margin)}
613 gesetzt. Wenn nur @code{line-width} definiert ist, dann werden beide
615 @code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)}
616 gesetzt und die Systeme demzufolge auf der Seite zentriert. Siehe auch
617 @code{check-consistency}.
620 @funindex right-margin
622 Der Rand zwischen der rechten Papierkante und dem Ende der Systeme mit
623 Randausgleich (@qq{Blocksatz}). Wenn das Papierformat geändert wird,
624 wird auch der Standardwert dieser Dimension entsprechend skaliert. Wenn
625 @code{right-margin} nicht definiert ist und sowohl @code{line-width} als
626 auch @code{left-margin} definiert sind, dann wird @code{right-margin} auf den
627 Wert @code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}left-margin)}
628 gesetzt. Wenn nur @code{line-width} definiert ist, dann werden beide Ränder
630 @code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)}
631 gesetzt und die Systeme demzufolge auf der Seite zentriert. Siehe auch
632 @code{check-consistency}.
634 @item check-consistency
635 @funindex check-consistency
637 Wenn wahr, wird eine Warnung ausgegeben, sollten @code{left-margin},
638 @code{line-width} und @code{right-margin} zusammen nicht exakt den
639 Wert von @code{paper-width} ergeben, und die Werte (außer
640 @code{paper-width}) mit ihren Standardwerten belegt (wenn nötig auf
641 das entsprechende Papierformat skaliert). Wenn falsch werden derartige
642 Inkonsistenzen ignoriert und die Systeme dürfen auch über den Seitenrand
646 @funindex ragged-right
648 Wenn wahr, werden Notensysteme nicht über die gesamte Zeilenbreite
649 gestreckt, sondern sie enden horizontal entsprechend den enthaltenen
650 Noten. Standard: @code{#t} (wahr) für Partituren mit einem System
651 und @code{#f} (falsch) für Partituren mit zwei oder mehr Systemen.
652 Diese Variable kann auch in der @code{\layout}-Umgebung definiert werden.
655 @funindex ragged-last
657 Wenn wahr, wird das letzte Notensystem einer Partitur nicht über die
658 gesamte Zeilenbreite gestreckt, sondern es endet horizontal entsprechend
659 den enthaltenen Noten. Standard: @code{#f} (falsch). Diese Variable
660 kann auch in der @code{\layout}-Umgebung definiert werden.
666 @ref{Automatische Skalierung auf ein Papierformat}.
668 Installierte Dateien:
669 @file{ly/paper-defaults-init.ly}.
672 @node \paper-Variablen für zweiseitigen Satz
673 @unnumberedsubsubsec @code{\paper}-Variablen für zweiseitigen Satz
674 @translationof \paper variables for two-sided mode
676 Standardwerte (vor der Skalierung) sind definiert in
677 @file{ly/paper-defaults-init.ly}.
687 Wenn auf wahr (@code{##t}) gesetzt, werden @code{inner-margin}, @code{outer-margin}
688 und @code{binding-offset} zusammen benutzt, um die Ränder der Seite in Abhängigkeit
689 von einer geraden oder ungeraden Seitennummer zu errechnen. Damit werden die
690 Werte von @code{left-margin} und @code{right-margin} überschrieben. Standard:
694 @funindex inner-margin
696 Der Rand, den alle Seiten auf der Innenseite haben, wenn sie Teil eines
697 Buches (@code{\book}) sind. Wenn das Papierformat verändert wird,
698 wird der Standardwert dieser Dimension entsprechend skaliert. Funktioniert
699 nur, wenn @code{two-sided} wahr ist.
702 @funindex outer-margin
704 Der Rand, den alle Seiten auf der Außenseite haben, wenn sie Teil eines Buches
705 sind. Wenn das Papierformat verändert wird,
706 wird der Standardwert dieser Dimension entsprechend skaliert. Funktioniert nur,
707 wenn @code{two-sided} wahr ist.
710 @funindex binding-offset
712 Der Wert, um welchen @code{inner-margin} erhöht wird, um sicherzugehen, dass
713 nichts in der Bindung verschwindet. Wenn das Papierformat verändert wird,
714 wird der Standardwert dieser Dimension entsprechend skaliert. Funktioniert nur,
715 wenn @code{two-sided} wahr ist.
721 @ref{Automatische Skalierung auf ein Papierformat}.
723 Installierte Dateien:
724 @file{ly/paper-defaults-init.ly}.
727 @node \paper-Variablen für Verschiebungen und Einrückungen
728 @unnumberedsubsubsec @code{\paper}-Variablen für Verschiebungen und Einrückungen
729 @translationof \paper variables for shifts and indents
732 Standardwerte (vor der Skalierung), die hier nicht aufgeführt sind,
733 sind definiert in @file{ly/paper-defaults-init.ly}.
737 @item horizontal-shift
738 @funindex horizontal-shift
740 @c This default value is buried in the middle of page.scm. -mp
742 Der Wert, um den alle Systeme (und auch Überschriften und Systemtrenner)
743 nach rechts verschoben werden. Standard: @code{0.0\mm}.
748 Der Einzug für das erste System einer Partitur. Wenn das Papierformat
749 verändert wird, wird der Standardwert dieser Dimension entsprechend skaliert.
750 Diese Variable kann auch in der @code{\layout}-Umgebung definiert werden.
753 @funindex short-indent
755 Der Einzug für alle Systeme einer Partitur ausschließlich das
756 erste System. Wenn das Papierformat
757 verändert wird, wird der Standardwert dieser Dimension entsprechend skaliert.
758 Diese Variable kann auch in der @code{\layout}-Umgebung definiert werden.
764 @ref{Automatische Skalierung auf ein Papierformat}.
766 Installierte Dateien:
767 @file{ly/paper-defaults-init.ly}.
773 @node Andere \paper-Variablen
774 @subsection Andere @code{\paper}-Variablen
775 @translationof Other \paper variables
778 * \paper-Variablen für den Zeilenumbruch::
779 * \paper-Variablen für den Seitenumbruch::
780 * \paper-Variablen für Seitenzahlen::
781 * Verschiedene \paper-Variablen::
785 @node \paper-Variablen für den Zeilenumbruch
786 @unnumberedsubsubsec @code{\paper}-Variablen für den Zeilenumbruch
787 @translationof \paper variables for line breaking
788 @c TODO: Mention that ly:optimal-breaking is on by default? -mp
792 @item max-systems-per-page
793 @funindex max-systems-per-page
795 Die maximale Anzahl an Notensystemgruppen, die auf einer Seite gesetzt werden. Das
796 wird zur Zeit nur von dem @code{ly:optimal-breaking}-Algorithmus
797 unterstützt. Standard: nicht gesetzt.
799 @item min-systems-per-page
800 @funindex min-systems-per-page
802 Die minimale Anzahl an Notensystemgruppen, die auf einer Seite gesetzt werden. Das
803 kann dazu führen, dass Seiten zu dicht gefüllt werden, wenn der Wert
804 zu groß gewählt wird. Die Option ist zur Zeit nur von dem
805 @code{ly:optimal-breaking}-Algorithmus unterstützt. Standard: nicht gesetzt.
807 @item systems-per-page
808 @funindex systems-per-page
810 Die Anzahl an Systemen, die auf jede Seite gesetzt werden sollen.
811 Diese Option wird zur Zeit nur von dem @code{ly:optimal-breaking}-Algorithmus
812 unterstützt. Standard: nicht gesetzt.
815 @funindex system-count
817 Die Anzahl der Systeme, auf denen eine Partitur gesetzt werden soll.
818 Standard: nicht gesetzt. Diese Variablen kann auch in der
819 @code{\layout}-Umgebung definiert werden.
825 @ref{Zeilenumbrüche}.
828 @node \paper-Variablen für den Seitenumbruch
829 @unnumberedsubsubsec @code{\paper}-Variablen für den Seitenumbruch
830 @translationof \paper variables for page breaking
832 Standardwerte, die hier nicht aufgelistet sind, finden sich in
833 @file{ly/paper-defaults-init.ly}
837 @item blank-after-score-page-force
838 @funindex blank-after-score-page-force
840 Die Strafpunke, die erteilt werden, wenn eine leere Seite nach einer
841 Partitur und vor der nächsten vorkommt. Der Standardwert hiervon ist
842 kleiner als @code{blank-page-force}, sodass leere Seiten nach einer Partitur
843 leeren Seiten innerhalb einer Partitur vorgezogen werden.
845 @item blank-last-page-force
846 @funindex blank-last-page-force
848 Die Strafpunkte, wenn eine Partitur auf einer ungeraden Seite
849 beendet wird. Standard: @code{0}.
851 @item blank-page-force
852 @funindex blank-page-force
854 Die Strafpunkte, wenn eine leere Seite mitten in einer Partitur
855 auftritt. Das wird nicht benutzt von @code{ly:optimal-breaking},
856 weil hiermit niemals leere Seiten mitten in einer Partitur zugelassen
860 @funindex page-breaking
862 Der Algorithmus, der für Seitenumbrüche eingesetzt wird. Mögliche
863 Algorithmen sind: @code{ly:minimal-breaking} (minimale Umbrüche),
864 @code{ly:page-turn-breaking} (Umbrüche an guten Stellen zum Umblättern)
865 und @code{ly:optimal-breaking}.
867 @item page-breaking-system-system-spacing
868 @funindex page-breaking-system-system-spacing
870 Überlistet die Seitenumbruchfunktion, indem ihr ein anderer Wert
871 für @code{system-system-spacing} mitgeteilt wird, als in Wirklichkeit
872 eingestellt ist. Wenn beispielsweise
873 @code{page-breaking-system-system-spacing #'padding} auf einen
874 deutlich größeren Wert als @code{system-system-spacing #'padding} gesetzt
875 wird, setzt die Seitenumbruchsfunktion weniger Systeme auf eine
876 Seite. Standard: nicht gesetzt.
881 Die Zahl der Seiten, die für eine Partitur benutzt werden sollen.
882 Standard: nicht gesetzt.
888 @ref{Seitenumbrüche},
889 @ref{Optimale Seitenumbrüche},
890 @ref{Optimale Umbrüche zum Blättern},
891 @ref{Minimale Seitenumbrüche}.
893 Installierte Dateien:
894 @file{ly/paper-defaults-init.ly}.
897 @node \paper-Variablen für Seitenzahlen
898 @unnumberedsubsubsec @code{\paper}-Variablen für Seitenzahlen
899 @translationof \paper variables for page numbering
901 Standardwerte, die hier nicht aufgelistet sind, finden sich in
902 @file{ly/paper-defaults-init.ly}
906 @item auto-first-page-number
907 @funindex auto-first-page-number
909 Der Seitenumbruchsalgorithmus wird davon beeinflusst, ob die erste
910 Seitenzahl gerade oder ungerade ist. Wenn die Variable auf wahr
911 gesetzt wird, entscheidet der Seitenumbruchsalgorithmus selber,
912 ob die Noten auf einer geraden oder ungeraden Seite beginnen sollen.
913 Das hat dann zur Folge, dass die erste Seite entweder bleibt wie
914 sie ist oder um eins erhöht wird. Standard: @code{#f}.
916 @item first-page-number
917 @funindex first-page-number
919 Der Wert der Seitenzahl auf der ersten Seite.
921 @item print-first-page-number
922 @funindex print-first-page-number
924 Wenn wahr, wird auch auf der ersten Seite die Seitenzahl ausgegeben.
927 @item print-page-number
928 @funindex print-page-number
930 Wenn falsch, werden Seitenzahlen nicht ausgegeben.
935 Installierte Dateien:
936 @file{ly/paper-defaults-init.ly}.
939 Ungrade Seitenzahlen befinden sich immer auf der rechten Seite.
940 Wenn Sie die Noten auf Seite 1 beginnen lassen wollen, müssen Sie
941 eine leere Seite nach dem Deckblatt einfügen, damit die Noten
942 auf der rechten Seite mit Seite 1 beginnen.
945 @node Verschiedene \paper-Variablen
946 @unnumberedsubsubsec Verschiedene @code{\paper}-Variablen
947 @translationof Miscellaneous \paper variables
950 @item page-spacing-weight
951 @funindex page-spacing-weight
953 Die relative Gewichtung von (vertikalem) Abstand auf der Seite und
954 (horizontalem) Abstand innerhalb der Zeilen. Hohe Werte gewichten
955 die vertikalen Abstände mehr. Standard: @code{#10}.
957 @item print-all-headers
958 @funindex print-all-headers
960 Wenn wahr, werden alle Einträge des Titelfeldes (@code{\header}-Umgebung)
961 für jede Partitur (@code{\score}) ausgegeben. Normalerweise wird nur die
962 Satzbezeichnung und die Opuszahl (@code{piece} und @code{opus})
963 ausgegeben. Standard: @code{##f}.
965 @item system-separator-markup
966 @funindex system-separator-markup
968 Ein Beschriftungsobjekt, das zwischen zwei Systeme gesetzt wird. Das
969 wird oft in Orchesterpartituren eingesetzt. Standard: nicht gesetzt.
970 Der Beschriftungsbefehl @code{\slashSeparator}, definiert in
971 @file{ly/titling-init.ly}, kann für einen Trenner
972 benutzt werden, etwa so:
974 @lilypond[quote,verbatim,noragged-right,line-width=30\mm]
975 #(set-default-paper-size "a8")
979 system-separator-markup = \slashSeparator
985 \relative c'' { c1 \break c1 \break c1 }
994 Installierte Dateien:
995 @file{ly/titling-init.ly}.
1003 Die Standard-Kopfzeilendefinition setzt die Seitenzahl und das
1004 @code{instrument}-Feld aus der @code{\header}-Umgebung in eine
1009 @node Partiturlayout
1010 @section Partiturlayout
1011 @translationof Score layout
1014 * Die \layout-Umgebung
1015 * Die Notensystemgröße einstellen::
1019 @node Die \layout-Umgebung
1020 @subsection Die @code{ayout}-Umgebung
1021 @translationof The \layout block
1023 @cindex Partitur, Layout
1024 @cindex Layout, Partitur
1027 Während die @code{\paper}-Umgebung Einstellungen für die Formatierung
1028 der Seiten eines gesamten Dokuments enthalten, enthält die
1029 @code{\layout}-Umgebung Einstellungen für einzelne Partituren. Um
1030 Layoutoptionen für Partituren global einzustellen, müssen sie in einer
1031 @code{\layout}-Umgebung gesetzt werden, die sich auf höchster Ebene in
1032 der Datei befindet. Um sie für einzelne Partituren festzulegen, muss die
1033 @code{\layout}-Umgebung innerhalb der @code{\score}-Umgebung nach den Noten
1034 eingetraten werden. Einstellungen, die in einer @code{\layout}-Umgebung
1035 vorkommen können, beinhalten:
1038 @item die @code{layout-set-staff-size}-Scheme-Funktion,
1039 @item Kontextveränderungen in @code{\context}-Umgebungen und
1040 @item @code{\paper}-Variablen, die das Aussehen einer Partitur beeinflussen.
1043 Die @code{layout-set-staff-size}-Funktion wird im nächsten Abschnitt behandelt,
1044 @ref{Die Notensystemgröße einstellen}. Kontextveränderungen werden in einem
1045 eigenen Kapitel behandelt, siehe @ref{Umgebungs-Plugins verändern} and
1046 @ref{Die Standardeinstellungen von Kontexten ändern}. Die @code{\paper}-Variablen,
1047 die innerhalb der @code{\layout}-Umgebungen erlaubt sind, sind:
1052 @code{line-width}, @code{ragged-right} und @code{ragged-last}
1053 (siehe @ref{\paper-Variablen für Breite und Ränder})
1056 @code{indent} und @code{short-indent}
1057 (siehe @ref{\paper-Variablen für Verschiebungen und Einrückungen})
1061 (siehe @ref{\paper-Variablen für den Zeilenumbruch})
1065 Hier ist ein Beispiel für eine @code{\layout}-Umgebung:
1072 \override StaffGrouper #'staff-staff-spacing #'basic-distance = #8
1076 \override TextScript #'padding = #1
1077 \override Glissando #'thickness = #3
1086 @ref{Die Standardeinstellungen von Kontexten ändern},
1087 @ref{Die Notensystemgröße einstellen},
1088 @ref{Umgebungs-Plugins verändern}.
1095 @node Die Notensystemgröße einstellen
1096 @subsection Die Notensystemgröße einstellen
1097 @translationof Setting the staff size
1099 @cindex Schriftgröße, Einstellung
1100 @cindex Systemgröße, Einstellung
1101 @cindex Verändern der Schriftgröße
1102 @cindex Verändern der Systemgröße
1103 @funindex layout file
1105 Die Standardgröße der Notensysteme beträgt 20 Punkte (pt).
1106 Das kann auf zwei Arten geändert werden:
1108 Um die Systemgröße global für alle Partituren einer
1109 Datei (bzw. einer @code{\book}-Umgebung) zu verändern,
1110 wird @code{set-global-staff-size} benutzt:
1113 #(set-global-staff-size 14)
1117 Hiermit wird die Standardhöhe der Notensysteme auf 14 pt
1118 gesetzt. Die Schriftarten werden entsprechend verkleinert.
1120 Um die Systemhöhe für jede Partitur einzeln zu verändern,
1127 #(layout-set-staff-size 15)
1135 Die Feta-Schriftart stellt die Noten- und Musiksymbole
1136 für acht verschiedene Größen zur Verfügung. Jede
1137 Schriftgröße ist einer bestimmten Systemgröße angepasst:
1138 für kleinere Schriftgrößen werden die Zeichen etwas
1139 schwerer, um mit den ebenfalls dickeren Notenlinien
1140 zu harmonieren. Die empfohlenen Notensystemgrößen
1141 sind in der Tabelle aufgeführt:
1144 @multitable @columnfractions .15 .2 .22 .2
1146 @item @b{Schriftbezeichnung}
1147 @tab @b{Höhe des Systems (pt)}
1148 @tab @b{Höhe des Systems (mm)}
1154 @tab Taschenparituren
1179 @tab Orchesterstimmen
1190 @c modern rental material?
1195 Diese Schriftarten sind in allen Größen erhältlich. Die Kontext-Eigenschaft
1196 @code{fontSize} und die Layout-Eigenschaft @code{staff-space} (in
1197 @code{StaffSymbol}) können benutzt werden, um die Schriftgröße für
1198 einzelne Systeme zu verändern. Die Größe von einzelnen Systemen
1199 ist relativ zur globalen Systemgröße.
1204 @ref{Auswahl der Notations-Schriftgröße}.
1212 @code{layout-set-staff-size} verändert nicht den Abstand zwischen den
1218 @translationof Breaks
1223 * Optimale Seitenumbrüche::
1224 * Optimale Umbrüche zum Blättern::
1225 * Minimale Seitenumbrüche::
1226 * Ausdrückliche Umbrüche::
1227 * Eine zusätzliche Stimme für Umbrüche benutzen::
1231 @node Zeilenumbrüche
1232 @subsection Zeilenumbrüche
1233 @translationof Line breaking
1235 @cindex Zeilenumbrüche
1236 @cindex Umbrüche von Zeilen
1238 Zeilenumbrüche werden normalerweise automatisch erstellt. Sie
1239 werden so ausgewählt, dass die Zeilen weder gedrängt noch zu
1240 weit gespreizt wirken und aufeinander folgende Seiten einen
1241 ähnlichen Grauwert haben.
1243 Einen manuellen Zeilenumbruch fügt man mit dem Befehl @code{\break}
1246 @lilypond[quote,ragged-right,relative=2,verbatim]
1251 Normalerweise wird ein @code{\break} in der Mitte eines Takes ignoriert
1252 und eine Warnung ausgegeben. Um einen Zeilenumbruch in der Mitte eines
1253 Taktes zu erzwingen, können Sie mit @code{\bar ""} eine
1254 unsichtbare Taktlinie hinzufügen, die dann den Zeilenumbruch
1257 @lilypond[quote,ragged-right,relative=2,verbatim]
1264 Ein @code{\break} an einem Taktstrich wird auch ignoriert, wenn der letzte
1265 Takt mitten in einer Note endet, wenn etwa eine N-tole in unterschiedlichen
1266 Takten beginnt und endet. Damit @code{\break} auch in derartigen Situationen
1267 funktioniert, muss @code{Forbid_line_break_engraver} aus der
1268 @code{Voice}-Umgebung entfernt werden. Dabei sollte beachtet werden, dass
1269 manuell hervorgerufene Umbrüche parallel mit den Noten hinzugefügt werden
1272 @lilypond[quote,ragged-right,verbatim]
1274 \remove Forbid_line_break_engraver
1277 { c2. \times 2/3 { c4 c c } c2. | }
1278 { s1 | \break s1 | }
1283 Genauso werden normalerweise Zeilenumbrüche auch verhindert, wenn Balken
1284 über die Taktenden hinausragen. Dieses Verhalten kann verändert werden,
1285 indem man @code{\override Beam #'breakable = ##t} einstellt:
1287 @lilypond[quote,ragged-right,relative=2,verbatim]
1288 \override Beam #'breakable = ##t
1293 Mit dem Befehl @code{\noBreak} wird ein Zeilenumbruch an dem
1294 entsprechenden Taktstrich verboten.
1296 Die grundlegenden Einstellungen, die Einfluss auf die Zeilenlänge
1297 haben, sind @code{indent} (Einzug) und @code{line-width}
1298 (Zeilenbreite). Sie werden in der @code{\layout}-Umgebung
1299 eingestellt. Der erste Befehl bestimmt den Einzug der ersten
1300 Zeile, der zweite die Zeilenlänge der weiteren Notenzeilen.
1302 Wenn @code{ragged-right} eingestellt ist (also in der
1303 @code{\layout}-Umgebung auf den Wert @code{#t} gesetzt wurde),
1304 werden die Systeme linksbündig gesetzt und nicht bis zum
1305 rechten Rand hin durchgezogen, sondern den Noten entsprechend
1306 gesetzt. Das ist oftmals nützlich für kleine Notenfragmente
1307 und um zu überprüfen, wie eng die Noten natürlicherweise
1308 gesetzt werden würden.
1310 Die Option @code{ragged-last} verhält sich ähnlich zu @code{ragged-right},
1311 aber wirkt sich nur auf die letzte Zeile eines Stückes aus.
1316 line-width = #150\mm
1321 @cindex regelmäßige Zeilenumbrüche
1322 @cindex Zeilenumbrüche in Intervallen
1324 Um Zeilenumbrüche zu erzwingen, die in festgelegten Intervallen
1325 stattfinden, kann der Befehl @code{\break} in Kombination
1326 mit unsichtbaren Noten und einer Wiederholung (@code{\repeat}) eingesetzt
1327 werden. Das folgende Beispiel etwa setzt die nächsten
1328 28 Takte (im 4/4-Takt) in Zeilen zu jeweils 4 Takten (die auch nur hier
1329 umgebrochen werden):
1334 s1 \noBreak s1 \noBreak
1335 s1 \noBreak s1 \break
1337 @{ @var{Hier die Noten@dots{}} @}
1341 Eine Zeilenumbruchkonfiguration kann auch als eine @file{.ly}-Datei
1342 automatisch gespeichert werden. Damit kann die vertikale Ausrichtung
1343 während eines zweiten Programmdurchlaufs angepasst werden um die
1344 Seiten besser zu füllen. Diese Eigenschaft ist recht neu und
1345 kompliziert. Mehr Einzelheiten finden sich in
1357 @ref{\paper-Variablen für den Zeilenumbruch}.
1362 Referenz der Interna:
1363 @rinternals{LineBreakEvent}.
1366 @node Seitenumbrüche
1367 @subsection Seitenumbrüche
1368 @translationof Page breaking
1370 @cindex Seitenumbrüche
1371 @cindex Umbrüche, Seite
1373 Die Standardseitenumbrüche können verändert werden, indem
1374 man die Befehle @code{\pageBreak} bzw. @code{\noPageBreak}
1375 benutzt. Sie verhalten sich analog zu den Befehlen
1376 @code{\break} und @code{\noBreak}. Sie sollten an einem
1377 Taktstrich notiert werden. Diese Befehle erzwingen bzw.
1378 verbieten einen Seitenumbruch. Mit dem @code{\pageBreak}-Befehl
1379 wird natürlich gleichzeitig auch ein Zeilenumbruch erzwungen.
1381 Die @code{\pageBreak} und @code{\noPageBreak}-Befehle können
1382 auch auf der höchsten Ebene einer Datei benutzt werden, etwa
1383 zwischen Partituren und Textbeschriftungen.
1385 Es gibt auch vertikale Gegenstücke zu den Variablen
1386 @code{ragged-right} und @code{ragged-last}:
1387 @code{ragged-bottom} und @code{ragged-last-bottom}. Wenn diese
1388 Variablen auf @code{##t} (wahr) gesetzt werden, werden im ersten
1389 Fall die Notensysteme auf allen Seiten eng nach oben orientiert
1390 gesetzt werden. Im zweiten Fall bezieht sich dies nur auf die
1392 Zu Einzelheiten siehe @ref{Vertikale \paper-Variablen mit festen Abständen}.
1394 Seitenumbrüche werden von der @code{page-breaking}-Funktion errechnet.
1395 LilyPond kennt drei Algorithmen um Seitenumbrüche zu errechnen:
1396 @code{ly:optimal-breaking}, @code{ly:page-turn-breaking} und
1397 @code{ly:minimal-breaking}. Der Standard ist @code{ly:optimal-breaking},
1398 aber der Wert kann in der @code{\paper}-Umgebung geändert werden:
1402 #(define page-breaking ly:page-turn-breaking)
1408 Wenn ein Buch (@code{\book}) viele Parituren und Seiten hat, kann die
1409 Seitenaufteilung schwer zu ermitteln sein und viel Zeit und Prozessorlast
1410 in Anspruch nehmen. Um den Seitenumbruchsprozess zu vereinfachen,
1411 werden @code{\bookpart}-Umgebungen benutzt, um das Buch in mehrere Teil
1412 zu trennen: Die Seitenumbrüche werden seperat für jeden Teil berechnet.
1413 Unterschiedliche Seitenumbruchsfunktionen können in unterschiedlichen
1414 Buchteilen benutzt werden.
1419 subtitle = "Vorwort"
1422 %% In einem Abschnitt, der vor allem Text hat,
1423 %% funktioniert womöglich ly:minimal-breaking besser
1424 #(define page-breaking ly:minimal-breaking)
1426 \markup @{ @dots{} @}
1430 %% In diesem Abschnitt mit Noten wird
1431 %% die Standard-Seitenumbruchsfunktion benutzt.
1433 subtitle = "Erster Satz"
1435 \score @{ @dots{} @}
1444 @funindex \pageBreak
1446 @funindex \noPageBreak
1447 @code{\noPageBreak}.
1452 @ref{\paper-Variablen für den Seitenumbruch}.
1458 @node Optimale Seitenumbrüche
1459 @subsection Optimale Seitenumbrüche
1460 @translationof Optimal page breaking
1462 @funindex ly:optimal-breaking
1464 Die @code{ly:optimal-breaking}-Funktion ist die Standardmethode für
1465 LilyPond, um Seitenumbrüche zu errechnen. Hiermit wird versucht,
1466 Seitenumbrüche zu finden, die das Stauchen oder Strecken von Zeilen
1467 minimieren, sowohl horizontal als auch vertikal. Anders als die
1468 @code{ly:page-turn-breaking}-Funktion hat diese Methode keine
1469 Möglichkeit, Überlegungen zum Umblättern mit einzubeziehen.
1476 @node Optimale Umbrüche zum Blättern
1477 @subsection Optimale Umbrüche zum Blättern
1478 @translationof Optimal page turning
1480 @funindex ly:page-turn-breaking
1482 Es ist oft nötig, die Seiten so umzubrechen, dass sich eine Pause am
1483 Ende jeder zweiten Seite befindet, damit der Musiker es leichter hat,
1484 die Seite umzublättern ohne das Spielen zu Unterbrechen. Die
1485 @code{ly:page-turn-breaking}-Funktion versucht, Seitenumbrüche zu
1486 finden, die das Stauchen oder Strecken von Zeilen minimieren und
1487 gleichzeitig auch noch Seitenumbrüchen an angegebenen Stellen
1488 den Vorrang zu geben.
1490 Die Funktion wird in zwei Schritten eingesetzt. Zunächst muss sie
1491 in der @code{\paper}-Umgebung aktiviert werden, wie gezeigt in
1492 @ref{Seitenumbrüche}. Dann muss noch angegeben werden, welche Stellen
1493 bevorzugt für Seitenumbrüche benutzt werden sollen.
1495 Für diesen zweiten Schritt gibt es zwei Methoden. Am Einfachsten ist
1496 es, die möglichen Seitenumbrüche mit dem Befehl @code{\allowPageTurn}
1497 an jeder Stelle manuell anzugeben.
1499 Wenn Ihnen das zu aufwändig ist, können Sie den @code{Page_turn_engraver}
1500 zu einem @code{Staff}- oder @code{Voice}-Kontext hinzufügen. Dieser
1501 Engraver durchsucht den entsprechenden Kontext nach Stellen ohne Noten.
1502 (Es wird also nicht nach Pausen gesucht, sondern nach Stellen ohne
1503 Noten. Dieses Verhalten verhindert, dass an polyphonen Stellen umgebrochen
1504 wird, wo nur in einer Stimme Pausen vorhanden sind.) Wenn eine
1505 derartige Stelle ohne Noten gefunden wird, fügt der Engraver den
1506 Befehl @code{\allowPageTurn} am letzten Taktstrich des Abschnitts ein. Wenn
1507 in dem Abschnitt ein besonderer Taktstrich vorkommt (wie etwa ein
1508 Doppelstrich), wird der Befehl nach diesem Taktstrich gesetzt.
1510 @funindex minimumPageTurnLength
1512 Der @code{Page_turn_engraver} liest die Kontexteigenschaft
1513 @code{minimumPageTurnLength} um zu erkennen, wie lang eine Stelle
1514 frei von Noten sein muss, damit ein Seitenumbruch in Frage kommt. Der
1515 Standardwert hierfür ist @code{#(ly:make-moment 1 1)}. Wenn Sie
1516 Seitenumbrüche zum Umblättern ausschalten wollen, können Sie
1517 einen sehr großen Wert angeben.
1520 \new Staff \with @{ \consists "Page_turn_engraver" @}
1523 R1 | % Ein Seitenumbruch zum Umblättern erlaubt
1525 \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
1526 R1 | % Seitenumbruch nicht erlaubt
1528 R1*2 | % Seitenumbruch erlaubt
1533 @funindex minimumRepeatLengthForPageTurn
1535 Der @code{Page_turn_engraver} erkennt Wiederholungen vom Typ @code{volta}.
1536 Ein Seitenumbruch zum Umblättern wird nur zugelassen, wenn vor und nach
1537 der Wiederholung genug Zeit ist, um die Seite wieder zurückzublättern.
1538 Wenn die Wiederholung sehr kurz ist, kann auch Umblättern verboten
1539 werden. Wenn Sie die Kontexteigenschaft
1540 @code{minimumRepeatLengthForPageTurn} definieren, erlaubt der
1541 @code{Page_turn_engraver} nur Umblättern in Wiederholungen, deren
1542 Dauer länger als dieser Wert ist.
1544 Die Seitenumblätter-Befehle @code{\pageTurn}, @code{\noPageTurn} und
1545 @code{\allowPageTurn} können auch auf oberster Dateiebene benutzt
1546 werden, etwa zwischen Partituren und Textabschnitten.
1552 @funindex \noPageTurn
1554 @funindex \allowPageTurn
1555 @code{\allowPageTurn}.
1564 In einer Partitur sollte nur ein @code{Page_turn_engraver} vorkommen. Wenn
1565 mehr als einer definiert werden, stören sie sich gegenseitig.
1568 @node Minimale Seitenumbrüche
1569 @subsection Minimale Seitenumbrüche
1570 @translationof Minimal page breaking
1572 @funindex ly:minimal-breaking
1574 Die @code{ly:minimal-breaking}-Funktion benötigt nur minimale Berechnungen,
1575 um die Seitenumbrüche zu bestimmen. Die Seite wird mit möglichst
1576 vielen Systemen gefüllt und dann zur nächsten Seite gewechselt. Die
1577 Funktion kann benutzt werden um Partituren mit vielen Seiten zu
1578 setzen, wenn die anderen Seitenumbruchsfunktionen zu langsam wären
1579 oder zu viel Speicher beanspruchen. Auch für Seiten mit viel Text
1580 ist die Funktion geeignet. Sie wird folgendermaßen aktiviert:
1584 page-breaking = #ly:minimal-breaking
1594 @node Ausdrückliche Umbrüche
1595 @subsection Ausdrückliche Umbrüche
1596 @translationof Explicit breaks
1598 Es kann vorkommen, dass LilyPond direkte @code{\break} oder
1599 @code{\pageBreak}-Befehl nicht beachtet. Mit folgenden
1600 Einstellungen kann dieses Verhalten ausgeschaltet werden:
1603 \override NonMusicalPaperColumn #'line-break-permission = ##f
1604 \override NonMusicalPaperColumn #'page-break-permission = ##f
1607 Wenn @code{line-break-permission} die Einstellung falsch
1608 (@code{##f}) hat, werden Zeilenumbrüche nur an den Befehlen
1609 @code{\break} eingefügt und nirgendwo anders. Wenn
1610 @code{page-break-permission} die Einstellung falsch
1611 (@code{##f}) hat, werden Seitenumbrüche nur an den Befehlen
1612 @code{\pageBreak} eingefügt und nirgendwo anders.
1614 @lilypond[quote,verbatim]
1621 music = \relative c'' { c8 c c c }
1625 \repeat unfold 2 { \music } \break
1626 \repeat unfold 4 { \music } \break
1627 \repeat unfold 6 { \music } \break
1628 \repeat unfold 8 { \music } \pageBreak
1629 \repeat unfold 8 { \music } \break
1630 \repeat unfold 6 { \music } \break
1631 \repeat unfold 4 { \music } \break
1632 \repeat unfold 2 { \music }
1637 \override NonMusicalPaperColumn #'line-break-permission = ##f
1638 \override NonMusicalPaperColumn #'page-break-permission = ##f
1650 @node Eine zusätzliche Stimme für Umbrüche benutzen
1651 @subsection Eine zusätzliche Stimme für Umbrüche benutzen
1652 @translationof Using an extra voice for breaks
1654 Zeilen- und Seitenumbruchbefehle werden normalerweise direkt
1655 zusammen mit den Noten eingegeben.
1658 music = \relative c'' @{ c4 c c c @}
1662 \repeat unfold 2 @{ \music @} \break
1663 \repeat unfold 3 @{ \music @}
1668 Hierdurch sind zwar die Befehle @code{\break} und @code{\pageBreak}
1669 einfach zu notieren, es werden aber Informationen zur Notation
1670 mit Informationen zur Anordnung auf der Seite vermischt. Man kann
1671 diese Informationen auch voneinander trennen, indem man eine zusätzliche
1672 Stimme einfügt, in der Zeilen- und Seitenumbrüche vorgenommen werden.
1673 Diese zusätzliche Stimme enthält nur unsichtbare Noten und die
1676 @lilypond[quote,verbatim]
1677 music = \relative c'' { c4 c c c }
1688 \repeat unfold 2 { \music }
1689 \repeat unfold 3 { \music }
1690 \repeat unfold 6 { \music }
1691 \repeat unfold 5 { \music }
1697 Mit dieser Herangehensweise kann der Code insbesondere
1698 dann klarer notiert werden, wenn man Einstellungen der
1699 @code{line-break-system-details}-Eigenschaft oder
1700 anderer Eigenschaften von
1701 @code{NonMusicalPaperColumnGrob} vornimmt (hierzu auch
1702 @ref{Vertikale Abstände}).
1704 @lilypond[quote,verbatim]
1705 music = \relative c'' { c4 c c c }
1710 \overrideProperty "Score.NonMusicalPaperColumn"
1711 #'line-break-system-details #'((Y-offset . 0))
1714 \overrideProperty "Score.NonMusicalPaperColumn"
1715 #'line-break-system-details #'((Y-offset . 35))
1718 \overrideProperty "Score.NonMusicalPaperColumn"
1719 #'line-break-system-details #'((Y-offset . 70))
1722 \overrideProperty "Score.NonMusicalPaperColumn"
1723 #'line-break-system-details #'((Y-offset . 105))
1727 \repeat unfold 2 { \music }
1728 \repeat unfold 3 { \music }
1729 \repeat unfold 6 { \music }
1730 \repeat unfold 5 { \music }
1739 @ref{Vertikale Abstände}.
1745 @node Vertikale Abstände
1746 @section Vertikale Abstände
1747 @translationof Vertical spacing
1749 @cindex vertikale Positionierung
1750 @cindex Positionierung, vertikal
1751 @cindex Abstände, vertikal
1753 Vertikale Abstände werden durch drei Eigenschaften
1754 bestimmt: wieviel Platz frei ist (etwa Papiergröße
1755 und Ränder), wieviel Platz zwischen Systemgruppen
1756 (engl. system) gesetzt werden soll und wieviel
1757 Platz zwischen Notensystemen (engl. staff, Pl. staves)
1758 innerhalb von Gruppen gesetzt wird.
1761 * Flexible vertikale Abstände in Systemgruppen::
1762 * Explizite Positionierung von Systemen und Systemgruppen::
1763 * Vermeidung von vertikalen Zusammenstößen::
1767 @node Flexible vertikale Abstände in Systemgruppen
1768 @subsection Flexible vertikale Abstände in Systemgruppen
1769 @translationof Flexible vertical spacing within systems
1771 @cindex Abstand zwischen Notensystemen
1772 @cindex Notensystemabstand
1773 @cindex Platz zwischen Notensystemen
1774 @cindex Platz innerhalb von Systemgruppen
1775 @cindex Systemgruppen, Abstände innerhalb
1777 Drei unterschiedliche Mechanismen kontrollieren das flexible Abstandaufteilung
1778 in Systemgruppen, einer für jede der folgenden Kathegorien:
1783 @emph{ungruppierte Systeme},
1786 @emph{Systemgruppen} (Systeme innerhalb einer @code{staff-group} wie etwa
1787 @code{ChoirStaff} usw.) und
1790 @emph{Nicht-Notensystemzeilen} (wie etwa @code{Lyrics} (Gesangstext),
1791 @code{ChordNames} (Akkordbezeichnungen) usw.).
1795 Die Höhe jeder Systemgruppe wird in zwei Schritten bestimmt. Zunächst
1796 werden alle Systeme anhand des vorhandenen Platzes aufgeteilt. Dann
1797 werden die nicht-Notensysteme (also Akkorde oder Gesangstext) zwischen
1798 den Systemen verteilt.
1800 Es ist zu beachten, dass der Platzverteilungsmechanismus, der in diesem
1801 Abschnitt behandelt wird, nur die vertikale Platzierung von Systemen und
1802 nicht-Systemzeilen in einzelnen Systemgruppen behandelt. Die vertikale
1803 Platzierung zwischen einzelnen Systemgruppen, Partituren, Beschriftungen
1804 usw. und den Rändern wird durch @code{\paper}-Variablen kontrolliert, die
1805 @ref{Vertikale \paper-Variablen mit flexiblen Abständen}.
1808 * Eigenschaften für Abstände innerhalb von Systemgruppen::
1809 * Abstände von nicht gruppierten Notensystemen::
1810 * Abstände von gruppierten Notensystemen::
1811 * Abstände von nicht-Notensystemzeilen::
1815 @node Eigenschaften für Abstände innerhalb von Systemgruppen
1816 @unnumberedsubsubsec Eigenschaften für Abstände innerhalb von Systemgruppen
1817 @translationof Within-system spacing properties
1819 Der vertikalen Platzierungsmechanismen für Abstände innerhalb von Systemgruppen
1820 werden durch zwei Gruppen von Grob-Eigenschaften kontrolliert. Die erste
1821 Gruppe ist mit dem @code{VerticalAxisGroup}-Grob verknüpft, der von allen
1822 Notensystemen und Nicht-Notensystemzeilen erstellt wird. Die zweite Gruppe
1823 ist mit dem @code{StaffGrouper}-Grob verknüpft, der von Systemgruppen erstellt
1824 werden kann, aber nur, wenn das explizit verlangt wird. Die einzelnen Eigenschaften
1825 werden am Ende dieses Abschnitts beschrieben.
1827 Die Bezeichnungen dieser Eigenschaften (mit Außnahmen von @code{staff-affinity})
1828 haben das Format @code{@var{Element1}-@var{Element2}-spacing}, wobei
1829 @code{@var{Element1}} und @code{@var{Element2}} die Elemente sind, deren
1830 Abstände eingestellt werden sollen. Dabei ist allerdings zu beachten, dass
1831 @code{@var{Element2}} sich nicht notwendigerweise unterhalb von
1832 @code{@var{Element1}} befindet; beispielsweise
1833 @code{nonstaff-relatedstaff-spacing} (Nicht-Notensystem-verwandtesNotensystem)
1834 misst von dem Nicht-Notensystem nach oben, wenn @code{staff-affinity}
1835 (Richtung, an der sich ein System ausrichtet) auf @code{#UP} (nach oben)
1838 Jeder Abstand wird zwischen den @emph{Referenzpunkten} der zwei Objekten
1839 gemessen. Der Referenzpunkt eines Notensystems ist die vertikale Mitte
1840 seines @code{StaffSymbol}-Objekts (also die Mittellinie, wenn
1841 @code{line-count} (Notenlinienzähler) ungrade ist, oder der mittlere
1842 Zwischenraum, wenn @code{line-count} grade ist). Die Referenzpunkte für
1843 einzelne Nicht-Notensystemzeilen ergibt sich aus der folgenden Tabelle:
1845 @multitable {Nicht-Notensystemzeile} {Referenzpunkt}
1846 @headitem Nicht-Notensystemzeile @tab Referenzpunkt
1847 @item @code{ChordNames} @tab Grundlinie
1848 @item @code{NoteNames} @tab Grundlinie
1849 @item @code{Lyrics} @tab Grundlinie
1850 @item @code{Dynamics} @tab vertikale Mitte
1851 @item @code{FiguredBass} @tab höchster Punkt
1852 @item @code{FretBoards} @tab Oberlinie
1855 Im nächsten Bild zeigen horizontale Striche die Positionen dieser
1858 @lilypond[quote,noragged-right,line-width=110\mm]
1859 #(define zero-space '((padding . -inf.0) (basic-distance . 0)))
1861 alignToZero = \with {
1862 \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = #zero-space
1863 \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = #zero-space
1865 lowerCaseChords = \with {
1866 chordNameLowercaseMinor = ##t
1868 staffAffinityDown = \with {
1869 \override VerticalAxisGroup #'staff-affinity = #DOWN
1872 #(define-music-function
1873 (parser location context)
1875 #{ s1*0^\markup { \typewriter $context } #})
1878 \context { \Dynamics \alignToZero }
1879 \context { \FiguredBass \alignToZero }
1880 \context { \Lyrics \alignToZero }
1881 \context { \NoteNames \alignToZero }
1882 \context { \ChordNames \alignToZero \lowerCaseChords }
1883 \context { \FretBoards \alignToZero \staffAffinityDown }
1885 \override BarLine #'stencil = ##f
1886 \override DynamicText #'self-alignment-X = #-1
1887 \override FretBoard #'X-offset = #1.75
1888 \override InstrumentName #'minimum-Y-extent = #'(-2 . 2)
1889 \override InstrumentName #'extra-offset = #'(0 . -0.5)
1890 \override TextScript #'minimum-Y-extent = #'(-2 . 3)
1891 \override TimeSignature #'stencil = ##f
1895 %% These contexts have reference points at the baseline:
1896 %% ChordNames, NoteNames, and Lyrics
1898 \new ChordNames { \chords { g1:m } }
1899 \new NoteNames { s1 | g1 | }
1900 \new RhythmicStaff {
1901 \set RhythmicStaff.instrumentName = #"baseline "
1903 \labelContext "ChordNames" s1 |
1904 \labelContext "NoteNames" s1 |
1905 \labelContext "Lyrics" s1 |
1907 \new Lyrics { \lyrics { \skip 1*2 | ghijk1 | } }
1910 %% The reference point for Dynamics is its vertical center
1912 \new RhythmicStaff {
1913 \set RhythmicStaff.instrumentName = #"vertical center "
1914 \labelContext "Dynamics" s1*3
1916 \new Dynamics { s2\mp s\fp }
1919 %% The reference point for FiguredBass is its highest point
1921 \new RhythmicStaff {
1922 \set RhythmicStaff.instrumentName = #"highest point "
1923 \labelContext "FiguredBass" s1
1925 \new FiguredBass { \figuremode { <6 5>1 } }
1928 %% The reference point for FretBoards is the top line
1929 \include "predefined-guitar-fretboards.ly"
1931 \new FretBoards { \chordmode { e1 } }
1932 \new RhythmicStaff {
1933 \set RhythmicStaff.instrumentName = #"top line "
1934 \labelContext "FretBoards " s1
1939 Jeder der vertikalen Platzierungs-Grobeigenschaften (außer
1940 @code{staff-affinity}) wird in einer Aliste (assoziativen Liste)
1941 gespeichert und jeder benutzt die gleiche Alistenstruktur
1942 wie die @code{\paper}-Variablen, behandelt in
1943 @ref{Vertikale \paper-Variablen mit flexiblen Abständen}. Besondere
1944 Methoden um Alisten zu verändern finden sich in
1945 @ref{Alisten verändern}. Grob-Eigenschaften sollten mit
1946 dem @code{\override}-Befehle innerhalb einer @code{\score}-
1947 oder @code{\layout}-Umgebung angepasst werden, nicht innerhalb einer
1948 @code{\paper}-Umgebung.
1950 Das folgende Beispiel zeigt die beiden Arten, Alisten zu modifizieren.
1951 Der erste Aufruf verändert nur einen Schlüsselwert einzlen, während
1952 der zweite die Eigenschaft komplett neu definiert:
1956 \override VerticalAxisGroup #'default-staff-staff-spacing
1957 #'basic-distance = #10
1961 \override VerticalAxisGroup #'default-staff-staff-spacing =
1962 #'((basic-distance . 10)
1963 (minimum-distance . 9)
1965 (stretchability . 10))
1969 Um Platzierungseinstellungen global vorzunehmen, müssen sie in der
1970 @code{\layout}-Umgebung vorgenommen werden:
1976 \override VerticalAxisGroup #'default-staff-staff-spacing
1977 #'basic-distance = #10
1982 Standardeinstellungen für die vertikalen Platzierungs-Grobeigenscahften
1983 finden sich in @rinternals{VerticalAxisGroup} und
1984 @rinternals{StaffGrouper} aufgelistet. Standardveränderungen für bestimmte
1985 Typen von Nicht-Notensystemzeilen finden sich im relevanten Abschnitt in
1986 in @rinternals{Contexts} aufgelistet.
1989 @subsubheading Eigenschaften des @code{VerticalAxisGroup}-Grobs
1991 @code{VerticalAxisGroup}-Eigenschaften werden normalerweise mit einem
1992 @code{\override}-Befehl auf @code{Staff}-(Notensystem-)Ebene (oder
1993 entsprechend) vorgenommen.
1996 @item staff-staff-spacing
1997 System-System-Platzierung
1998 Der Abstand zwischen dem aktuellen Notensystem und dem Notensystem direkt darunter
1999 innerhalb derselben Systemgruppe, auch wenn eine oder mehrere
2000 Nicht-Notensystemzeilen (wie etwa @code{Lyrics}) dazwischen stehen.
2001 Bezieht sich nicht auf das unterste System einer Systemgruppe. Das
2002 ersetzt alle Einstellungen, die vom @code{StaffGrouper}-Grob der aktuellen
2003 Systemgruppe geerbt wurden, wenn solche vorliegen sollten. Wenn nicht
2004 gesetzt und keine anderen @code{StaffGrouper}-Eigenschaften geerbt
2005 werden können, wird die @code{default-staff-staff-spacing}-Eigenschaft benutzt.
2007 @item default-staff-staff-spacing
2008 Normale-System-System-Platzierung
2009 Die Einstlelungen, die für @code{staff-staff-spacing} benutzt werden,
2010 wenn die Eigenschaft nicht gesetzt ist. Das gilt für einzelne Systeme
2011 und Systemgruppen, die keine Einstellungen vom @code{StaffGrouper}-Grob
2014 @item staff-affinity
2016 Die Richtung des Systems, die benutzt wird, um die aktuelle
2017 Nicht-Notensystemzeile zu platzieren. Mögliche Werte sind
2018 @code{UP} (nach oben), @code{DOWN} (nach unten) und
2019 @code{CENTER} (mittig). Wenn @code{CENTER} wird die Nicht-Notensystemzeile
2020 vertikal mittig zwischen den beiden nächsten Systemen oben und unten
2021 platziert, außer Zusammenstöße und andere Platzierungsprobleme verhindern
2022 das. Aufeinanderfolgende Nicht-Notensystemzeilen sollten nicht-aufsteigende
2023 @code{staff-affinity} von oben nach unten haben; also ein Nicht-Notensystemzeile
2024 mit @code{UP} sollte nicht direkt auf eine mit @code{DOWN} folgen.
2025 Nicht-Notensystemzeilen über einem Notensystem sollten @code{DOWN}
2026 benutzen, unter einem Notensystem dagegen @code{UP}. Wenn
2027 @code{staff-affinity} für eine Notensystem eingestellt wird, wird es wie
2028 eine Nicht-Notensystemzeile behandelt. Wenn @code{staff-affinity}
2029 auf @code{#f} gesetzt wird, wird eine Nicht-Notensystemzeile wie ein
2030 Notensystem behandelt.
2032 @c TODO: verify last clause below ("even if other...")
2034 @item nonstaff-relatedstaff-spacing
2035 Nicht-Notensystem-verwandtesSystem-Platzierung
2036 Der Abstand zwischen der aktuellen Nicht-Notensystemzeile und
2037 dem nächsten Notensystem in der Richtung von @code{staff-affinity},
2038 wenn keine Nicht-Notensystemzeilen dazwischen auftreten und @code{staff-affinity}
2039 entweder @code{UP} oder @code{DOWN} ist. Wenn @code{staff-affinity}
2040 @code{CENTER} ist, dann wird @code{nonstaff-relatedstaff-spacing} für die
2041 nächsten Notensysteme auf @emph{beiden} Seiten benutzt, auch wenn andere
2042 Nicht-Notensystemzeilen zwischen der aktuellen und einem der Notensystem
2045 @item nonstaff-nonstaff-spacing
2046 Nicht-Notensystemzeile-Nicht-Notensystemzeile-Platzierung
2047 Der Abstand zwischen der aktuellen Nicht-Notensystemzeile und der
2048 Nicht-Notensystemzeile in der Richtung von @code{staff-affinity},
2049 wenn beide sich auf der gleichen Seite des verwandten Notensystems
2050 befinden und @code{staff-affinity} entweder @code{UP} oder @code{DOWN} ist.
2052 @item nonstaff-unrelatedstaff-spacing
2053 Nicht-Notensystemzeile-Nicht-verwandtesSystem-Platzierung
2054 Der Abstand zwischen der aktuellen Nicht-Notensystemzeile und
2055 dem Notensystem in der gegenüberliegenden Richtung von @code{staff-affinity},
2056 wenn keine anderen Nicht-Notensystemzeilen dazwischen auftreten und
2057 @code{staff-affinity} entweder @code{UP} oder @code{DOWN} ist. Das kann
2058 benutzt werden, um einen Minimalfüllabstand (padding) zwischen einer
2059 @code{Lyrics}-Gesangstextzeile und dem zugehörigen Notensystem zu verlangen.
2063 @subsubheading Eigenschaften des @code{StaffGrouper}-Grobs
2065 @code{StaffGrouper}-Eigenschaften werden normalerweise mit einem
2066 @code{\override}-Befehl auf @code{StaffGroup}-Ebene (oder
2067 entsprechend) eingestellt.
2070 @item staff-staff-spacing
2071 Notensystem-Notensystem-Abstand
2072 Der Abstand zwischen zwei aufeinanderfolgenden Notensystemen in
2073 der aktuellen @code{StaffGroup}. Die @code{staff-staff-spacing}-Eigenschaft
2074 eines des @code{VerticalAxisGroup}-Grob eines einzelnen Notensytems
2075 wird benutzt für alle Systeme in der Systemgruppe, die diese Eigenschaft
2076 gesetzt haben. Siehe auch @code{default-staff-staff-spacing}.
2078 @item staffgroup-staff-spacing
2079 Systemgruppe-System-Abstand
2080 Der Abstand zwischen dem letzten Notensystem der aktuellen @code{StaffGroup}
2081 und dem Notensystem dirket darunter in der selben Notensystemgruppe,
2082 auch wenn eine oder mehrere Nicht-Notensystemzeilen (wie etwa
2083 Gesangstext) zwischen den zwei Notensystemen vorkommen. Gilt nicht
2084 für das letzte Notensystem einer Systemgruppe. Die
2085 @code{staff-staff-spacing}-Eigenschaft des @code{VerticalAxisGroup}-Grobs
2086 individueller Notensysteme wird anstelle dessen für alle Notensysteme
2087 in der @code{StaffGroup} benutzt, die sie gesetzt haben. Siehe auch
2088 @code{default-staff-staff-spacing}.
2092 Installierte Dateien:
2093 @file{ly/engraver-init.ly},
2094 @file{scm/define-grobs.scm}.
2096 Referenz der Interna:
2097 @rinternals{Contexts},
2098 @rinternals{VerticalAxisGroup},
2099 @rinternals{StaffGrouper}.
2102 @node Abstände von nicht gruppierten Notensystemen
2103 @unnumberedsubsubsec Abstände von nicht gruppierten Notensystemen
2104 @translationof Spacing of ungrouped staves
2106 @emph{Notensysteme} (wie etwa @code{Staff}, @code{DrumStaff},
2107 @code{TabStaff} usw.) sind Kontexte, die eine oder mehrere Stimmen-Kontexte
2108 enthalten, aber keine anderen Notensysteme enthalten können.
2110 Folgende Eigenschaften beeinflussen die Abstände von @emph{nicht gruppierten}
2114 @item @code{VerticalAxisGroup}-Eigenschaften:
2116 @item @code{staff-staff-spacing}
2120 Diese Eigenschaften sind einzlen oben behandelt worden, siehe
2121 @ref{Eigenschaften für Abstände innerhalb von Systemgruppen}.
2123 Zusätzliche Eigenschaften kommen hinzu für Notensysteme, die Teil
2124 einer Gruppieren (@code{StaffGroup}) werden, siehe
2125 @ref{Abstände von gruppierten Notensystemen}.
2127 Folgendes Beispiel zeigt, wie die @code{staff-staff-spacing}-Eigenschaft
2128 sich auf die Platzierung von nicht-gruppierten Notensystemen auswirken kann:
2130 @lilypond[verbatim,quote,staffsize=16]
2134 \override VerticalAxisGroup #'staff-staff-spacing =
2135 #'((basic-distance . 8)
2136 (minimum-distance . 7)
2142 % The very low note here needs more room than 'basic-distance
2143 % can provide, so the distance between this staff and the next
2144 % is determined by 'padding.
2145 \new Staff { b,2 r | }
2147 % Here, 'basic-distance provides enough room, and there is no
2148 % need to compress the space (towards 'minimum-distance) to make
2149 % room for anything else on the page, so the distance between
2150 % this staff and the next is determined by 'basic-distance.
2151 \new Staff { \clef bass g2 r | }
2153 % By setting 'padding to a negative value, staves can be made to
2154 % collide. The lowest acceptable value for 'basic-distance is 0.
2156 \override VerticalAxisGroup #'staff-staff-spacing =
2157 #'((basic-distance . 3.5)
2159 } { \clef bass g2 r | }
2160 \new Staff { \clef bass g2 r | }
2165 Installierte Dateien:
2166 @file{scm/define-grobs.scm}.
2171 Referenz der Interna:
2172 @rinternals{VerticalAxisGroup}.
2175 @node Abstände von gruppierten Notensystemen
2176 @unnumberedsubsubsec Abstände von gruppierten Notensystemen
2177 @translationof Spacing of grouped staves
2179 In Orchesterpartituren und anderen großen Partituren werden Notensysteme
2180 normalerweise in Gruppen zusammengefasst. Der Platz zwischen Gruppen
2181 ist normalerweise größer als der Zwischenraum zwischen einzlenen
2182 Notensystemen der gleichen Gruppe.
2184 @emph{Gruppierte Notensysteme} (wie @code{StaffGroup}, @code{ChoirStaff},
2185 @code{GrandStaff} usw.) sind Kontexte, die mehr als ein Notensystem
2186 gleichzeitig enthalten können.
2188 Folgende Eigenschaften beeinflussen die Platzierung von Notensystemen
2189 innerhalb von Gruppen:
2192 @item @code{VerticalAxisGroup}-Eigenschaften:
2194 @item @code{staff-staff-spacing}
2195 @item @code{default-staff-staff-spacing}
2197 @item @code{StaffGrouper}-Eigenschaften:
2199 @item @code{staff-staff-spacing}
2200 @item @code{staffgroup-staff-spacing}
2204 Diese Grob-Eigenschaften sind weiter oben einzeln beschrieben, siehe
2205 @ref{Eigenschaften für Abstände innerhalb von Systemgruppen}.
2207 Das folgende Beispiel zeigt, wie Eigenscchaften des
2208 @code{StaffGrouper}-Grobs die Platzierung von gruppierten Notensystemen
2211 @lilypond[verbatim,quote,staffsize=16]
2215 \override StaffGrouper #'staff-staff-spacing #'padding = #0
2216 \override StaffGrouper #'staff-staff-spacing #'basic-distance = #1
2221 \new PianoStaff \with {
2222 \override StaffGrouper #'staffgroup-staff-spacing #'basic-distance = #20
2236 Installierte Dateien:
2237 @file{scm/define-grobs.scm}.
2242 Referenz der Interna:
2243 @rinternals{VerticalAxisGroup},
2244 @rinternals{StaffGrouper}.
2247 @node Abstände von nicht-Notensystemzeilen
2248 @unnumberedsubsubsec Abstände von nicht-Notensystemzeilen
2249 @translationof Spacing of non-staff lines
2251 @emph{Nicht-Notensystemzeilen} (wie @code{Lyrics}, @code{ChordNames}
2252 usw.) sind Kontexte, deren Layoutobjekte wie Notensysteme gesetzt
2253 werden (also als horizontale Zeilen zwischen Notensystemen). Genau
2254 gesagt sind Nicht-Notensystemzeilen Nicht-Notensystemkontexte, die
2255 ein @code{VerticalAxisGroup}-Layoutobjekt erstellen.
2257 Folgende Eigenschaften beeinflussen die Abstände von Nicht-Notensystemzeilen:
2260 @item @code{VerticalAxisGroup}-Eigenschaften:
2262 @item @code{staff-affinity}
2263 @item @code{nonstaff-relatedstaff-spacing}
2264 @item @code{nonstaff-nonstaff-spacing}
2265 @item @code{nonstaff-unrelatedstaff-spacing}
2269 Diese Grob-Eigenschaften sind weiter oben einzlen beschrieben; siehe
2270 @ref{Eigenschaften für Abstände innerhalb von Systemgruppen}.
2272 Das folgende Beispiel zeigt, wie die @code{nonstaff-nonstaff-spacing}-Eigenschaft
2273 die Platzierung von aufeinanderfolgenden Nicht-Notensystemzeilen beeinflussen
2274 kann. Indem hier der Wert von @code{stretchability} auf einen sehr hohen Wert
2275 gesetzt wird, kann der Gesangstext sehr viel weiter als normal gespreizt
2278 @lilypond[verbatim,quote,staffsize=16]
2282 \override VerticalAxisGroup
2283 #'nonstaff-nonstaff-spacing #'stretchability = #1000
2290 \override VerticalAxisGroup #'staff-staff-spacing = #'((basic-distance . 30))
2293 \override VerticalAxisGroup #'staff-affinity = #UP
2296 \override VerticalAxisGroup #'staff-affinity = #CENTER
2297 } \lyricmode { center }
2299 \override VerticalAxisGroup #'staff-affinity = #DOWN
2300 } \lyricmode { down }
2307 Installierte Dateien:
2308 @file{ly/engraver-init.ly},
2309 @file{scm/define-grobs.scm}.
2314 @c @lsr{spacing,page-spacing.ly},
2315 @c @lsr{spacing,alignment-vertical-spacing.ly}.
2317 Referenz der Interna:
2318 @rinternals{Contexts},
2319 @rinternals{VerticalAxisGroup}.
2329 @node Explizite Positionierung von Systemen
2330 @subsection Explizite Positionierung von Systemen
2331 @translationof Explicit staff and system positioning
2333 Man kann die flexiblen Einstellungen der vertikalen Abstände, wie sie im
2335 erklärt wurden, als eine Sammlung verschiedenerer Einstellmöglichkeiten
2336 verstehen, die vor allem die Größe des vertikalen Platzes zwischen
2337 Notensystemen und Gruppen auf der Seite kontrollieren.
2339 Die vertikale Platzverteilung kann aber auch auf andere Weise
2340 eingestellt werden: mit den Optionen von
2341 @code{NonMusicalPaperColumn #'line-break-system-details}. Während
2342 der flexible vertikale Abstandsmechanismus vertikalen Füllplatz
2343 definiert, werden mit
2344 @code{NonMusicalPaperColumn #'line-break-system-details} absolute vertikale
2345 Positionen auf der Seite festgelegt.
2347 @code{NonMusicalPaperColumn #'line-break-system-details} akzeptiert eine
2348 Liste aus drei unterschiedlichen Einstellungen:
2351 @item @code{X-offset}
2352 @item @code{Y-offset}
2353 @item @code{alignment-distances}
2356 Veränderungen von Grobs (wozu auch @code{NonMusicalPaperColumn} gehört),
2357 können an drei unterschiedlichen Stellen in der Quelldatei vorgenommen
2361 @item mitten im Notentext
2362 @item in einer @code{\context}-Umgebung
2363 @item in einer @code{\with}-Umgebung
2366 Wenn der Grob @code{NonMusicalPaperColumn} verändert werden soll,
2367 wird der @code{\override}-Befehl in der @code{\context} oder
2368 @code{\with}-Umgebung eingesetzt. Wenn die Veränderungen aber
2369 mitten im Notentext stattfinden sollen, müssen Sie den Befehl
2370 @code{\overrideProperty} einsetzen. Einige Beispiele für eine
2371 Veränderungen von @code{NonMusicalPaperColumn} mit dem
2372 @code{\overrideProperty}-Befehl sind hier aufgelistet:
2375 \overrideProperty NonMusicalPaperColumn
2376 #'line-break-system-details #'((X-offset . 20))
2378 \overrideProperty NonMusicalPaperColumn
2379 #'line-break-system-details #'((Y-offset . 40))
2381 \overrideProperty NonMusicalPaperColumn
2382 #'line-break-system-details #'((X-offset . 20)
2385 \overrideProperty NonMusicalPaperColumn
2386 #'line-break-system-details #'((alignment-distances . (15)))
2388 \overrideProperty NonMusicalPaperColumn
2389 #'line-break-system-details #'((X-offset . 20)
2391 (alignment-distances . (15)))
2394 Um zu verstehen, wie jede dieser unterschiedlichen Einstellungen
2395 funktioniert, wollen wir uns ein Beispiel vornehmen, dass überhaupt
2396 keine Einstellungen (d.h. @code{\override}-Befehle) enthält:
2398 @c \book { } is required in these examples to ensure the spacing
2399 @c overrides can be seen between systems. -np
2401 @lilypond[verbatim,quote,staffsize=16]
2402 \header { tagline = ##f }
2403 \paper { left-margin = 0\mm }
2413 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2416 \repeat unfold 15 { d'4 d' d' d' }
2423 Diese Partitur nimmt Zeilen- und Seitenumbruchinformationen in einer
2424 eigenen Stimme vor. Mit dieser Methode kann die Layout-Information
2425 einfach von den Noten getrennt werden, was sehr hilfreich ist, wenn
2426 das Beispiel komplizierter wird. Siehe auch
2427 @ref{Eine zusätzliche Stimme für Umbrüche benutzen}.
2429 Ausdrückliche @code{\break}-Befehle teilen die Noten in sechs Takte
2430 lange Zeilen. Die vertikale Platzverteilung wird von LilyPond
2431 errechnet. Um den vertikalen Beginn einer jeden Systemgruppe
2432 genau anzugeben, kann @code{Y-offset} in der
2433 @code{line-break-system-details}-Eigenschaft des
2434 @code{NonMusicalPaperColumn}-Grobs wie in dem Beispiel
2435 ersichtlich benutzt werden:
2437 @lilypond[verbatim,quote,staffsize=16]
2438 \header { tagline = ##f }
2439 \paper { left-margin = 0\mm }
2445 \overrideProperty #"Score.NonMusicalPaperColumn"
2446 #'line-break-system-details #'((Y-offset . 0))
2448 \overrideProperty #"Score.NonMusicalPaperColumn"
2449 #'line-break-system-details #'((Y-offset . 40))
2451 \overrideProperty #"Score.NonMusicalPaperColumn"
2452 #'line-break-system-details #'((Y-offset . 80))
2455 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2458 \repeat unfold 15 { d'4 d' d' d' }
2465 In der @code{line-break-system-details}-Eigenschaft kann eine Liste
2466 mit vielen Einstellungen eingegeben werden, aber hier wird nur eine
2467 Einstellung angegeben. Die @code{Y-offset}-Eigenschaft bestimmt
2468 hier die exakte vertikale Position auf der Seite, an welcher jede
2469 neue Systemgruppe begonnen wird.
2471 Da jetzt der exakte Beginn einer jeden Systemgruppe explizit festgelegt wurde,
2472 können wir auch den exakten Beginn eines jeden Notensystems in der
2473 Gruppe festlegen. Dies geschieht mit der @code{alignment-distances}-Eigenschaft
2474 von @code{line-break-system-details}.
2476 @lilypond[verbatim,quote,staffsize=16]
2477 \header { tagline = ##f }
2478 \paper { left-margin = 0\mm }
2484 \overrideProperty #"Score.NonMusicalPaperColumn"
2485 #'line-break-system-details #'((Y-offset . 20)
2486 (alignment-distances . (15)))
2488 \overrideProperty #"Score.NonMusicalPaperColumn"
2489 #'line-break-system-details #'((Y-offset . 60)
2490 (alignment-distances . (15)))
2492 \overrideProperty #"Score.NonMusicalPaperColumn"
2493 #'line-break-system-details #'((Y-offset . 100)
2494 (alignment-distances . (15)))
2497 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2500 \repeat unfold 15 { d'4 d' d' d' }
2507 Dem @code{line-break-system-details}-Attribut des
2508 @code{NonMusicalPaperColumn}-Grobs werden zwei unterschiedliche Eigenschaften
2509 zugewiesen. Auch wenn die Aliste der Attribute von
2510 @code{line-break-system-details} sehr viel mehr Platzierungsparameter
2511 akzeptiert (wie etwa ein korrespondierendes @code{X-offset}-Paar), müssen
2512 hier nur die Parameter @code{Y-offset} und
2513 @code{alignment-distances} gesetzt werden, um den vertikalen Beginn
2514 jedes Systems und jeder Systemgruppe zu kontrollieren. @code{Y-offset}
2515 bestimmt also die vertikale Position von Systemgruppen und @code{alignment-distances}
2516 die vertikale Position von einzelnen Notensystemen.
2518 @lilypond[verbatim,quote,staffsize=16]
2519 \header { tagline = ##f }
2520 \paper { left-margin = 0\mm }
2526 \overrideProperty #"Score.NonMusicalPaperColumn"
2527 #'line-break-system-details #'((Y-offset . 0)
2528 (alignment-distances . (30 10)))
2530 \overrideProperty #"Score.NonMusicalPaperColumn"
2531 #'line-break-system-details #'((Y-offset . 60)
2532 (alignment-distances . (10 10)))
2534 \overrideProperty #"Score.NonMusicalPaperColumn"
2535 #'line-break-system-details #'((Y-offset . 100)
2536 (alignment-distances . (10 30)))
2539 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2542 \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
2543 \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
2550 Einige Dinge sollten beachtet werden:
2553 @item Wenn @code{alignment-distances} benutzt wird, werden Gesangtextzeilen
2554 nicht als ein System gezählt.
2556 @item Die Einheiten der Zahlen, die für @code{X-offset},
2557 @code{Y-offset} und @code{alignment-distances} benutzt werden, werden als
2558 Vielfaches des Abstandes zwischen zwei Notenlinien gewertet. Positive
2559 Werte verschieben Systeme und Gesangstext nach oben, negative Werte nach
2562 @item Weil die Einstellungen von @code{NonMusicalPaperColumn #'line-break-system-details}
2563 es möglich machen, Notensysteme und Gruppen an beliebigen Stellen auf der
2564 Seite zu platzieren, kann man damit auch Ränder überschreiben oder sogar
2565 Notensysteme übereinander platzieren. Sinnvolle Werte für diese
2566 Parameter werden derartiges Verhalten vermeiden.
2575 @node Vermeidung von vertikalen Zusammenstößen
2576 @subsection Vermeidung von vertikalen Zusammenstößen
2577 @translationof Vertical collision avoidance
2579 @cindex Vermeidung von vertikalen Zusammenstößen
2580 @cindex Zusammenstöße, vertikal, vermeiden
2581 @cindex vertikale Zusammenstöße, vermeiden
2582 @cindex Kollisionen, vertikal, vermeiden
2584 @funindex outside-staff-priority
2585 @funindex outside-staff-padding
2586 @funindex outside-staff-horizontal-padding
2588 Intuitiv gibt es in der Notation einige Objekte, die zu dem Notensystem
2589 gehören, und einige andere, die immer außerhalb des Notensystems
2590 positioniert werden sollten. Zu diesen letzteren gehören etwa
2591 Übungszeichen, Textbeschriftung und Dynamikbezeichnung (die als
2592 Objekte außerhalb des Systems bezeichnet werden können). LilyPonds
2593 Regeln um diese Objekte zu positionieren lautet: so nah am Notensystem
2594 wie möglich, aber gerade so weit weg, dass sie nicht mit anderen
2595 Objekten zusammenstoßen.
2597 Dabei setzt LilyPond die @code{outside-staff-priority}-Eigenschaft
2598 ein um herauszufinden, ob ein Grob ein Objekt außerhalb des Systems
2599 ist: wenn @code{outside-staff-priority} eine Zahl ist, dann handelt
2600 es sich um ein Objekt außerhalb des Systems. Zusätzlich teilt
2601 @code{outside-staff-priority} noch mit, in welcher Reihenfolge
2602 die Objekte außerhalb des Systems gesetzt werden sollen.
2604 Zuerst werden alle Objekte gesetzt, die nicht außerhalb des Systems
2605 gehören. Dann werden die Objekte außerhalb des Systems nach dem Wert
2606 ihrer @code{outside-staff-priority} (in aufsteigender Anordnung)
2607 sortiert. Eins nach dem anderen werden diese Objekte schließlich
2608 genommen und so platziert, dass sie nicht mit den Objekten zusammenstoßen,
2609 die bereits platziert worden sind. Wenn also zwei Objekte außerhalb
2610 des Systems um den gleichen Platz streiten, wird das mit dem
2611 geringeren Wert von @code{outside-staff-priority} näher an das
2612 entsprechende Notensystem gesetzt.
2614 @lilypond[quote,ragged-right,relative=2,verbatim]
2617 \once \override TextScript #'outside-staff-priority = #1
2618 c4_"Text"\pp % this time the text will be closer to the staff
2620 % by setting outside-staff-priority to a non-number,
2621 % we disable the automatic collision avoidance
2622 \once \override TextScript #'outside-staff-priority = ##f
2623 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
2624 c4_"Text"\pp % now they will collide
2627 Der Platz, der zwischen einem Objekt außerhalb des Systems und
2628 dem vorhergehenden Objekt eingefügt werden kann (auch als
2629 padding bezeichnet), kann durch @code{outside-staff-padding}
2630 kontrolliert werden.
2632 @lilypond[quote,ragged-right,relative=2,verbatim]
2633 \once \override TextScript #'outside-staff-padding = #0
2634 a'^"This text is placed very close to the note"
2635 \once \override TextScript #'outside-staff-padding = #3
2636 c^"This text is padded away from the previous text"
2637 c^"This text is placed close to the previous text"
2640 Standardmäßig werden Objekte außerhalb des Systems so gesetzt,
2641 dass sie eine horizontale Überschneidung mit einem der
2642 vorher gesetzten Grobs vermeiden. Das kann zu Situationen
2643 führen, in denen Objekte sehr dicht nebeneinander gesetzt
2644 werden. Der vertikale Platz zwischen Notensystemen kann
2645 auch gesetzt werden, sodass Objekte außerhalb des Systems
2646 ineinander greifen. Mit der Eigenschaft
2647 @code{outside-staff-horizontal-padding} können Objekte vertikal
2648 verschoben werden und derartige Situationen kommen nicht
2651 @lilypond[quote,ragged-right,relative=2,verbatim]
2652 % the markup is too close to the following note
2656 % setting outside-staff-horizontal-padding fixes this
2658 \once \override TextScript #'outside-staff-horizontal-padding = #1
2669 @node Horizontale Abstände
2670 @section Horizontale Abstände
2671 @translationof Horizontal spacing
2673 @cindex horizontale Platzierung
2674 @cindex horizontale Anordnung
2675 @cindex Anordnung, horizontal
2678 * Überblick über horizontale Abstände::
2679 * Eine neuer Bereich mit anderen Abständen::
2680 * Horizontale Abstände verändern::
2682 * Proportionale Notation::
2686 @node Überblick über horizontale Abstände
2687 @subsection Überblick über horizontale Abstände
2688 @translationof Horizontal spacing overview
2690 Die Setzmaschine interpretiert unterschiedliche Notendauern als
2691 dehnbare Abstände (engl. spring) unterschiedlicher Länge. Längere
2692 Dauern erhalten mehr Platz, kürzere weniger. Die kürzeste Dauer
2693 erhält eine feste Breite (die mit @code{shortest-duration-space}
2694 im @code{SpacingSpanner}-Objekt kontrolliert werden kann). Je
2695 länger die Dauer, umso mehr Platz erhält die Note: wenn ihre
2696 Dauer verdoppelt wird, wird ein bestimmter Platz hinzugefügt
2697 (dessen Breite durch @code{spacing-increment} bestimmt werden
2700 Das folgende Stück beispielsweise enthält Halbe, Viertel und Achtel.
2701 Die Achtelnote wird gefolgt von einem Notenkopfabstand (NKA). Die
2702 Viertel wird von 2 NKA gefolgt, die Halbe von 3 NKA usw.
2704 @lilypond[quote,fragment,verbatim,relative=1]
2705 c2 c4. c8 c4. c8 c4. c8 c8
2709 Normalerweise ist @code{spacing-increment} definiert als 1.2 mal
2710 der Abstand zwischen zwei Notenlinien, was in etwa die Breite eines
2711 Notenkopfes ist. @code{shortest-duration-space} ist definiert als
2712 2.0, was bedeutet, dass die kürzeste Note 2.4 Notenlinienabstände
2713 2.0 mal der Wert von @code{spacing-increment}) horizontalen
2714 Abstand erhält. Der Abstand wird von der linken Kante des Symbols
2715 errechnet, so dass die kürzeste Note üblicherweise von 1 NKA
2716 Abstand gefolgt wird.
2718 Wenn diese Herangehensweise konsequent angewandt würde, würde eine
2719 einzige Zweiunddreißigstel eine Partitur, in der vor allem Achtel und
2720 Sechzehntel vorkommen, sehr weit auseinanderdehnen. Die kürzeste
2721 Note wäre nun keine Sechzehntel mehr, sondern eine Zweiunddreißigstel,
2722 wodurch an jede Note der Wert von 1 NKA hinzugefügt würde. Um das
2723 zu vermeiden, ist die kürzeste Dauer für die Platzverteilung nicht die
2724 kürzeste Note einer Partitur, sondern die, die am häufigsten vorkommt.
2726 Die Notendauer, die am häufigsten vorkommt, wird auf folgende
2727 Weise bestimmt: in jedem Takt wird die kürzeste Note bestimmt. Die
2728 häufigste kürzeste Note wird dann als Grundlage für die Platzverteilung
2729 der Noten herangezogen, mit der Bedingung, dass diese kürzeste
2730 Note immer ein Achtel oder kürzer sein soll. Die kürzeste Dauer
2731 wird ausgegeben, wenn @code{lilypond} mit der Option @code{--verbose}
2734 Diese Dauern können aber auch angepasst werden. Wenn Sie die Eigenschaft
2735 @code{common-shortest-duration} in dem @code{SpacingSpanner} setzen,
2736 dann wird hiermit die Grunddauer für die Platzverteilung eingestellt.
2737 Die maximale Dauer für diesen Grundwert (normalerweise eine Achtel)
2738 wird definiert mit @code{base-shortest-duration}.
2740 @funindex common-shortest-duration
2741 @funindex base-shortest-duration
2742 @funindex stem-spacing-correction
2745 Noten, die noch kürzer sind als die häufigste kürzeste Note, werden
2746 durch einen Platz voneinander getrennt, der proportional zu ihrer
2747 Dauer in Beziehung zur häufigsten kürzesten Note ist. Wenn also
2748 nur ein paar Sechzehntel zu dem obigen Beispiel hinzugefügt werden,
2749 würden sie von 1/2 NKA gefolgt werden:
2751 @lilypond[quote,fragment,verbatim,relative=2]
2752 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
2755 In dem @emph{Aufsatz zum automatisierten Notensatz} wurde erklärt, dass die
2756 Richtung der Notenhälse die Platzverteilung beeinflusst (siehe
2757 @ressay{Optischer Ausgleich}). Das wird
2758 kontrolliert durch die @code{stem-spacing-correction}-Eigenschaft
2759 in dem @code{NoteSpacing}-Objekt. Dieses Objekt wird für jeden
2760 @code{Voice}-Kontext erstellt. Das @code{StaffSpacing}-Objekt (in
2761 einem @code{Staff}-Kontext erstellt) enthält die gleiche Eigenschaft,
2762 um die Verteilung von Hälsen neben Taktlinien zu kontrollieren. In
2763 dem folgenden Beispiel werden diese Einstellungen gezeigt, einmal
2764 mit den Standardwerten und dann mit größeren Werten, damit man sie
2767 @lilypond[quote,ragged-right]
2771 \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
2772 \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
2778 Proportionale Notation ist unterstützt, siehe @ref{Proportionale Notation}.
2784 Referenz der Interna:
2785 @rinternals{SpacingSpanner},
2786 @rinternals{NoteSpacing},
2787 @rinternals{StaffSpacing},
2788 @rinternals{NonMusicalPaperColumn}.
2790 Aufsatz über den automatischen Notensatz:
2791 @ressay{Optischer Ausgleich}.
2795 Es gibt keine sinnvolle Möglichkeit, die horizontale Verteilung der
2796 Noten zu unterdrücken. Die folgende Problemumgehung, mit der
2797 dehnbare Abstände (padding) eingesetzt werden, kann benutzt
2798 werden, um zusätzlichen Platz in eine Partitur einzufügen.
2801 \once \override Score.SeparationItem #'padding = #10
2804 Es gibt derzeit keine Möglichkeit, den Platz zu verringern.
2807 @node Eine neuer Bereich mit anderen Abständen
2808 @subsection Eine neuer Bereich mit anderen Abständen
2809 @translationof New spacing area
2811 @cindex horizontale Notenabstände, Abschnitte definierten
2812 @cindex Notenabstände, Abschnitte definieren
2813 @cindex Abschnitte definieren, Notenabstände
2815 Neue Abschnitte mit unterschiedlichen Notenabstandsparametern
2816 können mit dem Befehl @code{newSpacingSection} begonnen werden.
2817 Das ist hilfreich, wenn in verschiedenen Abschnitten die
2818 Verhältnisse von kurzen und langen Noten sehr unterschiedlich
2821 Im folgenden Beispiel wird durch die neue Taktart ein neuer
2822 Abschnitt begonnen, in dem die Sechzehntel weiter außeinander
2823 gesetzt werden sollen.
2825 @lilypond[relative,fragment,verbatim,quote]
2828 c8 c c4 c16[ c c8] c4
2834 Der @code{\newSpacingSection}-Befehl erstellt ein neues
2835 @code{SpacingSpanner}-Objekt, weshalb auch neue Anpassungen
2836 mit dem @code{\override}-Befehl an dieser Stelle eingesetzt
2843 Referenz der Interna:
2844 @rinternals{SpacingSpanner}.
2847 @node Horizontale Abstände verändern
2848 @subsection Horizontale Abstände verändern
2849 @translationof Changing horizontal spacing
2851 @cindex Notenabstände, horizontal
2852 @cindex horizontale Abstände
2853 @cindex horizontale Notenabstände
2855 Die horizontalen Abstände können mit der
2856 @code{base-shortest-duration}-Eigenschaft
2857 verändert werden. In den folgenden Beispielen
2858 werden die gleichen Noten eingesetzt, zuerst
2859 ohne die Eigenschaft zu verändern, im zweiten
2860 Beispiel dann mit einem anderen Wert. Größere
2861 Werte für @code{ly:make-moment} ergeben dichtere
2862 Noten. @code{ly:make-moment} erstellt eine Dauer,
2863 die als Bruch notiert wird, sodass @code{1 4}
2864 eine größere Dauer ist als @code{1 16}.
2866 @lilypond[verbatim,line-width=12\cm]
2869 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2870 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2871 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2872 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2877 @lilypond[verbatim,line-width=12\cm]
2880 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2881 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2882 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2883 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2888 \override SpacingSpanner
2889 #'base-shortest-duration = #(ly:make-moment 1 16)
2898 Standardmäßig wird die Platzverteilung in Triolen und andern
2899 rhythmischen Aufteilungen nach verschiedenen nicht von der
2900 Dauer abgeleiteten Faktoren (wie Versetzungszeichen,
2901 Schlüsselwechseln usw.) berechnet. Um diese Symbole zu
2902 ignorieren und eine gleichmäßige Verteilung der Noten
2903 zu erzwingen, kann die gleichmäßige Dehnung (engl.
2904 uniform stretching) zu Beginn einer Partitur
2905 mit @code{Score.SpacingSpanner #'uniform-stretching} eingeschaltet
2908 @lilypond[quote,ragged-right,verbatim]
2927 \override SpacingSpanner #'uniform-stretching = ##t
2933 Wenn @code{strict-note-spacing} eingestellt ist, werden Noten
2934 gesetzt, ohne dass Schlüssel, Taktlinie oder Verzierungsnoten
2935 zusätzlichen Platz erhalten.
2937 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
2938 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2939 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
2949 @subsection Zeilenlänge
2950 @translationof Line length
2952 @cindex Seitenumbrüche
2953 @cindex Umbrechen von Seiten
2955 @cindex Länge von Zeilen
2958 @funindex line-width
2959 @funindex ragged-right
2960 @funindex ragged-last
2962 @c Although line-width can be set in \layout, it should be set in paper
2963 @c block, to get page layout right.
2964 @c Setting indent in \paper block makes not much sense, but it works.
2966 @c Bit verbose and vague, use examples?
2967 Die grundlegenden Einstellungen, die Einfluss auf die Zeilenlänge
2968 haben, sind @code{indent} (Einzug) und @code{line-width}
2969 (Zeilenbreite). Sie werden in der @code{\layout}-Umgebung
2970 eingestellt. Der erste Befehl bestimmt den Einzug der ersten
2971 Zeile, der zweite die Zeilenlänge der weiteren Notenzeilen.
2973 Wenn @code{ragged-right} eingestellt ist (als in der
2974 @code{\layout}-Umgebung auf den Wert @code{#t} gesetzt wurde),
2975 werden die Systeme linksbündig gesetzt und nicht bis zum
2976 rechten Rand hin durchgezogen, sondern den Noten entsprechend
2977 gesetzt. Das ist oftmals nützlich für kleine Notenfragmente
2978 und um zu überprüfen, wie eng die Noten natürlicherweise
2979 gesetzt werden würden. Die normale Einstellung ist unwahr
2980 (@code{#f}), aber wenn eine Partitur nur aus einer Zeile besteht,
2981 ist der Standardwert wahr.
2983 Die Option @code{ragged-last} verhält sich ähnlich zu @code{ragged-right},
2984 aber wirkt sich nur auf die letzte Zeile eines Stückes aus.
2985 Für diese letzte Zeile gibt es keine Einschränkungen. Das
2986 Resultat erinnert an Textabsätze im Blocksatz, wo die letzte
2987 Zeile des Absatzes mit ihrer natürlichen Länge gesetzt wird.
2988 @c Note that for text there are several options for the last line.
2989 @c While Knuth TeX uses natural length, lead typesetters use the same
2990 @c stretch as the previous line. eTeX uses \lastlinefit to
2991 @c interpolate between both these solutions.
3006 @node Proportionale Notation
3007 @subsection Proportionale Notation
3008 @translationof Proportional notation
3010 LilyPond hat Unterstützung für proportionale Notation. Dabei handelt
3011 es sich um eine horizontale Platzverteilung, die jeder Note einen
3012 exakt ihrer Dauer entsprechenden Platz zuordnet. Man kann es vergleichen
3013 mit der Notenplatzierung auf einem Raster. In einigen Partituren
3014 des späten 20. und frühen 21. Jahrhunderts wird dies proportionale
3015 Notation benutzt, um sehr komplizierte rhythmische Verhältnisse
3016 klarer darzustellen, oder um einen Zeitstrahl oder ähnliche Graphiken
3017 direkt in die Partitur zu integrieren.
3019 LilyPond hat Unterstützung für fünf verschiedene Einstellungen der
3020 proportionalen Notation, die alle zusammen oder jede für sich
3021 benutzt werden können:
3024 @item @code{proportionalNotationDuration} (proportionale Notendauer)
3025 @item @code{uniform-stretching} (gleichmäßige Dehnung)
3026 @item @code{strict-note-spacing} (strenge Notenverteilung)
3027 @item @code{\remove Separating_line_group_engraver} (entferne Liniengruppentrennungsengraver)
3028 @item @code{\override PaperColumn #'used = ##t} (PapierSpalte benutzt = wahr)
3031 In den Beispielen unten werden diese fünf unterschiedlichen Einstellungen
3032 für die proportionale Notation vorgestellt und ihre Wirkungen
3033 untereinander illustriert.
3035 Es soll mit diesem 1 Takt langen Beispiel begonnen werden, in welchem
3036 die klassischen Abstände und Flattersatz (ragged-right) eingesetzt werden:
3038 @lilypond[quote,verbatim,ragged-right]
3041 \new RhythmicStaff {
3045 c'16 c'16 c'16 c'16 c'16
3052 Die Halbe, mit der der Takt beginnt, braucht weitaus weniger
3053 Platz als die Hälfte des Taktes. Gleichermaßen haben die
3054 Sechzehntel und die Sechzehntel-Quintolen (oder Zwanzigstel),
3055 mit denen der Takt endet, insgesamt weitaus mehr als die Hälfte
3058 Im klassischen Notensatz kann dieses Verhalten genau das gewünschte
3059 Ergebnis bringen, weil dadurch horizontaler Platz von der Halben
3060 weggenommen werden kann und so insgesamt Platz in dem Takt eingespart
3063 Wenn allerdings ein Zeitstrahl oder andere zeitliche ablaufende
3064 Graphiken über oder unter dem Takt eingefügt werden soll, braucht man
3065 eine Notenplatzierung, die exakt der von ihnen eingenommenen Dauer
3066 entspricht. Auf folgende Art wird die proportionale Notation
3069 @lilypond[quote,verbatim,ragged-right]
3072 \new RhythmicStaff {
3076 c'16 c'16 c'16 c'16 c'16
3083 proportionalNotationDuration = #(ly:make-moment 1 20)
3089 Die Halbe zu Beginn des Taktes und die schnelleren Noten in der zweiten
3090 Takthälfte nehmen jetzt genau den gleichen horizontalen Platz ein. Jetzt
3091 könnte man einen Zeitstrahl mit dem Takt synchronisieren.
3093 Die Einstellung von @code{proportionalNotationDuration} gehört zum
3094 @code{Score}-Kontext. Kontexteinstellungen können an drei verschiedenen
3095 Stellen in der Quelldatei geschrieben werden: in einer @code{\with}-Umgebung,
3096 in einer @code{\context}-Umgebung oder direkt in den Noten mit dem
3097 @code{\set}-Befehl. Alle drei Positionen sind gleichwertig und es hängt
3098 vom Benutzer ab, welche bevorzugt wird.
3100 Die Eigenschaft @code{proportionalNotationDuration} braucht ein Argument,
3101 welches die Referenzdauer ist, anhand welcher alle Noten platziert werden.
3102 Hier wird die LilyPond Scheme-Funktion @code{make-moment} eingesetzt. Sie
3103 braucht zwei Argumente: einen Zähler und einen Nenner, die einen Bruch einer
3104 Ganzen darstellen. Die Funktion @code{#(ly:make-moment 1 20)} ergibt also
3105 eine Referenzdauer von einer Zwanzigstel. Genauso gut können etwa die Dauern
3106 @code{#(ly:make-moment 1 16)}, @code{#(ly:make-moment 1 8)} oder
3107 @code{#(ly:make-moment 3 97)} eingesetzt werden.
3109 Die richtige Referenzdauer, mit der eine vernünftige Verteilung der Noten
3110 proportional möglich ist, muss durch Ausprobieren herausgefunden werden.
3111 Dabei sollte man mit einer Dauer beginnen, die der kleinsten Note des
3112 Stückes nahekommt. Kleine Referenzdauern lassen die Noten sehr gedehnt
3113 erscheinen, größere Referenzdauern zwingen sie dichter zusammen.
3115 @lilypond[quote,verbatim,ragged-right]
3118 \new RhythmicStaff {
3122 c'16 c'16 c'16 c'16 c'16
3129 proportionalNotationDuration = #(ly:make-moment 1 8)
3136 \new RhythmicStaff {
3140 c'16 c'16 c'16 c'16 c'16
3147 proportionalNotationDuration = #(ly:make-moment 1 16)
3154 \new RhythmicStaff {
3158 c'16 c'16 c'16 c'16 c'16
3165 proportionalNotationDuration = #(ly:make-moment 1 32)
3171 Man muss beachten, dass die Referenzdauer nicht zu groß ist
3172 (wie die Achtel in dem Beispiel oben), denn dadurch werden
3173 die Noten so dicht gesetzt, dass sich eventuell sogar Notenköpfe
3174 von sehr kleinen Notenwerten überschneiden können. Die proportionale
3175 Notation nimmt üblicherweise mehr Platz ein als die klassische
3176 Platzverteilung. Der rhythmischen Klarheit muss ein eng gesetztes
3177 Notenbild geopfert werden.
3179 In Folgenden soll betrachtet werden, wie sich überlappende
3180 rhythmische Aufteilungen am besten positioniert werden. Als Referenz
3181 wird das erste Beispiel herangezogen, zu welchem ein zweites
3182 System mit anderen rhythmischen Werten hinzugefügt wird:
3184 @lilypond[quote,verbatim,ragged-right]
3187 \new RhythmicStaff {
3191 c'16 c'16 c'16 c'16 c'16
3194 \new RhythmicStaff {
3196 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3203 Die Platzaufteilung ist schlecht, weil die gleichlangen Noten des
3204 untersten Systems nicht gleichmäßig verteilt sind. Im klassischen
3205 Notensatz kommen komplexe rhythmische Verhältnisse wie dieses sehr
3206 selten vor, sodass der Notensatz nicht in Hinsicht auf sie optimiert
3207 ist. @code{proportionalNotationDuration} hilft in
3208 dieser Situation deutlich:
3210 @lilypond[quote,verbatim,ragged-right]
3213 \new RhythmicStaff {
3217 c'16 c'16 c'16 c'16 c'16
3220 \new RhythmicStaff {
3222 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3229 proportionalNotationDuration = #(ly:make-moment 1 20)
3235 Aber bei sehr genauer Betrachtung sind die Noten der zweiten Hälfte
3236 der Nonole doch immer noch eine Spur weiter gesetzt als die Noten
3237 der ersten Hälfte. Um wirklich gleichmäßige Abstände zu erzwingen,
3238 sollte auch noch die gleichmäßige Dehnung (@code{uniform-stretching}) angeschaltet werden, die eine Eigenschaft von @code{SpacingSpanner} ist:
3240 @lilypond[quote,verbatim,ragged-right]
3243 \new RhythmicStaff {
3247 c'16 c'16 c'16 c'16 c'16
3250 \new RhythmicStaff {
3252 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3259 proportionalNotationDuration = #(ly:make-moment 1 20)
3260 \override SpacingSpanner #'uniform-stretching = ##t
3266 Das Beispiel mit den zwei Systemen ist nun exakt nach den
3267 rhythmischen Werten der Noten gesetzt, sodass ein Zeitstrahl
3268 oder ähnliches eingefügt werden könnte.
3270 Alle Einstellungen zur proportionalen Notation erwarten,
3271 dass die @code{uniform-stretching}-Eigenschaft des
3272 @code{SpacingSpanner}-Objekts auf wahr (@code{#t}) gesetzt wird. Andernfalls
3273 kann es vorkommen, dass bestimmte Abstände (etwa von
3274 unsichtbaren Noten) nicht richtig gesetzt werden.
3276 Das @code{SpacingSpanner}-Objekt ist ein abstraktes Grob, dass sich im
3277 @code{Score}-Kontext befindet. Genauso wie die Einstellungen
3278 von @code{proportionalNotationDuration} können auch diese
3279 Veränderungen an den drei Stellen in der Quelldatei vorkommen:
3280 in der @code{\with}-Umgebung innerhalb von @code{Score}, in
3281 einer @code{\context}-Umgebung oder direkt im Notentext.
3283 Standardmäßig gibt es nur ein @code{SpacingSpanner} pro @code{Score}.
3284 Das heißt, dass @code{uniform-stretching} für die gesamte Partitur
3285 (d.h. für die Reichweite von @code{Score}) entweder an- oder
3286 ausgeschaltet ist. Man kann allerdings in einer Partitur unterschiedliche
3287 Abschnitte mit verschiedenem Platzierungsverhalten definieren.
3288 Hierzu ist der Befehl @code{\newSpacingSection} da. Siehe auch @ref{Eine neuer Bereich mit anderen Abständen}.
3290 Im Folgenden soll gezeigt werden, wie sich der
3291 @code{Separating_line_group_engraver}
3292 auswirkt und warum er normalerweise für proportionale Notation ausgeschaltet wird.
3293 In diesem Beispiel wird verdeutlicht, dass vor jeder ersten Note eines Notensystems
3294 immer etwas zusätzlicher Platz gesetzt wird:
3296 @lilypond[quote,verbatim,ragged-right]
3308 Der gleiche horizontale zusätzliche Platz wird vor eine Noten gesetzt, wenn sie
3309 einer Taktart, einem Schlüssel oder einer Tonartbezeichnung folgt.
3310 Dieser Platz wird durch @code{Separating_line_group_engraver}
3311 eingefügt; wenn wir ihn aus der Partitur entfernen, entfällt
3312 auch dieser zusätzliche Platz:
3314 @lilypond[quote,verbatim,ragged-right]
3320 \remove Separating_line_group_engraver
3328 Nichtmusikalische Elemente wie Takt- und Tonartangaben, Schlüssel und
3329 Versetzungszeichen sind problematisch in proportionaler
3330 Notation. Keine dieser Elemente hat eine rhythmische Dauer, aber
3331 alle brauchen horizontalen Platz. Das Problem wird auf unterschiedliche
3334 Es ist manchmal möglich, Probleme mit Tonarten zu lösen, indem keine
3335 benutzt werden. Das ist durchaus eine ernstzunehmende Option, weil
3336 die meisten Partituren mit proportionaler Notation für heutige
3337 Musik geschrieben werden. Ähnliches gilt für Taktarten, insbesondere,
3338 wenn ein Zeitstrahl in die Partitur eingearbeitet werden soll.
3339 In den meisten Partituren kommt jedoch irgendeine Taktart vor.
3340 Schlüssel und Versetzungszeichen sind noch wichtiger; auf
3341 sie kann selten verzichtet werden.
3343 Eine Lösungsmöglichkeit ist es, die @code{strict-note-spacing}-Eigenschaft
3344 des @code{SpacingSpanner}-Objekts zu benutzen. Zum Vergleich
3345 die beiden Partituren unten:
3347 @lilypond[quote,verbatim,ragged-right]
3349 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3359 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3360 \override Score.SpacingSpanner #'strict-note-spacing = ##t
3370 Bei beiden handelt es sich um proportionale Notation, aber
3371 die Platzverteilung im oberen Beispiel ist zu weit wegen
3372 des Schlüsselwechsels. Die Platzverteilung des zweiten
3373 Beispiels dagegen bleibt rhythmisch korrekt.
3374 @code{strict-note-spacing} bewirkt, dass Takt- und
3375 Tonartbezeichnungen, Schlüssel und Versetzungszeichen
3376 keine Rolle bei der Berechnung der Abstände spielen.
3378 Zusätzlich zu den hier vorgestellten Einstellungen gibt es
3379 noch eine Reihe von Möglichkeiten, die oft in proportionaler
3380 Notation benutzt werden. Dazu gehören:
3383 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
3384 @item @code{tupletFullLength = ##t}
3385 @item @code{\override Beam #'breakable = ##t}
3386 @item @code{\override Glissando #'breakable = ##t}
3387 @item @code{\override TextSpanner #'breakable = ##t}
3388 @item @code{\remove Forbid_line_break_engraver in the Voice context}
3391 Diese Einstellungen bewirken, dass auch Verzierungsnoten proportional
3392 gesetzt werden, dass Klammern von rhythmischen Gruppen bis zu den
3393 Anfangs- und Endpunkten ausgedehnt werden und lassen dehnbare
3394 Objekte wie Balken und Glissandi auch über Taktstriche hinweg zu.
3398 @ref{Eine neuer Bereich mit anderen Abständen}.
3404 @node Die Musik auf weniger Seiten zwingen
3405 @section Die Musik auf weniger Seiten zwingen
3406 @translationof Fitting music onto fewer pages
3408 Manchmal kommt es vor, dass nur ein oder zwei Systeme auf die
3409 nächste Seite geraten, obwohl es so aussieht, als ob auf der
3410 vorigen Seite genügend Platz ist, um diese Systeme auch noch
3413 Wenn man derartige Platzierungsprobleme untersucht, ist die
3414 Funktion @code{annotate-spacing} von sehr großer Hilfe. Hiermit
3415 wird in den Musiksatz zusätzlich Information darüber ausgegeben,
3416 wieviel Platz bestimmten Parametern zugewiesen wird. Genaueres
3417 hierzu in @ref{Abstände anzeigen lassen}.
3420 * Abstände anzeigen lassen::
3421 * Abstände verändern::
3425 @node Abstände anzeigen lassen
3426 @subsection Abstände anzeigen lassen
3427 @translationof Displaying spacing
3429 @cindex Platzierung, Layouteinstellungen
3431 @funindex annotate-spacing
3433 Die Dimensionen von vertikalen und horizontalen Platzierungsvariablen,
3434 die veränderbar sind, lassen sich mit ihren aktuellen Werten im
3435 Notentext anzeigen, wenn man die Funktion
3436 @code{annotate-spacing} in der @code{\paper}-Umgebung einschaltet:
3438 @c need to have \book{} otherwise we get the separate systems. -hwn
3439 @lilypond[verbatim,quote]
3440 #(set-default-paper-size "a6" 'landscape)
3443 \paper { annotate-spacing = ##t }
3448 Alle Layoutdimensionen werden in Notenlinienzwischenräumen
3449 aufgelistet, unabhängig von den Einheiten, mit denen sie in der
3450 @code{\paper}- oder @code{\layout}-Umgebung definiert worden
3451 sind. In dem letzten Beispiel hat @code{paper-height} einen Wert von
3452 59.75 Notenlinienzwischenräumen und @code{staff-size}
3453 Systemhöhe) ist 20 Punkte. Dabei gilt:
3455 @multitable {1 Notenlinienzwischenraum} {Systemgröße)/4 * (25.4/72.27) mm}
3458 @tab = (25.4/72.27) mm
3460 @item 1 Notenlinienzwischenraum
3461 @tab = (@code{staff-size})/4 pts
3463 @tab = (@code{staff-size})/4 * (25.4/72.27) mm
3467 In diesem Fall ist ein @code{staff-space} (Notenlinienzwischenraum)
3468 etwa gleich 1.757 mm. Deshalb entspricht der Wert von 95.75
3469 @code{staff-space} für @code{paper-height} (Papierhöhe) 105 mm,
3470 die Höhe eines quer gelegten A6-Papiers. Die Paare (@var{a},@var{b}) sind
3471 Intervalle, wobei @var{a} der untere Rand und @var{b} der
3472 obere Rand des Intervalls.
3477 @ref{Die Notensystemgröße einstellen}
3483 @node Abstände verändern
3484 @subsection Abstände verändern
3485 @translationof Changing spacing
3487 Die Ausgabe von @code{annotate-spacing} bietet sehr viele
3488 Details zu den vertikalen Dimensionen einer Partitur. Zu Information,
3489 wie Seitenränder und andere Layout-Variablen geändert werden
3490 können, siehe @ref{Seitenformatierung}.
3492 Neben Rändern gibt es einige weitere Optionen, Platz zu sparen:
3496 LilyPond kann die Systeme so dicht wie möglich platzieren (damit
3497 so viele Systeme wie möglich auf eine Seite passen), aber sie
3498 dann so anordnen, dass kein weißer Rand unten auf der Seite entsteht.
3502 system-system-spacing = #'((padding . 0) (basic-distance . 0.1))
3503 ragged-last-bottom = ##f
3509 Die Anzahl der Systeme kann erzwungen werden. Das kann auf
3510 zwei Arten helfen: wenn einfach nur ein Wert gesetzt wird, auch
3511 wenn es die gleiche Anzahl ist, die auch schon vorher von LilyPond
3512 erstellt wurde, kann manchmal dazu führen, dass mehr Systeme
3513 auf eine Seite gesetzt werden. Das liegt daran, dass ein
3514 Schritt im Notensatz ausgelassen wird, der die Seitenverteilung
3515 nur grob einschätzt, sodass eine bessere Seitenverteilung
3516 entsteht. Auch wenn man eine Verringerung der Anzahl an Systemen
3517 erzwingt, kann oft eine Seite eingespart werden. Wenn LilyPond
3518 die Musik etwa auf 11 Systeme verteilt, kann man die Benutzung von
3519 nur 10 Systemen erzwingen.
3528 Vermeidung (oder Verminderung) von Objekten, die den vertikalen Abstand von Systemen
3529 vergrößern, hilft oft. Die Verwendung von Klammern bei Wiederholungen
3530 (oder alternativen Wiederholungen)
3531 etwa braucht mehr Platz. Wenn die Noten innerhalb der Klammern auf
3532 zwei Systeme verteilt sind, brauchen sie mehr Platz, als wenn sie
3533 nur auf einer Zeile gedruckt werden.
3535 Ein anderes Beispiel ist es, Dynamik-Zeichen, die besonders
3536 weit @qq{hervorstehen}, zu verschieben.
3538 @lilypond[verbatim,quote,relative=1]
3540 e4 c g-\tweak #'X-offset #-2.7 -\tweak #'Y-offset #2.5 \f c
3544 Die horizontalen Abstände können mit der
3545 @code{SpacingSpanner}-Eigenschaft verändert werden. Siehe
3546 @ref{Horizontale Abstände verändern} für Einzelheiten. Dieses
3547 Beispiel zeigt die normalen Abstände:
3549 @lilypond[verbatim,quote]
3562 Das nächste Beispiel verändert @code{common-shortest-duration} (die
3563 häufigste kürzeste Note) von @code{1/4} zu @code{1/2}. Die Viertelnote
3564 ist dennoch die häufigste Note in diesem Abschnitt, sodass der
3565 Notentext zusammengedrängt, wird, wenn eine Halbe als Standard
3568 @lilypond[verbatim,quote]
3580 \override SpacingSpanner
3581 #'common-shortest-duration = #(ly:make-moment 1 2)
3588 Die @code{common-shortest-duration}-Eigenschaft kann nicht
3589 dynamisch verändert werden, darum muss sie immer in der
3590 @code{\context}-Umgebung definiert werden und wirkt sich somit
3591 auf eine ganze @code{\score}-Umgebung aus.
3597 @ref{Seitenformatierung},
3598 @ref{Horizontale Abstände verändern}.