]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/user/spacing.itely
Merge commit 'origin/dev/jneeman' into systems-per-page
[lilypond.git] / Documentation / de / user / spacing.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @c This file is part of lilypond.tely
3 @ignore
4     Translation of GIT committish: 99b5022dc4baadd7000c94d5868cdb7cb9a8ed53
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  See TRANSLATION for details.
8 @end ignore
9
10 @c \version "2.12.0"
11
12
13 @node Spacing issues
14 @chapter Spacing issues
15
16 Das finale Layout der Seite wird von drei Faktoren bestimmt: dem Layout
17 der Seite, den Zeilenumbrüchen und der Platzverteilung.  Jeder Faktor
18 beeinflusst auch die anderen mit.  Die Wahl der Platzverteilung
19 entscheidet, wie eng die Notensysteme gesetzt werden.  Das wiederum
20 hat Einfluss auf die gewählten Zeilenumbrüche und letztendlich also
21 auch darauf, wieviele Seiten ein Stück beansprucht.
22
23 Die Verteilung der Musik auf der Seite geschieht grob gesagt in
24 vier Schritten.  Zuerst werden flexible Entfernungen (@qq{springs})
25 gewählt, die auf den Notendauern basieren.  Alle möglichen
26 Zeilenumbrüche werden getestet und ein @qq{Schlechtigkeitsscore}
27 für die Umbrüche erstellt.  Danach wird die mögliche Höhe eines Systems
28 ermittelt und schließlich wird eine bestimmte Kombination aus
29 Seiten- und Zeilenumbruch ausgewählt, sodass weder die horizontale
30 noch die vertikale Platzverteilung zu eng oder zu weit gesetzt wird.
31
32 Einstellungen, die das Layout beeinflussen, können in zwei Umgebungen
33 gesetzt werden: Die @code{\paper @{...@}}-Umgebung wird außerhalb einer
34 @code{\score @{...@}}-Umgebung geschrieben und enthält Einstellungen,
35 die für das gesamte Dokument gelten.  Die @code{\layout @{...@}}-Umgebung
36 wird innerhalb von einer @code{\score @{...@}}-Umgebung notiert und
37 enthält die Einstellungen für eine bestimmte Partitur.  Wenn Sie
38 nur eine @code{\score @{...@}}-Umgebung in der Datei haben, haben
39 beide Umgebungen den gleichen Effekt.  Die Befehle, die in diesem Abschnitt
40 erklärt werden, können in beiden Umgebungen nach Bedarf gesetzt werden.
41
42 @menu
43 * Paper and pages::
44 * Music layout::
45 * Breaks::
46 * Vertical spacing::
47 * Horizontal spacing::
48 * Fitting music onto fewer pages::
49 @end menu
50
51
52 @node Paper and pages
53 @section Paper and pages
54
55 Dieser Abschnitt behandelt die Grenzen, die Notationsgebiete
56 definieren.
57
58 @menu
59 * Paper size::
60 * Page formatting::
61 @end menu
62
63
64 @node Paper size
65 @subsection Paper size
66
67 @cindex Papiergröße
68 @cindex Größe, Papier
69 @cindex Seitegröße
70 @cindex Größe, Seite
71
72 Zwei Funktionen ermöglichen es, die Papiergröße zu ändern:
73 @code{set-default-paper-size} und @code{set-paper-size}.
74 @code{set-default-paper-size} muss auf der obersten Ebene in
75 der Quelldatei gesetzt werden, @code{set-paper-size} hingegegen
76 muss sich in einer @code{\paper}-Umgebung befinden:
77
78 @example
79 #(set-default-paper-size "a4")
80 @end example
81
82 @example
83 \paper @{
84   #(set-paper-size "a4")
85 @}
86 @end example
87
88 @noindent
89 @code{set-default-paper-size} bestimmt die Größe aller Seiten, während
90 @code{set-paper-size} nur die Seitengröße für die Seiten definiert,
91 auf die sich die aktuelle @code{\paper}-Umgebung bezieht.  Wenn die
92 @code{\paper}-Umgebung auf der höchsten Ebene steht, bezieht sich die
93 Papiergröße auf alle Seiten, wenn sie aber innerhalb einer
94 @code{\book}-Umgebung definiert wird, nur auf die Seiten innerhalb
95 dieses Buches.
96
97 Die normalen Papierformate sind definiert, u.A. @code{a4},
98 @code{letter}, @code{legal} und @code{11x17} (auch als
99 Tabloit bekannt).  Sehr viel mehr Formate sind unterstützt.
100 Einzelheiten finden sich in der Datei
101 @file{scm/@/paper@/.scm} in der Definition von
102 @code{paper-alist}.
103
104 @warning{Das Standardformat ist @code{a4}.}
105
106 Weitere Papierformate können hinzugefügt werden, indem die
107 Definition von @code{paper-alist} in der Datei
108 @file{scm/@/paper@/.scm} verändert wird.  Derartige
109 Änderungen werden jedoch bei einer Aktualisierung des
110 Programmes überschrieben.
111
112 @cindex Ausrichtung, Papier
113 @cindex Papier, Ausrichtung
114 @cindex hochkant, Papier
115 @cindex quer, Papier
116
117 @funindex landscape
118
119 Wenn das Symbol @code{'landscape} als Argument an die Funktion
120 @code{set-default-paper-size}gehänt wird, werden die Seiten um
121 90° gedreht und die Notensysteme entsprechend breiter gesetzt.
122
123 @example
124 #(set-default-paper-size "a6" 'landscape)
125 @end example
126
127 Wenn man die Seitengröße setzt, werden einige Variablen der
128 @code{\paper}-Umgebung verändert, wie etwa Seitenränder.  Um
129 eine bestimmte Papiergröße mit veränderten @code{\paper}-Variablen
130 zubenuttzen, muss die Papiergröße definiert werden, bevor diese
131 Variablen neu gesetzt werden.
132
133
134 @seealso
135 Installierte Dateien:
136 @file{scm/@/paper@/.scm}.
137
138 Schnipsel:
139 @rlsr{Spacing}.
140
141
142 @node Page formatting
143 @subsection Page formatting
144
145 Ränder, Kopf- und Fußzeilen und andere Layoutvariablen werden
146 entsprechend dem Papierformat automatisch gesetzt.
147
148 Dieser Abschnitt zeigt einige der Papiervariablen, die geändert
149 werden können.
150
151 @menu
152 * Vertical dimensions::
153 * Horizontal dimensions::
154 * Other layout variables::
155 @end menu
156
157
158 @node Vertical dimensions
159 @unnumberedsubsubsec Vertical dimensions
160
161 Diese Variablen werden benutzt um andere vertikale Verhältnisse
162 auf einer Seite zu produzieren:
163
164 @funindex \paper
165 @funindex after-title-space
166 @funindex before-title-space
167 @funindex between-system-padding
168 @funindex between-system-space
169 @funindex between-title-space
170 @funindex bottom-margin
171 @funindex foot-separation
172 @funindex head-separation
173 @funindex page-top-space
174 @funindex paper-height
175 @funindex top-margin
176
177 @table @code
178
179 @item after-title-space
180
181 Die Größe des Abstands zwischen der Überschrift und dem ersten
182 Notensystem.  Standard: @code{5\mm}.
183
184 @item before-title-space
185
186 Die Größe des Abstands zwischen dem letzten Notensystem einer
187 Partitur und dem Titel der nächsten Partitur. Standard: @code{10\mm}.
188
189 @item between-system-padding
190
191 Der Mindestabstand zwischen dem untersten Symbol in einem Notensystem
192 und dem obersten Symbol im sich darunter befindlichen System.
193 Standard: @code{4\mm}.
194
195 Wenn dieser Wert erhöht wird, werden Systeme, deren @qq{bounding box}
196 sich beinahe berühren, weiter auseinander gezogen.
197
198 @item between-system-space
199
200 Der Abstand zwischen Systemen.  Das ist der ideale Abstand zwischen
201 der Mitte des eines Systems (bzw. des untersten Systems einer Systemgruppe)
202 und der Mitte des nächsten Systems (bzw. des obersten System der
203 nächsten Systemgruppe).  Standard: @code{20\mm}.
204
205 Wenn dieser Wert erhöhrt wird, erscheinen die Noten auf der Seite gleichmäßiger,
206 wobei sie aber auch mehr Platz einnehmen.
207
208 @item between-title-space
209
210 Der Abstand zwischen aufeinanderfolgenden Überschriften (etwa die
211 Überschrift für ein @code{book} und die Überschrift einer Partitur.
212 Standard: @code{2\mm}.
213
214 @item bottom-margin
215
216 Der Rand zwischen der Fußzeile und dem unteren Rand der Seite.
217 Standard: @code{6\mm}.
218
219 @item foot-separation
220
221 Der Abstand zwischen dem untersten Notensystem und der Fußzeile.
222 Standard: @code{4\mm}.
223
224 @item head-separation
225
226 Der Abstand zwischen dem obersten System und der Kopfzeile. Standard:
227 @code{4\mm}.
228
229 @item page-top-space
230
231 Der Abstand von der Oberkante des druckbaren Bereichs bis zur
232 Mitte des ersten Notensystems.  Das funktioniert nur für Systeme,
233 die nicht vertikal ausgedehnt sind.  Hohe Systeme bzw. Systemgruppen
234 werden mit ihrer @qq{bounding box} an der Oberkante des
235 druckbaren Bereichs ausgerichtet.  Standard: @code{12\mm}.
236
237 @item paper-height
238
239 Die Höhe der Seite.  Standard:  Die Höhe des aktuellen Papierformats.
240 Zu Einzelheiten siehe @ref{Paper size}.
241
242 @item top-margin
243
244 Der Rand zwischen der Kopfzeile und dem oberen Rand der Seite. Standard:
245 @code{5\mm}.
246
247 @end table
248
249
250 @snippets
251
252 Kopf- und Fußzeile werden von den Funktionen @code{make-footer} und
253 @code{make-header} erstellt, welche in der @code{\paper}-Umgebung definiert
254 werden.  Die Standardeinstellungen sind in den Dateien
255 @file{ly/paper-defaults.ly} und @code{ly/titling-init.ly} dargestellt.
256
257 Das Seitenlayout wird durch zwei Funktionen der @code{\paper}-Umgebung
258 bestimmt: @code{page-music-height} und @code{page-make-stencil}.  Die erste
259 teilt dem Zeilenumbruchsalgorithmus mit, wieviel Platz auf einer Seite
260 belegt werden kann, die zweite hingegegen erstellt die konkrete Seite,
261 nachdem sie die Systeme entgegengenommen hat, die auf der Seite platziert
262 werden sollen.
263
264 Beispiel:
265
266 @example
267 \paper@{
268   paper-width = 2\cm
269   top-margin = 3\cm
270   bottom-margin = 3\cm
271   ragged-last-bottom = ##t
272 @}
273 @end example
274
275 Das nächste Beispiel zentriert Seitenzahlen unten auf jeder Seite:
276
277 @example
278 \paper @{
279   print-page-number = ##t
280   print-first-page-number = ##t
281   oddHeaderMarkup = \markup \fill-line @{ " " @}
282   evenHeaderMarkup = \markup \fill-line @{ " " @}
283   oddFooterMarkup = \markup @{ \fill-line @{
284      \bold \fontsize #3 \on-the-fly #print-page-number-check-first
285      \fromproperty #'page:page-number-string @} @}
286   evenFooterMarkup = \markup @{ \fill-line @{
287      \bold \fontsize #3 \on-the-fly #print-page-number-check-first
288      \fromproperty #'page:page-number-string @} @}
289 @}
290 @end example
291
292 Werte der @code{\paper}-Umgebung können in Scheme definiert werden.  In diesem
293 Fall sind @code{mm}, @code{in}, @code{pt} und @code{cm} Variablen,
294 die in der Datei @file{paper-defaults.ly} mit Millimeter-Werten definiert
295 sind.  Darum muss der Wert 2 cm in dem Beispiel unten multilpliziert werden
296 muss:
297
298 @example
299 \paper @{
300  #(define bottom-margin (* 2 cm))
301 @}
302 @end example
303
304 @seealso
305 Notationsreferenz:
306 @ref{Vertical spacing between systems}.
307
308 Schnipsel:
309 @rlsr{Spacing}.
310
311
312 @node Horizontal dimensions
313 @unnumberedsubsubsec Horizontal dimensions
314
315 @funindex horizontal-shift
316 @funindex indent
317 @funindex left-margin
318 @funindex line-width
319 @funindex paper-width
320 @funindex short-indent
321
322 @warning{Wenn @code{paper-width} manuell gesetzt wird, müssen
323 möglicherweise auch die Werte von @code{line-width},
324 @code{left-margin}, @code{indent} und @code{short-indent} angepasst
325 werden.}
326
327 Es gibt einige Variablen, die die horizontalen Dimensionen der Seite
328 beeinflussen:
329
330 @table @code
331
332 @item horizontal-shift
333
334 Der Wert, um den alle Systeme (und auch Überschriften und Systemtrenner)
335 nach rechts verschoben werden.  Standard: @code{0.0}.
336
337 @item indent
338
339 Der Einzug für das erste System einer Partitur.  Standard:
340 @code{paper-width} geteilt durch @code{14}, definiert in
341 @code{set-default-paper-size} bzw. @code{set-paper-size}.
342
343 @item left-margin
344
345 Der Rand zwischen dem linken Rand der Seite und dem Anfang der Notensysteme.
346 Standard: @code{10\mm}, definiert in
347 @code{set-default-paper-size} oder @code{set-paper-size}.
348
349 @item line-width
350
351 Die Breite der Notensystems. Standard: @code{paper-width} minus
352 @code{20\mm}, dfiniert in @code{set-default-paper-size} bzw.
353 @code{set-paper-size}.
354
355 @item paper-width
356
357 Die Breite der Seite.  Standard: Die Breite des aktuellen
358 Papierformats.  Zu Einzelheiten siehe @ref{Paper size}.
359
360 @item short-indent
361
362 Der Einzug für alle Systeme einer Partitur ausschließlich das
363 erste System.  Standard: @code{0}, dfiniert in
364 @code{set-default-paper-size} bzw. @code{set-paper-size}.
365
366 @end table
367
368
369 @seealso
370 Schnipsel:
371 @rlsr{Spacing}.
372
373
374 @knownissues
375
376 Die Option @code{right-margin} ist definiert, bestimmt aber nicht den
377 rechten Rand der Seite.  Der Wert für den rechten Rand ergibt sich
378 aus den Werten des linken Randes (@code{left-margin}) und der Zeilenbreite
379 (@code{line-width}).
380
381
382 @node Other layout variables
383 @unnumberedsubsubsec Other layout variables
384
385 Diese Variablen können verwendet werden, um das allgemeine Layout der Seite
386 anzupassen.
387
388 @funindex auto-first-page-number
389 @funindex blank-last-page-force
390 @funindex blank-page-force
391 @funindex first-page-number
392 @funindex page-breaking-between-system-padding
393 @funindex page-count
394 @funindex page-limit-inter-system-space
395 @funindex page-limit-inter-system-space-factor
396 @funindex page-spacing-weight
397 @funindex print-all-headers
398 @funindex print-first-page-number
399 @funindex print-page-number
400 @funindex ragged-bottom
401 @funindex ragged-last
402 @funindex ragged-last-bottom
403 @funindex ragged-right
404 @funindex system-separator-markup
405 @funindex system-count
406
407 @table @code
408
409 @item auto-first-page-number
410
411 Der Seitenumbruchsalgorithmus wird davon beeinflusst, ob die erste
412 Seitenzahl gerade oder ungerade ist.  Wenn die Variable auf wahr
413 gesetzt wird, entscheidet der Seitenumbruchsalgorithmus selber,
414 ob die Noten auf einer geraden oder ungeraden Seite beginnen sollen.
415 Das hat dann zur Folge, dass die erste Seite entweder bleibt wie
416 sie ist oder um eins erhöht wird.  Standard: @code{##f}.
417
418 @ignore
419
420 FIXME: this variable is used, but I don't know what it does. -pm
421 @item blank-after-score-page-force
422 @funindex blank-after-score-page-force
423
424 Default: @code{2}.
425
426 @end ignore
427
428 @item blank-last-page-force
429
430 Die Strafpunkte, wenn eine Partitur auf einer ungeraden Seite
431 beendet wird. Stadnard: @code{0}.
432
433 @item blank-page-force
434
435 Die Strafpunkte, wenn eine leere Seite mitten in einer Partitur
436 auftritt.  Das wird nicht benutzt von @code{ly:optimal-breaking},
437 weil hiermit niemals leere Seiten mitten in einer Partitur zugelassen
438 werden.  Standard: @code{5}.
439
440 @item first-page-number
441
442 Der Wert der Seitenzahl auf der ersten Seite.  Standard: @code{#1}.
443
444 @item page-breaking-between-system-padding
445
446 Überlistet die Seitenumbruchfunktion, indem ihr ein anderer Wert
447 für @code{between-system-padding} mitgeteilt wird, als in Wirklichkeit
448 eingestellt ist.  Wenn diese Variable beispielsweise auf einen
449 deutlich größeren Wert als @code{between-system-padding} gesetzt
450 wird, setzt die Seitenumbruchsfunktion weniger Systeme auf eine
451 Seite.  Standard: nicht gesetzt.
452
453 @item page-count
454
455 Die Zahl der Seiten, die für eine Partitur benutzt werden sollen.
456 Standard: nicht gesetzt.
457
458 @item page-limit-inter-system-space
459
460 Wenn wahr, wird Platz zwischen Systemen eingeschränkt, wenn viel
461 Platz auf der Seite ist.  Standard: @code{##f}.  Einzelheiten siehe
462 @ref{Vertical spacing between systems}.
463
464 @item page-limit-inter-system-space-factor
465
466 Der Faktor, der von @code{page-limit-inter-system-space} verwendet
467 wird.  Standard: @code{1.4}.  Einzelheiten siehe
468 @ref{Vertical spacing between systems}.
469
470 @item page-spacing-weight
471
472 Die relative Gewichtung von (vertikalem) Abstand auf der Seite und
473 (horizontalem) Abstand innerhalb der Zeilen.  Hohe Werte gewichten
474 die vertikalen Abstände mehr.  Standard: @code{#10}.
475
476 @item print-all-headers
477
478 Wenn wahr, werden alle Einträge des Titelfeldes (@code{\header}-Umgebung)
479 für jede Partitur ausgegeben.  Normalerweise wird nur die
480 Satzbezeichnung und die Opuszahl (@code{piece} und @code{opus})
481 ausgegeben.  Standard: @code{##f}.
482
483 @item print-first-page-number
484
485 Wenn wahr, wird auch auf der ersten Seite die Seitenzahl ausgegeben.
486 Standard: @code{##f}.
487
488 @item print-page-number
489
490 Wenn falsch, werden Seitenzahl nicht ausgegeben.  Standard:
491 @code{##t}.
492
493 @item ragged-bottom
494
495 Wenn wahr, werden die Systeme nicht gleichmäßig über die Seite
496 verteilt sondern am oberen Seitenrand beginnend eng angeordnet.
497 Das wirkt sich nicht auf die letzte Seite aus.  Standard: @code{##f}.
498
499 Die Variable sollte auf wahr gesetzt werden für Stücke, die nur
500 zwei oder drei Systeme pro Seite haben, wie etwa Orchesterpartituren.
501
502 @item ragged-last
503
504 Wenn wahr, wird die letzte Notenzeile einer Partitur nicht bis
505 zum Zeilenende durchgezogen, sondern entsprechend mit Noten
506 gefüllt und dann abgebrochen.  Standard: @code{##f}.
507
508 @item ragged-last-bottom
509
510 Wenn falsch, werden Systeme gleichmäßig über die letzte Seite
511 verteilt.  Standard: @code{##t}.
512
513 Stücke, die zwei oder mehr Seiten gut füllen, sollten die Option auf wahr
514 gesetzt haben.
515
516 Sie wirkt sich auch auf die letzte Seite von Buchteilen aus, d.h.
517 Teilen eines Buches, die mit der @code{\bookpart}-Umgebung erstellt werden.
518
519 @item ragged-right
520
521 Wenn wahr, werden Systeme nicht im Blocksatz gesetzt, sondern erhalten
522 nur ihre normale Breite.  Standard: @code{##f}.
523
524 Wenn eine Partitur nur ein System hat, ist der Standardwert @code{##t}.
525
526 @item system-separator-markup
527
528 Ein Beschriftungsobjekt, das zwischen zwei Systeme gesetzt wird.  Das
529 wird oft in Orchesterpartituren eingesetzt.  Standard: nicht gesetzt.
530
531 Der Beschriftungsbefehl @code{\slashSeparator} kann für einen Trenner
532 benutzt werden, etwa so:
533
534 @lilypond[quote,ragged-right]
535 #(set-default-paper-size "a6" 'landscape)
536 \book {
537   \score {
538     \relative { c1 \break c1 }
539   }
540   \paper {
541     system-separator-markup = \slashSeparator
542   }
543 }
544 @end lilypond
545
546 @item system-count
547
548 Die Anzahl der Systeme, auf denen eine Partitur gesetzt werden soll.
549 Standard: nicht gesetzt.
550
551 @end table
552
553
554 @seealso
555 Schnipsel:
556 @rlsr{Spacing}.
557
558
559 @knownissues
560
561 Die Standard-Kopfzeilendefinition setzt die Seitenzahl und das
562 @code{instrument}-Feld aus der @code{\header}-Umgebung in eine
563 Zeile.
564
565 Die Überschriften (aus der @code{\header}-Umgebung) werden als
566 ein System interpretiert, sodass @code{ragged-bottom} und
567 @code{ragged-last-bottom} Platz zwischen die Überschrift und
568 das erste System der Partitur setzen.
569
570
571 @node Music layout
572 @section Music layout
573
574 @menu
575 * Setting the staff size::
576 * Score layout::
577 @end menu
578
579
580 @node Setting the staff size
581 @subsection Setting the staff size
582
583 @cindex Schriftgröße, Einstellung
584 @cindex Systemgröße, Einstellung
585 @cindex Verändern der Schriftgröße
586 @cindex Verändern der Systemgröße
587 @funindex layout file
588
589 Die Standardgröße der Notensysteme beträgt 20 Punkte (pt).
590 Das kann auf zwei Arten geändert werden:
591
592 Um die Systemgröße global für alle Partituren einer
593 Datei (bzw. einer @code{\book}-Umgebung) zu verändern,
594 geht man wie folgt vor:
595
596 @example
597 #(set-global-staff-size 14)
598 @end example
599
600 @noindent
601 Hiermit wird die Standardhöhe der Notensysteme auf 14 pt
602 gesetzt.  Die Schriftarten werden entsprechend verkleinert.
603
604 Um die Systemhöhe für jede Partitur einzeln zu verändern,
605 muss
606
607 @example
608 \score@{
609   ...
610   \layout@{
611   #(layout-set-staff-size 15)
612   @}
613 @}
614 @end example
615
616 @noindent
617 eingesetzt werden.
618
619 Die Feta-Schriftart stellt die Noten- und Musiksymbole
620 für acht verschiedene Größen zur Verfügung.  Jede
621 Schriftgröße ist einer bestimmten Systemgröße angepasst:
622 für kleinere Schriftgrößen werden die Zeichen etwas
623 schwerer, um mit den ebenfalls dickeren Notenlinien
624 zu harmonieren.  Die empfohlenen Notensystemgrößen
625 sind in der Tabelle aufgeführt:
626
627 @quotation
628 @multitable @columnfractions .15 .2 .22 .2
629
630 @item @b{Schriftbezeichnung}
631 @tab @b{Höhe des Systems (pt)}
632 @tab @b{Höhe des Systems (mm)}
633 @tab @b{Benutzung}
634
635 @item feta11
636 @tab 11.22
637 @tab 3.9
638 @tab Taschenparituren
639
640 @item feta13
641 @tab 12.60
642 @tab 4.4
643 @tab
644
645 @item feta14
646 @tab 14.14
647 @tab 5.0
648 @tab
649
650 @item feta16
651 @tab 15.87
652 @tab 5.6
653 @tab
654
655 @item feta18
656 @tab 17.82
657 @tab 6.3
658 @tab Liederbücher
659
660 @item feta20
661 @tab 20
662 @tab 7.0
663 @tab Orchesterstimmen
664
665 @item feta23
666 @tab 22.45
667 @tab 7.9
668 @tab
669
670 @item feta26
671 @tab 25.2
672 @tab 8.9
673 @tab
674 @c modern rental material?
675
676 @end multitable
677 @end quotation
678
679 Diese Schriftarten sind in allen Größen erhältlich.  Die Kontext-Eigenschaft
680 @code{fontSize} und die Layout-Eigenschaft @code{staff-space} (in
681 @code{StaffSymbol}) können benutzt werden, um die Schriftgröße für
682 einzelne Systeme zu verändern.  Die Größe von einzelnen Systemen
683 ist relativ zur globalen Systemgröße.
684
685
686 @seealso
687 Notationsreferenz:
688 @ref{Selecting notation font size}.
689
690 Schnipsel:
691 @rlsr{Spacing}.
692
693
694 @knownissues
695
696 @code{layout-set-staff-size} verändert nicht den Abstand zwischen den
697 Notenlinien.
698
699
700 @node Score layout
701 @subsection Score layout
702
703 @cindex Partitur, Layout
704 @cindex Layout, Partitur
705
706 @funindex \layout
707
708 Während die @code{\paper}-Umgebung Einstellungen für die Formatierung
709 der Seiten eines gesamten Dokuments enthalten, enthält die
710 @code{\layout}-Umgebung Einstellungen für einzelne Parituren.
711
712 @example
713 \layout @{
714   indent = 2.0\cm
715   \context @{ \Staff
716     \override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6)
717   @}
718   \context @{ \Voice
719     \override TextScript #'padding = #1.0
720     \override Glissando #'thickness = #3
721   @}
722 @}
723 @end example
724
725 @seealso
726 Notationsreferenz:
727 @ref{Changing context default settings}.
728
729 Schnipsel:
730 @rlsr{Spacing}.
731
732
733 @node Breaks
734 @section Breaks
735
736 @menu
737 * Line breaking::
738 * Page breaking::
739 * Optimal page breaking::
740 * Optimal page turning::
741 * Minimal page breaking::
742 * Explicit breaks::
743 * Using an extra voice for breaks::
744 @end menu
745
746
747 @node Line breaking
748 @subsection Line breaking
749
750 @cindex Zeilenumbrüche
751 @cindex Umbrüche von Zeilen
752
753 Zeilenumbrüche werden normalerweise automatisch erstellt.  Sie
754 werden so ausgewählt, dass die Zeilen weder gedrängt nocht zu
755 weit gespreizt wirken und aufeinander folgende Seiten einen
756 ähnlichen Grauwert haben.  In seltenen Fällen kann es jedoch
757 nötig sein, manuell Zeilenumbrüche einzufügen.  Das geschieht
758 mit dem Befehl @code{\break}.  Hiermit wird direkt nach dem Befehl
759 ein Zeilenumbruch erzwungen.  Zeilenumbrüche können jedoch nur
760 am Ende von @qq{vollständigen} Takten stattfinden.  Damit sind
761 Takte gemeint, in welchen alle Noten mit der letzten Taktzeit
762 komplett abgeschlossen sind und nicht über das Taktende hinausragen.
763 Wenn Sie einen Zeilenumbruch an einer Stelle benötigen, an der
764 keine Taktlinie vorliegt, können Sie mit @code{\bar ""} eine
765 unsichtbare Taktlinie hinzufügen, die dann den Zeilenumbruch
766 erlaubt.  Wiederum gilt, dass keine Noten überstehen dürfen,
767 sonst wird diese unsichtbare Taktlinie ignoriert.
768
769 Mit dem Befehl @code{\noBreak} wird ein Zeilenumbruch an dem
770 entsprechenden Taktstrich verboten.
771
772 Die grundlegenden Einstellungen, die Einfluss auf die Zeilenlänge
773 haben, sind @code{indent} (Einzug) und @code{line-width}
774 (Zeilenbreite).  Sie werden in der @code{\layout}-Umgebung
775 einestellt.  Der erste Befehl bestimmt den Einzug der ersten
776 Zeile, der zweite die Zeilenlänge der weiteren Notenzeilen.
777
778 Wenn @code{ragged-right} eingestellt ist (als in der
779 @code{\layout}-Umgebung auf den Wert @code{#t} gesetzt wurde),
780 werden die Systeme linksbündig gesetzt und nicht bis zum
781 rechten Rand hin durchgezogen, sondern den Noten entsprechend
782 gesetzt.  Das ist oftmals nützlich für kleine Notenfragmente
783 und um zu überprüfen, wie eng die Noten natürlicherweise
784 gesetzt werden würden.
785
786 Die Option @code{ragged-last} verhält sich ähnlich zu @code{ragged-right},
787 aber wirkt sich nur auf die letzte Zeile eines Stückes aus.
788
789 @example
790 \layout @{
791 indent = #0
792 line-width = #150
793 ragged-last = ##t
794 @}
795 @end example
796
797 @cindex regelmäßige Zeilenumbrüche
798 @cindex Zeilenumbrüche in Intervallen
799
800 Um Zeilenumbrüche zu erzwingen, die in festgelegten Intervallen
801 stattfinden, kann der Befehl @code{\break} in Kombination
802 mit unsichtbaren Noten und einer Wiederholung eingesetzt
803 werden.  Das folgende Beispiel etwa setzt die nächsten
804 28 Takte (im 4/4-Takt) in Zeilen zu jeweils 4 Takten:
805
806 @example
807 << \repeat unfold 7 @{
808          s1 \noBreak s1 \noBreak
809          s1 \noBreak s1 \break @}
810    @notation{Hier die Noten}
811 >>
812 @end example
813
814 Eine Zeilenumbruchkonfiguration kann auch als eine @code{.ly}-Datei
815 automatisch gespeichert werden.  Damit kann die vertikale Ausrichtung
816 während eines zweiten Programmdurchlaufs angepasst werden um die
817 Seiten besser zu füllen.  Diese Eigenschaft ist recht neu und
818 kompliziert.  Mehr Einzelheiten finden sich in
819 @rlsr{Spacing}.
820
821 @funindex \break
822 @funindex \noBreak
823
824 @predefined
825 @code{\break},
826 @code{\noBreak}.
827 @endpredefined
828
829 @seealso
830 Referenz der Interna:
831 @rinternals{LineBreakEvent}.
832
833 Schnipsel:
834 @rlsr{Spacing}.
835
836 @knownissues
837
838 Zeilenumbrüche können nur gesetzt werden, wenn eine
839 @qq{richtige} Taktlinie vorliegt.  Wenn eine Note
840 über die Taktlinie übersteht, wie etwa in folgendem
841 Beispiel:
842
843 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
844 c4 c2 << c2 {s4 \break } >>  % this does nothing
845 c2 c4 |           % a break here would work
846 c4 c2 c4 ~ \break % as does this break
847 c4 c2 c4
848 @end lilypond
849
850 @noindent
851 kann ein Umbruchbefehl nicht ausgeführt werden.  Dieses
852 Verhalten kann jedoch vermieden werden, indem der
853 @code{Forbid_line_break_engraver} aus dem Stimmen-Kontext
854 entfernt wird.
855
856 @lilypond[quote,ragged-right,verbatim]
857 \new Voice \with {
858   \remove Forbid_line_break_engraver
859 } {
860   c4 c2 << c2 {s4 \break } >>  % now the break is allowed
861   c2 c4
862 }
863 @end lilypond
864
865 @noindent
866 Entsprechend werden Umbrüche auch verhindert, wenn Balken über
867 Taktlinien reichen.  Das kann mit folgendem Befehl verhindert
868 werden: @code{\override Beam #'breakable = ##t}.
869
870
871 @node Page breaking
872 @subsection Page breaking
873
874 @cindex Seiteumbrüche
875 @cindex Umbrüche, Seite
876
877 Die Standardseitenumbrüche können verändert werden, indem
878 man die Befehle @code{\pageBreak} bzw. @code{\noPageBreak}
879 benutzt.  Sie verhalten sich analog zu den Befehlen
880 @code{\break} und @code{\noBreak}.  Sie sollten an einem
881 Taktstrich notiert werden.  Diese Befehle erzwingen bzw.
882 verbieten einen Seitenumbruch.  Mit dem @code{\pageBreak}-Befehl
883 wird natürlich gleichzeitig auch ein Zeilenumbruch erzwungen.
884
885 Die @code{\pageBreak} und @code{\noPageBreak}-Befehle können
886 auch auf der höchsten Ebene einer Datei benutzt werden, etwa
887 zwischen Partituren und Textbeschriftungen.
888
889 Es gibt auch vertikale Gegenstücke zu den Variablen
890 @code{ragged-right} und @code{ragged-last}:
891 @code{ragged-bottom} und @code{ragged-last-bottom}.  Wenn diese
892 Variablen auf @code{##t} gesetzt werden, werden im ersten
893 Fall die Notensysteme auf allen Seiten eng nach oben orientiert
894 gesetzt werden.  Im zweiten Fall bezieht sich dies nur auf die
895 letzte Seite.
896
897 Zu Einzelheiten siehe @ref{Vertical spacing}.
898
899 Seitenumbrüche werden von der @code{page-breaking}-Funktion errechnet.
900 LilyPond kennt drei Algorithmen um Seitenumbrüche zu errechnen:
901 @code{ly:optimal-breaking}, @code{ly:page-turn-breaking} und
902 @code{ly:minimal-breaking}.  Der Standard ist @code{ly:optimal-breaking},
903 aber der Wert kann in der @code{\paper}-Umgebung geändert werden:
904
905 @example
906 \paper@{
907   #(define page-breaking ly:page-turn-breaking)
908 @}
909 @end example
910
911 Der alte Algorithmus für Umbruch hat die Bezeichnung
912 @code{optimal-page-breaks}.  Wenn Sie Problememit der neuen
913 Umbruchsfunktion haben, können sie die alte vorläufig wieder
914 aktivieren.
915
916 @funindex \bookpart
917
918 When a book has many scores and pages, the page breaking problem may be
919 difficult to solve, requiring large processing time and memory.  To ease
920 the page breaking process, @code{\bookpart} blocks are used to divide
921 the book into several parts: the page breaking occurs separately on each
922 part.  Different page breaking functions may also be used in different
923 book parts.
924
925 @example
926 \bookpart @{
927   \header @{
928     subtitle = "Vorwort"
929   @}
930   \paper @{
931      %% In einem Abschnitt, der vor allem Text hat,
932      %% funktioniert womöglich ly:minimal-breaking besser
933      #(define page-breaking ly:minimal-breaking)
934   @}
935   \markup @{ @dots{} @}
936   @dots{}
937 @}
938 \bookpart @{
939   %% In diesem Abschnitt mit Noten wird
940   %% die Standard-Seitenumbruchsfunktion benutzt.
941   \header @{
942     subtitle = "Erster Satz"
943   @}
944   \score @{ @dots{} @}
945   @dots{}
946 @}
947 @end example
948
949 @funindex \pageBreak
950 @funindex \noPageBreak
951
952 @predefined
953 @code{\pageBreak},
954 @code{\noPageBreak}.
955 @endpredefined
956
957 @seealso
958 Schnipsel:
959 @rlsr{Spacing}.
960
961
962 @node Optimal page breaking
963 @subsection Optimal page breaking
964
965 @funindex ly:optimal-breaking
966
967 Die @code{ly:optimal-breaking}-Funktion ist die Standardmethode für
968 LilyPond, um Seitenumbrüche zu errechnen.  Hiermit wird versucht,
969 Seitenumbrüche zu finden, die das Stauchen oder Strecken von Zeilen
970 minimieren, sowohl horizontal als auch vertikal.  Anders als die
971 @code{ly:page-turn-breaking}-Funktion hat diese Methode keine
972 Möglichkeit, Überlegungen zum Umblättern mit einzubeziehen.
973
974 @seealso
975 Schnipsel:
976 @rlsr{Spacing}.
977
978
979 @node Optimal page turning
980 @subsection Optimal page turning
981
982 @funindex ly:page-turn-breaking
983
984 Es ist oft nötig, die Seiten so umzubrechen, dass sich eine Pause am
985 Ende jeder zweiten Seite befindet, damit der Musiker es leichter hat,
986 die Seite umzublättern ohne das Spielen zu Unterbrechen.  Die
987 @code{ly:page-turn-breaking}-Funktion versucht, Seitenumbrüche zu
988 finden, died das Stauchen oder Strecken von Zeilen minimieren und
989 gleichzeitig auch noch Seitenumbrüchen an angegebenen Stellen 
990 den Vorrang zu geben.
991
992 Die Funktion wird in zwei Schritten eingesetzt.  Zunächst muss sie
993 in der @code{\paper}-Umgebung aktiviert werden, wie gezeigt in
994 @ref{Page breaking}.  Dann muss noch angegeben werden, welche Stellen
995 bevorzugt für Seitenumbrüche benutzt werden sollen.
996
997 Für diesen zweiten Schritt gibt es zwei Methoden.  Am Einfachsten ist
998 es, die möglichen Seitenumbrüche mit dem Befehl @code{\allowPageTurn}
999 an jeder Stelle manuell anzugeben.
1000
1001 Wenn Ihnen das zu aufwändig ist, können Sie den @code{Page_turn_engraver}
1002 zu einem @code{Staff}- oder @code{Voice}-Kontext hinzufügen.  Dieser
1003 Engraver durchsucht den entsprechenden Kontext nach Stellen ohne Noten.
1004 (Es wird also nicht nach Pausen gesucht, sondern nach Stellen ohne
1005 Noten.  Dieses Verhalten verhindert, dass an polyphonen Stellen umgebrochen
1006 wird, wo nur in einer Stimme Pausen vorhanden sind.)  Wenn eine
1007 derartige Stelle ohne Noten gefunden wird, fügt der Engraver den
1008 Befehl @code{\allowPageTurn} am letzten Taktstrich des Abschnitts ein.  Wenn
1009 in dem Abschnitt ein besonderer Taktstrich vorkommt (wie etwa ein
1010 Doppelstrich), wird der Befehl nach diesem Taktstrich gesetzt.
1011
1012 @funindex minimumPageTurnLength
1013
1014 Der @code{Page_turn_engraver} list die Kontexteigenschaft
1015 @code{minimumPageTurnLength} um zu erkennen, wie lang eine Stelle
1016 frei von Noten sein muss, damit ein Seitenumbruch in Frage kommt.  Der
1017 Standardwert hierfür ist @code{#(ly:make-moment 1 1)}.  Wenn Sie
1018 Seitenumbrüche zum Umblättern ausschalten wollen, können Sie
1019 einen sehr großen Wert angeben.
1020
1021 @example
1022 \new Staff \with @{ \consists "Page_turn_engraver" @}
1023 @{
1024   a4 b c d |
1025   R1 | % Ein Seitenumbruch zum Umblättern erlaubt
1026   a4 b c d |
1027   \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
1028   R1 | % Seitenumbruch nicht erlaubt
1029   a4 b r2 |
1030   R1*2 | % Seitenumbruch erlaubt
1031   a1
1032 @}
1033 @end example
1034
1035 @funindex minimumRepeatLengthForPageTurn
1036
1037 Der @code{Page_turn_engraver} erkennt Wiederholungen vom Typ @code{volta}.
1038 Ein Seitenumbruch zum Umblättern wird nur zugelassen, wenn vor und nach
1039 der Wiederholung genug Zeit ist, um die Seite wieder zurückzublättern.
1040 Wenn die Wiederholung sehr kurz ist, kann auch Umblättern verboten
1041 werden.  Wenn Sie die Kontexteigenschaft
1042 @code{minimumRepeatLengthForPageTurn} definieren, erlaubt der
1043 @code{Page_turn_engraver} nur Umblättern in Wiederholungen, deren
1044 Dauer länger als dieser Wert ist.
1045
1046 Die Seitenumblätter-Befehle @code{\pageTurn}, @code{\noPageTurn} und
1047 @code{\allowPageTurn} können auch auf oberster Dateiebene benutzt
1048 werden, etwa zwischen Parituren und Textabschnitten.
1049
1050 @funindex \pageTurn
1051 @funindex \noPageTurn
1052 @funindex \allowPageTurn
1053
1054 @predefined
1055 @code{\pageTurn},
1056 @code{\noPageTurn},
1057 @code{\allowPageTurn}.
1058 @endpredefined
1059
1060 @seealso
1061 Schnipsel:
1062 @rlsr{Spacing}.
1063
1064 @knownissues
1065
1066 In einer Partitur sollte nur ein @code{Page_turn_engraver} vorkommen.  Wenn
1067 mehr als einer definiert werden, stören sie sich gegenseitig.
1068
1069
1070 @node Minimal page breaking
1071 @subsection Minimal page breaking
1072
1073 @funindex ly:minimal-breaking
1074
1075 Die @code{ly:minimal-breaking}-Funktion benötigt nur minimale Berechnungen,
1076 um die Seitenumbrüche zu bestimmen.  Die Seite wird mit möglichst
1077 vielen Systemen gefüllt und dann zur nächsten Seite gewechselt.  Die
1078 Funktion kann benutzt werden um Partituren mit vielen Seiten zu
1079 setzen, wenn die anderen Seitenumbruchsfunktionen zu langsam wären
1080 oder zu viel Speicher beanspruchen.  Auch für Seiten mit viel Text
1081 ist die Funktion geeignet.  Sie wird folgendermaßen aktiviert:
1082
1083 @example
1084 \paper @{
1085   #(define page-breaking ly:minimal-breaking)
1086 @}
1087 @end example
1088
1089
1090 @seealso
1091 Schnipsel:
1092 @rlsr{Spacing}.
1093
1094
1095 @node Explicit breaks
1096 @subsection Explicit breaks
1097
1098 Es kann vorkommen, dass LilyPond direkte @code{\break} oder
1099 @code{\pageBreak}-Befehl nicht beachtet.  Mit folgenden
1100 Einstellungen kann dieses Verhalten ausgeschaltet werden:
1101
1102 @example
1103 \override NonMusicalPaperColumn #'line-break-permission = ##f
1104 \override NonMusicalPaperColumn #'page-break-permission = ##f
1105 @end example
1106
1107 Wenn @code{line-break-permission} die Einstellung falsch
1108 (@code{##f}) hat, werden Zeilenumbrüche nur an den Befehlen
1109 @code{\break} eingefügt und nirgendwo anders.  Wenn
1110 @code{page-break-permission} die Einstellung falsch
1111 (@code{##f}) hat, werden Seitenumbrüche nur an den Befehlen
1112 @code{\pageBreak} eingefügt und nirgendwo anders.
1113
1114 @lilypond[quote,verbatim]
1115 \paper {
1116   indent = #0
1117   ragged-right = ##t
1118   ragged-bottom = ##t
1119 }
1120
1121 \score {
1122   \new Score \with {
1123     \override NonMusicalPaperColumn #'line-break-permission = ##f
1124     \override NonMusicalPaperColumn #'page-break-permission = ##f
1125   } {
1126     \new Staff {
1127       \repeat unfold 2 { c'8 c'8 c'8 c'8 } \break
1128       \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1129       \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1130       \repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
1131       \repeat unfold 8 { c'8 c'8 c'8 c'8 } \break
1132       \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1133       \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1134       \repeat unfold 2 { c'8 c'8 c'8 c'8 }
1135     }
1136   }
1137 }
1138 @end lilypond
1139
1140 @seealso
1141 Schnipsel:
1142 @rlsr{Spacing}.
1143
1144
1145 @node Using an extra voice for breaks
1146 @subsection Using an extra voice for breaks
1147
1148 Zeilen- und Seitenumbruchbefehle werden normalerweise direkt
1149 zusammen mit den Noten eingegeben.
1150
1151 @example
1152 \new Score @{
1153   \new Staff @{
1154     \repeat unfold 2 @{ c'4 c'4 c'4 c'4 @}
1155     \break
1156     \repeat unfold 3 @{ c'4 c'4 c'4 c'4 @}
1157   @}
1158 @}
1159 @end example
1160
1161 Hierdurch sind zwar die Befehle @code{\break} und @code{\pageBreak}
1162 einfach zu notieren, es werden aber Informationen zur Notation
1163 mit Informationen zur Anordnung auf der Seite vermischt.  Man kann
1164 diese Informationen auch voneinander trennen, indem man eine zusätzliche
1165 Stimme einfügt, in der Zeilen- und Seitenumbrüche vorgenommen werden.
1166 Diese zusätzliche Stimme enthält nur unsichtbare Noten und die
1167 Umbruchbefehle:
1168
1169 @lilypond[quote,verbatim]
1170 \new Score {
1171   \new Staff <<
1172      \new Voice {
1173         s1 * 2 \break
1174         s1 * 3 \break
1175         s1 * 6 \break
1176         s1 * 5 \break
1177      }
1178      \new Voice {
1179         \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1180         \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1181         \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1182         \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1183      }
1184   >>
1185 }
1186 @end lilypond
1187
1188 Mit dieser Herangehensweise kann der Code insbesondere
1189 dann klarer notiert werden, wenn man Einstellungen der
1190 @code{line-break-system-details}-Eigenschaft oder
1191 anderer Eigenschaften von
1192 @code{NonMusicalPaperColumnGrob} vornimmt (hierzu auch 
1193 @ref{Vertical spacing}).
1194
1195 @lilypond[quote,verbatim]
1196 \new Score {
1197   \new Staff <<
1198      \new Voice {
1199
1200         \overrideProperty "Score.NonMusicalPaperColumn"
1201         #'line-break-system-details #'((Y-offset . 0))
1202         s1 * 2 \break
1203
1204         \overrideProperty "Score.NonMusicalPaperColumn"
1205         #'line-break-system-details #'((Y-offset . 35))
1206         s1 * 3 \break
1207
1208         \overrideProperty "Score.NonMusicalPaperColumn"
1209         #'line-break-system-details #'((Y-offset . 70))
1210         s1 * 6 \break
1211
1212         \overrideProperty "Score.NonMusicalPaperColumn"
1213         #'line-break-system-details #'((Y-offset . 105))
1214         s1 * 5 \break
1215      }
1216      \new Voice {
1217         \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1218         \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1219         \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1220         \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1221      }
1222   >>
1223 }
1224 @end lilypond
1225
1226
1227 @seealso
1228 Notationsreferenz:
1229 @ref{Vertical spacing}.
1230
1231 Schnipsel:
1232 @rlsr{Spacing}.
1233
1234
1235 @node Vertical spacing
1236 @section Vertical spacing
1237
1238 @cindex vertikale Positionierung
1239 @cindex Positionierung, vertikal
1240 @cindex Abstände, vertikal
1241
1242 Vertikale Abstände werden durch drei Eigenschaften
1243 bestimmt:  wieviel Platz frei ist (etwa Papiergröße
1244 und Ränder), wieviel Platz zwischen Systemgruppen
1245 (engl. system) gesetzt werden soll und wieviel 
1246 Platz zwischen Notensystemen (engl. staff, Pl. staves)
1247 innerhalb von Gruppen gesetzt wird.
1248
1249 @menu
1250 * Vertical spacing inside a system::
1251 * Vertical spacing between systems::
1252 * Explicit staff and system positioning::
1253 * Two-pass vertical spacing::
1254 * Vertical collision avoidance::
1255 @end menu
1256
1257
1258 @node Vertical spacing inside a system
1259 @subsection Vertical spacing inside a system
1260
1261 @cindex Abstand zwischen Notensystemen
1262 @cindex Notensystemabstand
1263 @cindex Platz zwischen Notensystemen
1264 @cindex Platz innerhalb von Systemgruppen
1265 @cindex Systemgruppen, Abstände innerhalb
1266
1267 Die Höhe jeder Notensystemgruppe (engl. system) wird automatisch errechnet.
1268 Um einzelne Notensysteme daran zu hindern, sich zu überschneiden,
1269 werden Minimalabstände festgelegt.  Indem man diese ändert,
1270 können die Systeme enger zusammen gerückt werden.  Dadurch
1271 brauchen die Gruppen weniger Platz und es passen mehr Gruppen
1272 auf eine Seite.
1273
1274 Normalerweise werden die Notensysteme vertikal gestapelt.  Damit
1275 die Systeme einen bestimten Abstand einhalten, haben sie
1276 Füllabstände, die in der Eigenschaft @code{minimum-Y-extent}
1277 definiert sind.  Wenn diese Eigenschaft für ein
1278 @code{VerticalAxisGroup}-Objekt gesetzt wird, kann eingestellt
1279 werden, wieviel Platz nach unten oder oben die vertikale Linie
1280 (also das Notensystem oder eine Textzeile) einnimmt.  Die
1281 Eigenschaft braucht ein Zahlenpaar; der Standardwert ist
1282 @code{#'(-4 . 4)}.  Um also ein Notensystem schmaler zu machen,
1283 kann man schreiben:
1284
1285 @example
1286 \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
1287 @end example
1288
1289 @noindent
1290 Damit wird die vertikale Größe des Systems auf jeweils drei
1291 Notenlinienzwischenräume nach oben und unten von der Systemmitte
1292 aus eingestellt.  Der Wert @code{(-3 . 3)} wird als ein
1293 Intervall ausgewertet, dessen Zentrum bei 0 liegt; deshalb
1294 ist die erste Zahl immer negativ.  Die Zahlen müssen nicht
1295 gleich sein: man kann etwa die Ausdehnung nach unten vergrößern,
1296 indem man @code{(-6 . 4)} setzt.
1297
1298 Nachdem die Seitenumbrüche bestimmt wurden, wird die vertikale
1299 Platzverteilung innerhalb jeder Systemgruppe neu ausgewertet
1300 um die Seite so gleichmäßig wie möglich zu füllen.  Wenn auf
1301 einer Seite viel Platz übrigbleibt, werden die Gruppen etwas
1302 gedehnt um die Seite besser auszufüllen.  Die Größe dieser
1303 Dehnung kann mit der @code{max-stretch}-Eigenschaft
1304 des @code{VerticalAlignment}-Grobs eingestellt werden.
1305 Standardmäßig hat @code{max-stretch} den Wert 0, sodass
1306 die Dehnung ausgeschaltet ist.  Um sie einzuschalten, kann
1307 als guter Wert für @code{max-stretch} der Wert von
1308 @code{ly:align-interface::calc-max-stretch} eingesetzt werden.
1309
1310 In manchen Situationen sollen zwar die meisten Systeme gedehnt
1311 werden, einige Gruppen sollen aber einen festen Abstand einhalten.
1312 Das kann etwa der Fall sein, wenn ein Klaviersystem in der
1313 Mitte einer Orchesterpartitur vorkommt.  Mit der
1314 @code{keep-fixed-while-stretching}-Eigenschaft des
1315 @code{VerticalAxisGroup}-Objektes kann das erreicht werden.
1316 Wenn sie auf @code{##t} gesetzt wird, wird das entsprechende
1317 System (oder die Textzeile) nicht von der Zeile entfernt, die
1318 sich direkt darüber befindet.  Man müsste diese Einstellung
1319 als beispielsweise für das zweite Notensystem eines Klaviersystems
1320 vornehmen:
1321
1322 @lilypond[verbatim]
1323 #(set-default-paper-size "a6")
1324 #(set-global-staff-size 14.0)
1325
1326 \book {
1327 \paper {
1328   ragged-last-bottom = ##f
1329 }
1330
1331 \new Score \with
1332 {
1333   \override VerticalAlignment #'max-stretch = #ly:align-interface::calc-max-stretch
1334 }
1335 {
1336 \new GrandStaff
1337 <<
1338   \new StaffGroup
1339   <<
1340     \new Staff {c' d' e' f'}
1341     \new Staff {c' d' e' f'}
1342     \new Staff {c' d' e' f'}
1343   >>
1344
1345   \new PianoStaff
1346   <<
1347     \new Staff {c' d' e' f'}
1348     \new Staff \with {
1349       \override VerticalAxisGroup #'keep-fixed-while-stretching = ##t
1350     }
1351     {c' d' e' f'}
1352   >>
1353
1354   \new StaffGroup
1355   <<
1356     \new Staff {c' d' e' f'}
1357     \new Staff {c' d' e' f'}
1358   >>
1359 >>
1360 }
1361 }
1362 @end lilypond
1363
1364 Die vertikale Ausrichtung von Notensystemen wird
1365 von dem @code{VerticalAlignment}-Objekt vorgenommen.
1366 Die Kontextparameter für die vertikale Ausdehnung
1367 werden für den @code{Axis_group_engraver} angegeben.
1368
1369 @seealso
1370 Schnipsel:
1371 @rlsr{Spacing}.
1372
1373 @c @lsr{spacing,page-spacing.ly},
1374 @c @lsr{spacing,alignment-vertical-spacing.ly}.
1375
1376 Referenz der Interna:
1377 @rinternals{VerticalAlignment},
1378 @rinternals{Axis_group_engraver}.
1379
1380
1381 @node Vertical spacing between systems
1382 @subsection Vertical spacing between systems
1383
1384 Der Platz zwischen Notensystembruppen wird von vier
1385 Variablen in der @code{\paper}-Umgebung kontrolliert:
1386
1387 @example
1388 \paper @{
1389   between-system-space = 1.5\cm
1390   between-system-padding = #1
1391   ragged-bottom=##f
1392   ragged-last-bottom=##f
1393 @}
1394 @end example
1395
1396 Wenn nur ein paar schmale Systeme auf eine Seite gesetzt werden,
1397 kann die vertikale Platzverteilung recht negativ ausfallen, so
1398 dass etwa ein System ganz oben auf der Seite und das nächste
1399 unten auf der Seite erscheint, mit einer großen Lücke dazwischen.
1400 Um derartige Situationen zu umgehen, kann der Platz, der zwischen
1401 Gruppen eingefügt wird, begrenzt werden.  Dieses Verhalten wird
1402 aktiviert, indem die @code{page-limit-inter-system-space}-Variable
1403 in der @code{\paper}-Umgebung auf @code{##t} gesetzt wird.  Die
1404 Variable @code{page-limit-inter-system-space-factor} bestimmt,
1405 um wieviel der Platz zwischen Gruppen gedehnt werden darf:  Bei
1406 einem Wert von @code{1.3} etwa darf der Platz 30% größer sein
1407 als er es wäre, wenn die Seite mit der Option @code{ragged-bottom}
1408 gesetzt worden wäre.
1409
1410 Im folgenden Beispiel würde das zweite System der ersten Seite
1411 unten auf der Seite gesetzt werden, wenn der Platz zwischen
1412 den Systemen nicht begrenzt wäre.  Weil aber die Begrenzung
1413 eingesetzt wurde, wird das zweite System näher am ersten
1414 platziert.  Wenn @code{page-limit-inter-system-space-factor}
1415 auf @code{1} gesetzt wird, wäre die Platzverteilung die gleiche
1416 auf einer Seite mit @code{ragged-bottom}, wie etwa die letzte
1417 Seite einer Partitur.
1418
1419 @lilypond[verbatim]
1420 #(set-default-paper-size "a6")
1421 \book {
1422   \paper {
1423     page-limit-inter-system-space = ##t
1424     page-limit-inter-system-space-factor = 1.3
1425
1426     oddFooterMarkup = \markup "page bottom"
1427     evenFooterMarkup = \markup "page bottom"
1428     oddHeaderMarkup = \markup \fill-line {
1429       "page top" \fromproperty #'page:page-number-string }
1430     evenHeaderMarkup = \markup \fill-line {
1431       "page top" \fromproperty #'page:page-number-string }
1432   }
1433   \new Staff << \repeat unfold 4 { g'4 g' g' g' \break }
1434                 { s1*2 \pageBreak } >>
1435 }
1436 @end lilypond
1437
1438
1439 @seealso
1440 Schnipsel:
1441 @rlsr{Spacing}.
1442
1443
1444 @node Explicit staff and system positioning
1445 @subsection Explicit staff and system positioning
1446
1447 Man kann die Einstellungen des @code{VerticalAxisGroup}-Objekts
1448 und der @code{\paper}-Umgebung, wie sie im vorigen Abschnitt
1449 erklärt wurden, als eine Sammlung verschiedenerer Einstellmöglichkeiten
1450 verstehen, die vor allem die Größe des vertikalen Platzes zwischen
1451 Notensystemen und Gruppen auf der Seite kontrollieren.
1452
1453 Die vertikale Platzverteilung kann aber auch auf andere Weise
1454 eingestellt werden: mit den Optionen von
1455 @code{NonMusicalPaperColumn #'line-break-system-details}.  Während
1456 Einstellungen in @code{VerticalAxisGroup} und @code{\paper} Füllplatz
1457 definieren, werden mit
1458 @code{NonMusicalPaperColumn #'line-break-system-details} absolute vertikale
1459 Positionen auf der Seite festgelegt.
1460
1461 @code{NonMusicalPaperColumn #'line-break-system-details} akzeptiert eine
1462 Liste aus fünf unterschiedlichen Einstellungen:
1463
1464 @itemize
1465 @item @code{X-offset}
1466 @item @code{Y-offset}
1467 @item @code{alignment-offsets}
1468 @item @code{alignment-extra-space}
1469 @item @code{fixed-alignment-extra-space}
1470 @end itemize
1471
1472 Veränderungen von Grobs (wozu auch @code{NonMusicalPaperColumn} gehört),
1473 können an drei unterschiedlichen Stellen in der Quelldatei vorgenommen
1474 werde:
1475
1476 @itemize
1477 @item mitten im Notentext
1478 @item in einer @code{\context}-Umgebung
1479 @item in einer @code{\with}-Umgebung
1480 @end itemize
1481
1482 Wenn der Grob @code{NonMusicalPaperColumn} verändert werden soll,
1483 wird der @code{\override}-Befehl in der @code{\context} oder
1484 @code{\with}-Umgebung eingesetzt.  Wenn die Veränderungen aber
1485 mitten im Notentext stattfinden sollen, müssen Sie den Befehl
1486 @code{\overrideProperty} einsetzen.  Einige Beispiele für eine
1487 Veränderungen von @code{NonMusicalPaperColumn} mit dem
1488 @code{\overrideProperty}-Befehl sind hier aufgelistet:
1489
1490 @example
1491 \overrideProperty NonMusicalPaperColumn
1492   #'line-break-system-details #'((X-offset . 20))
1493
1494 \overrideProperty NonMusicalPaperColumn
1495   #'line-break-system-details #'((Y-offset . 40))
1496
1497 \overrideProperty NonMusicalPaperColumn
1498   #'line-break-system-details #'((X-offset . 20) (Y-offset . 40))
1499
1500 \override NonMusicalPaperColumn
1501   #'line-break-system-details #'((alignment-offsets . (0 -15)))
1502
1503 \override NonMusicalPaperColumn
1504   #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
1505                                  (alignment-offsets . (0 -15)))
1506 @end example
1507
1508 Um zu verstehen, wie jede dieser unterschiedlichen Einstellungen
1509 funktioniert, wollen wir uns ein Beispiel vornehmen, dass überhaupt
1510 keine Einstellungen (d.h. @code{override}-Befehle) enthält:
1511
1512 @c \book { } is required in these examples to ensure the spacing
1513 @c overrides can be seen between systems. -np
1514
1515 @lilypond[quote]
1516 \header { tagline = ##f }
1517 \paper { left-margin = 0\mm }
1518 \book {
1519   \score {
1520     <<
1521       \new Staff <<
1522         \new Voice {
1523           s1*5 \break
1524           s1*5 \break
1525           s1*5 \break
1526         }
1527         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1528       >>
1529       \new Staff {
1530         \repeat unfold 15 { d'4 d' d' d' }
1531       }
1532     >>
1533   }
1534 }
1535 @end lilypond
1536
1537 Diese Partitur nimmt Zeilen- und Seitenumbruchinformationen in einer
1538 eigenen Stimme vor.  Mit dieser Methode kann die Layout-Information
1539 einfach von den Noten getrennt werden, was sehr hilfreich ist, wenn
1540 das Beispiel komplizierter wird.  Siehe auch
1541 @ref{Using an extra voice for breaks}.
1542
1543 Ausdrückliche @code{\break}-Befehle teilen die Noten in sechs Takte
1544 lange Zeilen.  Die vertikale Platzverteilung wird von LilyPond
1545 errechnet.  Um den vertikalen Beginn einer jeden Systemgruppe
1546 genau anzugeben, kann @code{Y-offset} in der
1547 @code{line-break-system-details}-Eigenschaft des
1548 @code{NonMusicalPaperColumn}-Grobs wie in dem Beispiel
1549 ersichtlich benutzt werden:
1550
1551 @lilypond[quote]
1552 \header { tagline = ##f }
1553 \paper { left-margin = 0\mm }
1554 \book {
1555   \score {
1556     <<
1557       \new Staff <<
1558         \new Voice {
1559           \overrideProperty #"Score.NonMusicalPaperColumn"
1560             #'line-break-system-details #'((Y-offset . 0))
1561           s1*5 \break
1562           \overrideProperty #"Score.NonMusicalPaperColumn"
1563             #'line-break-system-details #'((Y-offset . 40))
1564           s1*5 \break
1565           \overrideProperty #"Score.NonMusicalPaperColumn"
1566             #'line-break-system-details #'((Y-offset . 80))
1567           s1*5 \break
1568         }
1569         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1570       >>
1571       \new Staff {
1572         \repeat unfold 15 { d'4 d' d' d' }
1573       }
1574     >>
1575   }
1576 }
1577 @end lilypond
1578
1579 In der @code{line-break-system-details}-Eigenschaft kann eine Liste
1580 mit vielen Einstellungen eingegeben werden, aber hier wird nur eine
1581 Einstellung angegeben.  Die @code{Y-offset}-Eigenschaft bestimmt
1582 hier die exakte vertikale Position auf der Seite, an welcher jede
1583 neue Systemgruppe begonnen wird.
1584
1585 Da jetzt der exakte Beginn eines jeden Systems explizit festgelegt wurde,
1586 können wir auch den exakten Beginn eines jeden Notensystems in der
1587 Gruppe festlegen.  Dies geschieht mit der @code{alignment-offsets}-Eigenschaft
1588 von @code{line-break-system-details}.
1589
1590 @lilypond[quote]
1591 \header { tagline = ##f }
1592 \paper { left-margin = 0\mm }
1593 \book {
1594   \score {
1595     <<
1596       \new Staff <<
1597         \new Voice {
1598           \overrideProperty #"Score.NonMusicalPaperColumn"
1599             #'line-break-system-details #'((Y-offset . 20)
1600                                            (alignment-offsets . (0 -15)))
1601           s1*5 \break
1602           \overrideProperty #"Score.NonMusicalPaperColumn"
1603             #'line-break-system-details #'((Y-offset . 60)
1604                                            (alignment-offsets . (0 -15)))
1605           s1*5 \break
1606           \overrideProperty #"Score.NonMusicalPaperColumn"
1607             #'line-break-system-details #'((Y-offset . 100)
1608                                            (alignment-offsets . (0 -15)))
1609           s1*5 \break
1610         }
1611         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1612       >>
1613       \new Staff {
1614         \repeat unfold 15 { d'4 d' d' d' }
1615       }
1616     >>
1617   }
1618 }
1619 @end lilypond
1620
1621 Dem @code{line-break-system-details}-Attribut des
1622 @code{NonMusicalPaperColumn}-Grobs werden zwei Eigenschaften
1623 zugewiesen.  Auch wenn die Liste (alist) von
1624 @code{line-break-system-details} sehr viel mehr Platzierungsparameter
1625 akzeptiert, müssen hier nu die Parameter @code{Y-offset} und
1626 @code{alignment-offsets} gesetzt werden, um den vertikalen Beginn
1627 jedes Systems und jeder Systemgruppe zu kontrollieren.  @code{Y-offset}
1628 bestimmt also die vertikale Position von Systemgruppen und @code{alignment-offsets}
1629 die vertikale Position von einzelnen Notensystemen.
1630
1631 @lilypond[quote]
1632 \header { tagline = ##f }
1633 \paper { left-margin = 0\mm }
1634 \book {
1635   \score {
1636     <<
1637       \new Staff <<
1638         \new Voice {
1639           \overrideProperty #"Score.NonMusicalPaperColumn"
1640             #'line-break-system-details #'((Y-offset . 0)
1641                                            (alignment-offsets . (0 -30 -40)))
1642           s1*5 \break
1643           \overrideProperty #"Score.NonMusicalPaperColumn"
1644             #'line-break-system-details #'((Y-offset . 60)
1645                                            (alignment-offsets . (0 -10 -20)))
1646           s1*5 \break
1647           \overrideProperty #"Score.NonMusicalPaperColumn"
1648             #'line-break-system-details #'((Y-offset . 100)
1649                                            (alignment-offsets . (0 -10 -40)))
1650           s1*5 \break
1651         }
1652         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1653       >>
1654       \new StaffGroup <<
1655         \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
1656         \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
1657       >>
1658     >>
1659   }
1660 }
1661 @end lilypond
1662
1663 Einige Dinge sollten beachtet werden:
1664
1665 @itemize
1666 @item Wenn @code{alignment-offsets} benutzt wird, werden Gesangtextzeilen
1667 als ein System gezählt.
1668
1669 @item Die Einheiten der Zahlen, die für @code{X-offset},
1670 @code{Y-offset} und @code{alignment-offsets} benutzt werden, werden als
1671 Vielfaches des Abstandes zwischen zwei Notenlinien gewertet.  Positive
1672 Werte verschieben Systeme und Gesangstext nach oben, negative Werte nach
1673 unten.
1674
1675 @item Weil die Einstellungen von @code{NonMusicalPaperColumn #'line-break-system-details}
1676 es möglich machen, Notensysteme und Gruppen an beliebigen Stellen auf der
1677 Seite zu platzieren, kann man damit auch Ränder überschreiben oder sogar
1678 Notensysteme übereinander platzieren.  Sinnvolle Werte für diese
1679 Parameter werden derartiges Verhalten vermeiden.
1680 @end itemize
1681
1682
1683 @seealso
1684 Schnipsel:
1685 @rlsr{Spacing}.
1686
1687
1688 @node Two-pass vertical spacing
1689 @subsection Two-pass vertical spacing
1690
1691 @warning{Vertikale Positionierung in zwei Durchgängen ist veraltet
1692 (deprecated) und wird in zukünftigen Versionen von LilyPond entfernt
1693 werden.  Systeme werden jetzt automatisch in einem einzigen
1694 Durchlauf gedehnt.  Siehe auch @ref{Vertical spacing inside a system}.}
1695
1696 Um Systeme zu dehnen, sodass sie den restlichen Platz auf der Seite
1697 auffüllen, kann ein Verfahren benutzt werden, dass die Positionierung
1698 in zwei Durchläufen ermittelt:
1699
1700 @enumerate
1701 @item Im ersten Durchlauf wird der Platz berechnet, um den jede
1702 Systemgruppe gedehnt werden sollte und in eine Datei geschrieben.
1703 @item Im zweiten Durchlauf werden die Systemgruppen anhand der
1704 Daten aus dieser Datei entsprechend gedehnt.
1705 @end enumerate
1706
1707 Die @code{ragged-bottom}-Eigenschaft fügt den Platz zwischen
1708 Systemgruppen ein, während mit der Technik in zwei Durchläufen
1709 die Systemgruppen selber gedehnt werden.
1710
1711 Um dieses Verhalten zu erzeugen, muss die @code{tweak-key}-Eigenschaft
1712 in der @code{\layout}-Umgebung jeder Partitur definiert werden und diese
1713 Anpassungen dann in jeder Paritur mit dem Befehl @code{\scoreTweak}
1714 angewandt werden.
1715
1716 @quotation
1717 @verbatim
1718 %% die erstellte Layout-Datei einfügen
1719 \includePageLayoutFile
1720
1721 \score {
1722   \new StaffGroup <<
1723     \new Staff <<
1724       %% Anpassungen für diese Partitur einfügen
1725       \scoreTweak "scoreA"
1726       { \clef french c''1 \break c''1 }
1727     >>
1728     \new Staff { \clef soprano g'1 g'1 }
1729     \new Staff { \clef mezzosoprano e'1 e'1 }
1730     \new Staff { \clef alto g1 g1 }
1731     \new Staff { \clef bass c1 c1 }
1732   >>
1733   \header {
1734     piece = "Score with tweaks"
1735   }
1736   %% Definieren, wie die Anpassungen für diese Datei genannt werden:
1737   \layout { #(define tweak-key "scoreA") }
1738 }
1739 @end verbatim
1740 @end quotation
1741
1742 Für den ersten Durchgang sollte die @code{dump-tweaks}-Option gesetzt
1743 werden, damit die Layout-Datei erstellt wird.
1744
1745 @example
1746 lilypond -dbackend=null -d dump-tweaks <file>.ly
1747 lilypond <file>.ly
1748 @end example
1749
1750
1751 @seealso
1752 Schnipsel:
1753 @rlsr{Spacing}.
1754
1755
1756 @node Vertical collision avoidance
1757 @subsection Vertical collision avoidance
1758
1759 @cindex Vermeidung von vertikalen Zusammenstößen
1760 @cindex Zusammenstöße, vertikal, vermeiden
1761 @cindex vertikale Zusammenstöße, vermeiden
1762 @cindex Kollisionen, vertikal, vermeiden
1763
1764 @funindex outside-staff-priority
1765 @funindex outside-staff-padding
1766 @funindex outside-staff-horizontal-padding
1767
1768 Intuitiv gibt es in der Notation einige Objekte, die zu dem Notensystem
1769 gehören, und einige andere, die immer außerhalb des Notensystems
1770 positioniert werden sollten.  Zu diesen letzteren gehören etwa
1771 Übungszeichen, Textbeschriftung und Dynamikbezeichnung (die als
1772 Objekte außerhalb des Systems bezeichnet werden können).  LilyPonds
1773 Regeln um diese Objekte zu positionieren lautet: so nah am Notensystem
1774 wie möglich, aber gerade so weit weg, dass sie nicht mit anderen
1775 Objekten zusammenstoßen.
1776
1777 Dabei setzt LilyPon die @code{outside-staff-priority}-Eigenschaft
1778 ein um herauszufinden, ob ein Grob ein Objekt außerhalb des Systems
1779 ist: wenn @code{outside-staff-priority} eine Zahl ist, dann handelt
1780 es sich um ein Objekt außerhalb des Systems.  Zusätzlich teilt
1781 @code{outside-staff-priority} noch mit, in welcher Reihenfolge
1782 die Objekte außerhalb des Systems gesetzt werden sollen.
1783
1784 Zuerst werden alle Objekte gesetzt, die nicht außerhalb des Systems
1785 gehören.  Dann werden die Objekte außerhalb des Systems nach dem Wert
1786 ihrer @code{outside-staff-priority}  (in aufsteigender Anordnung)
1787 sortiert.  Eins nach dem anderen werden diese Objekte schließlich
1788 genommen und so platziert, dass sie nicht mit den Objekten zusammenstoßen,
1789 die bereits platziert worden sind.  Wenn also zwei Objekte außerhalb
1790 des Systems um den gleichen Platz streiten, wird das mit dem
1791 geringeren Wert von @code{outside-staff-priority} näher an das
1792 entsprechende Notensystem gesetzt.
1793
1794 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1795 c4_"Text"\pp
1796 r2.
1797 \once \override TextScript #'outside-staff-priority = #1
1798 c4_"Text"\pp % this time the text will be closer to the staff
1799 r2.
1800 % by setting outside-staff-priority to a non-number,
1801 % we disable the automatic collision avoidance
1802 \once \override TextScript #'outside-staff-priority = ##f
1803 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
1804 c4_"Text"\pp % now they will collide
1805 @end lilypond
1806
1807 Der Platz, der zwischen einem Objekt außerhalb des Systems und
1808 dem vorhergehenden Objekt eingefügt werden kann (auch als
1809 padding bezeichnet), kann durch @code{outside-staff-padding}
1810 kontrolliert werden.
1811
1812 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1813 \once \override TextScript #'outside-staff-padding = #0
1814 a'^"This text is placed very close to the note"
1815 \once \override TextScript #'outside-staff-padding = #3
1816 c^"This text is padded away from the previous text"
1817 c^"This text is placed close to the previous text"
1818 @end lilypond
1819
1820 Standardmäßig werden Objekte außerhalb des Systems so gesetzt,
1821 dass sie eine horizontale Überschneidung mit einem der
1822 vorher gesetzten Grobs vermeiden.  Das kann zu Situationen
1823 führen, in denen Objekte sehr dicht nebeneinander gesetzt
1824 werden.  Der vertikale Platz zwischen Notensystemen kann
1825 auch gesetzt werden, sodass Objekte außerhalb des Systems
1826 ineinander greifen. Mit der Eigenschaft
1827 @code{outside-staff-horizontal-padding} können Objekte vertikal
1828 verschoben werden und derartige Situationen kommen nicht
1829 vor.
1830
1831 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1832 % the markup is too close to the following note
1833 c4^"Text"
1834 c4
1835 c''2
1836 % setting outside-staff-horizontal-padding fixes this
1837 R1
1838 \once \override TextScript #'outside-staff-horizontal-padding = #1
1839 c,,4^"Text"
1840 c4
1841 c''2
1842 @end lilypond
1843
1844 @seealso
1845 Schnipsel:
1846 @rlsr{Spacing}.
1847
1848
1849 @node Horizontal spacing
1850 @section Horizontal spacing
1851
1852 @cindex horizontale Platzierung
1853 @cindex horizontale Anordnung
1854 @cindex Anordnung, horizontal
1855
1856 @menu
1857 * Horizontal spacing overview::
1858 * New spacing area::
1859 * Changing horizontal spacing::
1860 * Line length::
1861 * Proportional notation::
1862 @end menu
1863
1864
1865 @node Horizontal spacing overview
1866 @subsection Horizontal spacing overview
1867
1868 Die Setzmaschine interpretiert unterschiedliche Notendauern als
1869 dehnbare Abstände (engl. spring) unterschiedlicher Länge.  Längere
1870 Dauern erhalten mehr Platz, kürzere weniger.  Die kürzeste Dauer
1871 erhält eine feste Breite (die mit @code{shortest-duration-space}
1872 im @code{SpacingSpanner}-Objekt kontrolliert werden kann).  Je
1873 länger die Dauer, umso mehr Platz erhält die Note: wenn ihre
1874 Dauer verdoppelt wird, wird ein bestimmter Platz hinzugefügt
1875 (dessen Breite durch @code{spacing-increment} bestimmt werden
1876 kann).
1877
1878 Das folgende Stück beispielsweise enthält Halbe, Viertel und Achtel.
1879 Die Achtelnote wird gefolgt von einem Notenkopfabstand (NKA).  Die
1880 Viertel wird von 2 NKA gefolgt, die Halbe von 3 NKA usw.
1881
1882 @lilypond[quote,fragment,verbatim,relative=1]
1883 c2 c4. c8 c4. c8 c4. c8 c8
1884 c8 c4 c4 c4
1885 @end lilypond
1886
1887 Normalerweise ist @code{spacing-increment} definiert als 1.2 mal
1888 der Abstand zwischen zwei Notenlinien, was in etwa die Breite eines
1889 Notenkopfes ist.  @code{shortest-duration-space} ist definiert als
1890 2.0, was bedeutet, dass die kürzeste Note 2.4 Notenlinienabstände
1891 2.0 mal der Wert von @code{spacing-increment}) horizontalen
1892 Abstand erhält.  Der Abstand wirdvon der linken Kande des Symbols
1893 errechnet, so dass die kürzeste Note üblicherweise von 1 NKA
1894 Abstand gefolgt wird.
1895
1896 Wenn diese Herangehensweise konsequent angewandt würde, würde eine
1897 einzige Zweiunddreißigstel eine Partitur, in der vor allem Achtel und
1898 Sechzehntel vorkommen, sehr weit auseinanderdehnen.  Die kürzeste
1899 Note wäre nun keine Sechzehntel mehr, sondern eine Zweiunddreißigstel,
1900 wodurch an jede Note der Wert von 1 NKA hinzugefügt würde.  Um das
1901 zu vermeiden, ist die kürzeste Dauer für die Platzverteilung nicht die
1902 kürzeste Note einer Partitur, sondern die, die am häufigsten vorkommt.
1903
1904 Die Notendauer, die am häufigsten vorkommt, wird auf folgende
1905 Weise bestimmt: in jedem Takt wird die kürzeste Note bestimmt.  Die
1906 häufigste kürzeste Note wird dann als Grundlage für die Platzverteilung
1907 der Noten herangezogen, mit der Bedingung, dass diese kürzeste
1908 Note immer ein Achtel oder kürzer sein soll.  Die kürzeste Dauer
1909 wird ausgegeben, wenn @code{lilypond} mit der Option @code{--verbose}
1910 aufgerufen wird.
1911
1912 Diese Dauern können aber auch angepasst werden.  Wenn Sie die Eigenschaft
1913 @code{common-shortest-duration} in dem @code{SpacingSpanner} setzen,
1914 dann wird hiermit die Grunddauer für die Platzverteilung eingestellt.
1915 Die maximale Dauer für diesen Grundwert (normalerweise eine Achtel)
1916 wird definiert mit @code{base-shortest-duration}.
1917
1918 @funindex common-shortest-duration
1919 @funindex base-shortest-duration
1920 @funindex stem-spacing-correction
1921 @funindex spacing
1922
1923 Noten, die noch kürzer sind als die häufigste kürzeste Note, werden
1924 durch einen Platz voneinander getrennt, der proportional zu ihrer
1925 Dauer in Beziehung zur häufigsten kürzesten Note ist.  Wenn also
1926 nur ein paar Sechszehntel zu dem obigen Beispiel hinzugefügt werden,
1927 würden sie von 1/2 NKA gefolgt werden:
1928
1929 @lilypond[quote,fragment,verbatim,relative=2]
1930 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
1931 @end lilypond
1932
1933 In der Einleitung (siehe @rlearning{Engraving}) wurde erklärt, dass die
1934 Richtung der Notenhälse die Platzverteilung beeinflusst.  Das wird
1935 kontrolliert durch die @code{stem-spacing-correction}-Eigenschaft
1936 in dem @code{NoteSpacing}-Objekt.  Dieses Objekt wird für jeden
1937 @code{Voice}-Kontext erstellt.  Das @code{StaffSpacing}-Objekt (in
1938 einem @code{Staff}-Kontext erstellt) enthält die gleiche Eigenschaft,
1939 um die Verteilung von Hälsen neben Taktlinien zu kontrollieren.  In
1940 dem folgenden Beispiel werden diese Einstellungen gezeigt, einmal
1941 mit den Standardwerten und dann mit größeren Werten, damit man sie
1942 besser sieht:
1943
1944 @lilypond[quote,ragged-right]
1945 {
1946   c'4 e''4 e'4 b'4 |
1947   b'4 e''4 b'4 e''4|
1948   \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
1949   \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
1950   c'4 e''4 e'4 b'4 |
1951   b'4 e''4 b'4 e''4|
1952 }
1953 @end lilypond
1954
1955 Proportionale Notation ist unterstützt, siehe @ref{Proportional notation}.
1956
1957 @seealso
1958 Schnipsel:
1959 @rlsr{Spacing}.
1960
1961 Referenz der Interna:
1962 @rinternals{SpacingSpanner},
1963 @rinternals{NoteSpacing},
1964 @rinternals{StaffSpacing},
1965 @rinternals{SeparationItem}.
1966
1967 @knownissues
1968
1969 Es gibt keine sinnvolle Möglichkeit, die horizontale Verteilung der
1970 Noten zu unterdrücken.  Die folgende Problemumgehung kann benutzt
1971 werden, um zusätzlichen Platz in eine Partitur einzufügen.
1972
1973 @example
1974  \once \override Score.SeparationItem #'padding = #1
1975 @end example
1976
1977 Es gibt derzeit keine Möglichkeit, den Platz zu verringern.
1978
1979
1980 @node New spacing area
1981 @subsection New spacing area
1982
1983 @cindex horizontale Notenabstände, Abschnitte definierten
1984 @cindex Notenabstände, Abschnitte definieren
1985 @cindex Abschnitte definieren, Notenabstände
1986
1987 Neue Abschnitte mit unterschiedlichen Notenabstandsparametern
1988 können mit dem Befehl @code{newSpacingSection} begonnen werden.
1989 Das ist hilfreich, wenn in verschiedenen Abschnitten die
1990 Verhältnisse von kurzen und langen Noten sehr unterschiedlich
1991 ausfallen.
1992
1993 Im folgenden Beispiel wird durch die neue Taktart ein neuer
1994 Abschnitt begonnen, in dem die Sechszehntel weiter außeinander
1995 gesetzt werden sollen.
1996
1997 @lilypond[relative,fragment,verbatim,quote]
1998 \time 2/4
1999 c4 c8 c
2000 c8 c c4 c16[ c c8] c4
2001 \newSpacingSection
2002 \time 4/16
2003 c16[ c c8]
2004 @end lilypond
2005
2006 Der @code{\newSpacingSection}-Befehl erstellt ein neues
2007 @code{SpacingSpanner}-Objekt, weshalb auch neue Anpassungen
2008 mit dem @code{\override}-Befehl an dieser Stelle eingesetzt
2009 werden können.
2010
2011 @seealso
2012 Schnipsel:
2013 @rlsr{Spacing}.
2014
2015 Referenz der Interna:
2016 @rinternals{SpacingSpanner}.
2017
2018
2019 @node Changing horizontal spacing
2020 @subsection Changing horizontal spacing
2021
2022 @cindex Notenabstände, horizontal
2023 @cindex horizontale Abstände
2024 @cindex horizontale Notenabstände
2025
2026 Die horizontalen Abstände können mit der
2027 @code{base-shortest-duration}-Eigenschaft
2028 verändert werden.  In den folgenden Beispielen
2029 werden die gleichen Noten eingesetzt, zuerst
2030 ohne die Eigenschaft zu verändern, im zweiten
2031 Beispiel dann mit einem anderen Wert.  Größere
2032 Werte für @code{ly:make-moment} ergeben dichtere
2033 Noten.  @code{ly:make-moment} erstellt eine Dauer,
2034 die als Bruch notiert wird, sodass @code{1 4}
2035 eine größere Dauer ist als @code{1 16}.
2036
2037 @lilypond[verbatim,line-width=12\cm]
2038 \score {
2039   \relative c'' {
2040     g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2041     g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2042     d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2043     g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2044   }
2045 }
2046 @end lilypond
2047
2048 @lilypond[verbatim,line-width=12\cm]
2049 \score {
2050   \relative c'' {
2051     g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2052     g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2053     d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2054     g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2055   }
2056   \layout {
2057     \context {
2058       \Score
2059       \override SpacingSpanner
2060                 #'base-shortest-duration = #(ly:make-moment 1 16)
2061     }
2062   }
2063 }
2064 @end lilypond
2065
2066
2067 @snippets
2068
2069 Standardmäßig wird die Platzverteilung in Triolen und andern
2070 rhythmischen Aufteilungen nach verschiedenen nicht von der
2071 Dauer abgeleiteten Faktoren (wie Versetzungszeichen,
2072 Schlüsselwechseln usw.) berechnet.  Um diese Symbole zu
2073 ignorieren und eine gleichmäßige Verteilung der Noten
2074 zu erzwingen, kann die gleichmäßige Dehnung (engl.
2075 uniform stretching) zu Beginn einer Partitur eingeschaltet
2076 werden:
2077
2078 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
2079 \new Score \with {
2080   \override SpacingSpanner #'uniform-stretching = ##t
2081 } <<
2082   \new Staff{
2083     \times 4/5 {
2084       c8 c8 c8 c8 c8
2085     }
2086     c8 c8 c8 c8
2087   }
2088   \new Staff{
2089     c8 c8 c8 c8
2090     \times 4/5 {
2091       c8 c8 c8 c8 c8
2092     }
2093   }
2094 >>
2095 @end lilypond
2096
2097 Wenn @code{strict-note-spacing} eingestellt ist, werden Noten
2098 gesetzt, ohne dass Schlüssel, Taktlinine oder Verzierungsnoten
2099 zusätzlichen Platz erhalten.
2100
2101 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
2102 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2103 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c]  c32[ c32] }
2104 @end lilypond
2105
2106
2107 @seealso
2108 Schnipsel:
2109 @rlsr{Spacing}.
2110
2111
2112 @node Line length
2113 @subsection Line length
2114
2115 @cindex Seitenumbrüche
2116 @cindex Umbrechen von Seiten
2117 @cindex Zeilenlänge
2118 @cindex Länge von Zeilen
2119
2120 @funindex indent
2121 @funindex line-width
2122 @funindex ragged-right
2123 @funindex ragged-last
2124
2125 @c Although line-width can be set in \layout, it should be set in paper
2126 @c block, to get page layout right.
2127 @c Setting indent in \paper block makes not much sense, but it works.
2128
2129 @c Bit verbose and vague, use examples?
2130 Die grundlegenden Einstellungen, die Einfluss auf die Zeilenlänge
2131 haben, sind @code{indent} (Einzug) und @code{line-width}
2132 (Zeilenbreite).  Sie werden in der @code{\layout}-Umgebung
2133 einestellt.  Der erste Befehl bestimmt den Einzug der ersten
2134 Zeile, der zweite die Zeilenlänge der weiteren Notenzeilen.
2135
2136 Wenn @code{ragged-right} eingestellt ist (als in der
2137 @code{\layout}-Umgebung auf den Wert @code{#t} gesetzt wurde),
2138 werden die Systeme linksbündig gesetzt und nicht bis zum
2139 rechten Rand hin durchgezogen, sondern den Noten entsprechend
2140 gesetzt.  Das ist oftmals nützlich für kleine Notenfragmente
2141 und um zu überprüfen, wie eng die Noten natürlicherweise
2142 gesetzt werden würden.
2143
2144 Die Option @code{ragged-last} verhält sich ähnlich zu @code{ragged-right},
2145 aber wirkt sich nur auf die letzte Zeile eines Stückes aus.
2146 Für diese letzte Zeile gibt es keine Einschränkungen.  Das
2147 Resultat erinnert an Textabsätze im Blocksatz, wo die letzte
2148 Zeile des Absatzes mit ihrer natürlichen Länge gestzt wird.
2149
2150 @example
2151 \layout @{
2152 indent = #0
2153 line-width = #150
2154 ragged-last = ##t
2155 @}
2156 @end example
2157
2158 @seealso
2159 Schnipsel:
2160 @rlsr{Spacing}.
2161
2162
2163 @node Proportional notation
2164 @subsection Proportional notation
2165
2166 LilyPond hat Unterstützung für proportionale Notation.  Dabei handelt
2167 es sich um eine horizontale Platzverteilung, die jeder Note einen
2168 exakt ihrer Dauer entsprechenden Platz zuordnet.  Man kann es vergleichen
2169 mit der Notenplatzierung auf einem Raster.  In einigen Partituren
2170 des späten 20. und frühen 21. Jahrhunderts wird dies proportionale
2171 Notation benutzt, um sehr komplizierte rhythmische Verhältnisse
2172 klarer darzustellen, oder um einen Zeitstrahl oder ähnliche Graphiken
2173 direkt in die Partitur zu integrieren.
2174
2175 LilyPond hat Unterstützung für fünf verschiedene Einstellungen der
2176 proportionalen Notation, die alle zusammen oder jede für sich
2177 benutzt werden können:
2178
2179 @itemize
2180 @item @code{proportionalNotationDuration} (proportionale Notendauer)
2181 @item @code{uniform-stretching} (gleichmäßige Dehnung)
2182 @item @code{strict-note-spacing} (strenge Notenverteilung)
2183 @item @code{\remove Separating_line_group_engraver} (entferne Liniengruppentrennungsengraver)
2184 @item @code{\override PaperColumn #'used = ##t} (PapierSpalte benutzt = wahr)
2185 @end itemize
2186
2187 In den Beispielen unten werden diese fünf unterschiedlichen Einstellungen
2188 für die proportionale Notation vorgestellt und ihre Wirkungen
2189 untereinander illustriert.
2190
2191 Es soll mit diesem 1 Takt langen Beispiel begonnen werden, in welchem
2192 die klassischen Abstände und Flattersatz (ragged-right) eingesetzt werden:
2193
2194 @lilypond[quote,verbatim,ragged-right]
2195 \new Score <<
2196   \new RhythmicStaff {
2197     c'2
2198     c'16 c'16 c'16 c'16
2199     \times 4/5 {
2200       c'16 c'16 c'16 c'16 c'16
2201     }
2202   }
2203 >>
2204 @end lilypond
2205
2206 Die Halbe, mit der der Takt beginnt, braucht weitaus weniger
2207 Platz als die Hälfte des Taktes.  Gleichermaßen haben die
2208 Sechszehntel und die Sechszehntel-Quintolen (oder Zwanzigstel),
2209 mit denen der Takt endet, insgesamt weitaus mehr als die Hälfte
2210 der Taktbreite.
2211
2212 Im klassischen Notensatz kann dieses Verhalten genau das gewünschte
2213 Ergebnis bringen, weil dadurch horizontaler Platz von der Halben
2214 weggenommen werden kann und so insgesamt Platz in dem Takt eingespart
2215 wird.
2216
2217 Wenn allerdings ein Zeitstrahl oder andere zeitliche ablaufende
2218 Graphiken über oder unter dem Takt eingefügt werden soll, braucht man
2219 eine Notenplatzierung, die exakt der von ihnen eingenommenen Dauer
2220 entspricht.  Auf folgende Art wird die proportionale Notation
2221 eingeschaltet:
2222
2223 @lilypond[quote,verbatim,ragged-right]
2224 \new Score \with {
2225   proportionalNotationDuration = #(ly:make-moment 1 20)
2226 } <<
2227   \new RhythmicStaff {
2228     c'2
2229     c'16 c'16 c'16 c'16
2230     \times 4/5 {
2231       c'16 c'16 c'16 c'16 c'16
2232     }
2233   }
2234 >>
2235 @end lilypond
2236
2237 Die Halbe zu Beginn des Taktes und die schnelleren Noten in der zweiten
2238 Takthälfte nehmen jetzt genau den gleichen horizontalen Platz ein.  Jetzt
2239 könnte man einen Zeitstrahl mit dem Takt synchronisieren.
2240
2241 Die Einstellung von @code{proportionalNotationDuration} gehört zum
2242 @code{Score}-Kontext.  Kontexteinstellungen können an drei verschiedenen
2243 Stellen in der Quelldatei geschrieben werden: in einer @code{\with}-Umgebung,
2244 in einer @code{\context}-Unmgebung oder direkt in den Noten mit dem
2245 @code{\set}-Befehl.  Alle drei Positionen sind gleichwertig und es hängt
2246 vom Benutzer ab, welche bevorzugt wird.
2247
2248 Die Eigenschaft @code{proportionalNotationDuration} braucht ein Argument,
2249 welches die Referenzdauer ist, anhand welcher alle Noten platziert werden.
2250 Hier wird die LilyPond Scheme-Funktion @code{make-moment} eingesetzt.  Sie
2251 braucht zwei Argumente: einen Zähler und einen Nenner, die einen Bruch einer
2252 Ganzen darstellen.  Die Funktion @code{#(ly:make-moment 1 20)} ergibt also
2253 eine Referenzdauer von einer Zwanzigstel.  Genauso gut können etwa die Dauern
2254 @code{#(ly:make-moment 1 16)}, @code{#(ly:make-moment 1 8)} oder
2255 @code{#(ly:make-moment 3 97)} eingesetzt werden.
2256
2257 Die richtige Referenzdauer, mit der eine vernünftige Verteilung der Noten
2258 proportional möglich ist, muss durch Ausprobieren herausgefunden werden.
2259 Dabei sollte man mit einer Dauer beginnen, die der kleinsten Note des
2260 Stückes nahekommt.  Kleine Referenzdauern lassen die Noten sehr gedehnt
2261 erscheinen, größere Referenzdauern zwingen sie dichter zusammen.
2262
2263 @lilypond[quote,verbatim,ragged-right]
2264 \new Score \with {
2265   proportionalNotationDuration = #(ly:make-moment 1 8)
2266 } <<
2267   \new RhythmicStaff {
2268     c'2
2269     c'16 c'16 c'16 c'16
2270     \times 4/5 {
2271       c'16 c'16 c'16 c'16 c'16
2272     }
2273   }
2274 >>
2275
2276 \new Score \with {
2277   proportionalNotationDuration = #(ly:make-moment 1 16)
2278 } <<
2279   \new RhythmicStaff {
2280     c'2
2281     c'16 c'16 c'16 c'16
2282     \times 4/5 {
2283       c'16 c'16 c'16 c'16 c'16
2284     }
2285   }
2286 >>
2287
2288 \new Score \with {
2289   proportionalNotationDuration = #(ly:make-moment 1 32)
2290 } <<
2291   \new RhythmicStaff {
2292     c'2
2293     c'16 c'16 c'16 c'16
2294     \times 4/5 {
2295       c'16 c'16 c'16 c'16 c'16
2296     }
2297   }
2298 >>
2299 @end lilypond
2300
2301 Man muss beachten, dass die Referenzdauer nicht zu groß ist
2302 (wie die Achtel in dem Beispiel oben), denn dadurch werden
2303 die Noten so dicht gesetzt, dass sich eventuell sogar Notenköpfe
2304 von sehr kleinen Notenwerten überschneiden können.  Die proportionale
2305 Notation nimmt üblicherweise mehr Platz ein als die klassische
2306 Platzverteilung.  Der rhythmischen Klarheit muss ein eng gesetztes
2307 Notenbild geopfert werden.
2308
2309 In Folgenden soll betrachtet werden, wie sich überlappende
2310 rhythmische Aufteilungen am besten positioniert werden.  Als Referenz
2311 wird das erste Beispiel herangezogen, zu welchem ein zweites
2312 System mit anderen rhythmischen Werten hinzugefügt wird:
2313
2314 @lilypond[quote,verbatim,ragged-right]
2315 \new Score <<
2316   \new RhythmicStaff {
2317     c'2
2318     c'16 c'16 c'16 c'16
2319     \times 4/5 {
2320       c'16 c'16 c'16 c'16 c'16
2321     }
2322   }
2323   \new RhythmicStaff {
2324     \times 8/9 {
2325       c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2326     }
2327   }
2328 >>
2329 @end lilypond
2330
2331 Die Platzaufteilung ist schlecht, weil die gleichlangen Noten des
2332 untersten Systems nicht gleichmäßig verteilt sind.  Im klassischen
2333 Notensatz kommen komplexe rhythmische Verhältnisse wie dieses sehr
2334 selten vor, sodass der Notensatz nicht in Hinsicht auf sie optimiert
2335 ist.  @code{proportionalNotationDuration} hilft in
2336 dieser Situation deutlich:
2337
2338 @lilypond[quote,verbatim,ragged-right]
2339 \new Score \with {
2340   proportionalNotationDuration = #(ly:make-moment 1 20)
2341 } <<
2342   \new RhythmicStaff {
2343     c'2
2344     c'16 c'16 c'16 c'16
2345     \times 4/5 {
2346       c'16 c'16 c'16 c'16 c'16
2347     }
2348   }
2349   \new RhythmicStaff {
2350     \times 8/9 {
2351       c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2352     }
2353   }
2354 >>
2355 @end lilypond
2356
2357 Aber bei sehr genauer Betrachtung sind die Noten der zweiten Hälfte
2358 der Nonole doch immernoch eine Spur weiter gesetzt als die Noten
2359 der ersten Hälfte.  Um wirklich gleichmäßige Abstände zu erzwingen,
2360 sollte auch noch die gleichmäßige Dehnung angeschaltet werden:
2361
2362 @lilypond[quote,verbatim,ragged-right]
2363 \new Score \with {
2364   proportionalNotationDuration = #(ly:make-moment 1 20)
2365   \override SpacingSpanner #'uniform-stretching = ##t
2366 } <<
2367   \new RhythmicStaff {
2368     c'2
2369     c'16 c'16 c'16 c'16
2370     \times 4/5 {
2371       c'16 c'16 c'16 c'16 c'16
2372     }
2373   }
2374   \new RhythmicStaff {
2375     \times 8/9 {
2376       c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2377     }
2378   }
2379 >>
2380 @end lilypond
2381
2382 Das Beispiel mit den zwei Systemen ist nun exakt nach den
2383 rhythmischen Werten der Noten gesetzt, sodass ein Zeitstrahl
2384 oder ähnliches eingefügt werden könnte.
2385
2386 Alle Einstellungen zur proportionalen Notation erwarten,
2387 dass die @code{uniform-stretching}-Eigenschaft des
2388 @code{SpacingSpanner}-Objekts auf wahr gesetzt wird.  Andernfalls
2389 kann es vorkommen, dass bestimmte Abstände (etwa von
2390 unsichtbaren Noten) nicht richtig gesetzt werden.
2391
2392 Das @code{SpacingSpanner}-Objekt ist ein abstraktes Grob, dass sich im
2393 @code{Score}-Kontext befindet.  Genauso wie die Einstellungen
2394 von @code{proportionalNotationDuration} können auch diese
2395 Veränderungen an den drei Stellen in der Quelldatei vorkommen:
2396 in der @code{\with}-Umgebung innerhalb von @code{Score}, in
2397 einer @code{\context}-Umgebung oder direkt im Notentext.
2398
2399 Standardmäßig gibt es nur ein @code{SpacingSpanner} pro @code{Score}.
2400 Das heißt, dass @code{uniform-stretching} für die gesamte Partitur
2401 (d.h. für die Reichweite von @code{Score}) entweder an- oder
2402 ausgeschaltet ist.  Man kann allerdings in einer Partitur unterschiedliche
2403 Abschnitte mit verschiedenem Platzierungsverhalten definieren.
2404 Hierzu ist der Befehl @code{\newSpacingSection} da.  Siehe auch @ref{New spacing area}.
2405
2406 Im Folgenden soll gezeigt werden, wie sich der @code{Separating_line_group_engraver}
2407 auswirkt und warum er normalerweise für proportionale Notation ausgeschaltet wird.
2408 In diesem Beispiel wird verdeutlicht, dass vor jeder ersten Note eines Notensystems
2409 immer etwas zusätzlicher Platz gesetzt wird:
2410
2411 @lilypond[quote,verbatim,ragged-right]
2412 \paper {
2413   indent = #0
2414 }
2415
2416 \new Staff {
2417   c'1
2418   \break
2419   c'1
2420 }
2421 @end lilypond
2422
2423 Der gleiche horizontale Platz wird vor eine Noten gesetzt, wenn sie
2424 einer Taktart, einem Schlüssel oder einer Tonartbezeichnung folgt.
2425 Dieser Platz wird durch @code{Separating_line_group_engraver}
2426 eingefügt; wenn wir ihn aus der Partitur entfernen, entfällt
2427 auch dieser zusätzliche Platz:
2428
2429 @lilypond[quote,verbatim,ragged-right]
2430 \paper {
2431   indent = #0
2432 }
2433
2434 \new Staff \with {
2435   \remove Separating_line_group_engraver
2436 } {
2437   c'1
2438   \break
2439   c'1
2440 }
2441 @end lilypond
2442
2443 Nichmusikalische Elemente wir Takt- und Tonartangaben, Schlüssel und
2444 Versetzungszeichen sind problematisch in proportionaler
2445 Notation.  Keine dieser Elemente hat eine rhythmische Dauer, aber
2446 alle brauchen horizontalen Platz.  Das Problem wird auf unterschiedliche
2447 Weise gelöst.
2448
2449 Es ist manchmal möglich, Probleme mit Tonarten zu lösen, indem keine
2450 benutzt werden.  Das ist durchaus eine ernstzunehmende Option, weil
2451 die meisten Partituren mit proportionaler Notation für heutige
2452 Musik geschrieben werden.  Ähnliches gilt für Taktarten, insbesondere,
2453 wenn ein Zeitstrahl in die Partitur eingearbeitet werden soll.
2454 In den meisten Parituren kommt jedoch irgendeine Taktart vor.
2455 Schlüssel und Versetzungszeichen sind noch wichtiger; auf
2456 sie kann selten verzichtet werden.
2457
2458 Eine Lösungsmöglichkeit ist es, die @code{strict-note-spacing}-Eigenschaft
2459 des @code{SpacingSpanner}-Objekts zu benutzen.  Zum Vergleich
2460 die beiden Partituren unten:
2461
2462 @lilypond[quote,verbatim,ragged-right]
2463 \new Staff {
2464   \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
2465   c''8
2466   c''8
2467   c''8
2468   \clef alto
2469   d'8
2470   d'2
2471 }
2472
2473 \new Staff {
2474   \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
2475   \override Score.SpacingSpanner #'strict-note-spacing = ##t
2476   c''8
2477   c''8
2478   c''8
2479   \clef alto
2480   d'8
2481   d'2
2482 }
2483 @end lilypond
2484
2485 Bei beiden handelt es sich um proportionale Notation, aber
2486 die Platzverteilung im oberen Beispiel ist zu weit wegen
2487 des Schlüsselwechsels.  Die Platzverteilung des zweiten
2488 Beispiels dagegen bleibt rhythmisch korrekt.
2489 @code{strict-note-spacing} bewirkt, dass Takt- und
2490 Tonartbezeichnungen, Schlüssel und Versetzungszeichen
2491 keine Rolle bei der Berechnung der Abstände spielen.
2492
2493 Zusätzlich zu den hier vorgestellten Einstellungen gibt es
2494 noch eine Reihe von Möglichkteiten, die oft in proportionaler
2495 Notation benutzt werden.  Dazu gehören:
2496
2497 @itemize
2498 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
2499 @item @code{tupletFullLength = ##t}
2500 @item @code{\override Beam #'breakable = ##t}
2501 @item @code{\override Glissando #'breakable = ##t}
2502 @item @code{\override TextSpanner #'breakable = ##t}
2503 @item @code{\remove Forbid_line_break_engraver in the Voice context}
2504 @end itemize
2505
2506 Diese Einstellungn bewirken, dass auch Verzierungsnoten proportional
2507 gesetzt werden, dass Klammern von rhythmischen Gruppen bis zu den
2508 Anfangs- und Endpunkten ausgedehnt werden und lassen dehnbare
2509 Objekte wie Balken und Glissandi auch über Taktstriche hinweg zu.
2510
2511 @seealso
2512 Notationsreferenz:
2513 @ref{New spacing area}.
2514
2515 Schnipsel:
2516 @rlsr{Spacing}.
2517
2518
2519 @node Fitting music onto fewer pages
2520 @section Fitting music onto fewer pages
2521
2522 Manchmal kommt es vor, dass nur ein oder zwei Systeme auf die
2523 nächste Seite geraten, obwohl es so aussieht, als ob auf der
2524 vorigen Seite genügend Platz ist, um diese Systeme auch noch
2525 unterzubringen.
2526
2527 Wenn man derartige Platzierungsprobleme untersucht, ist die
2528 Funktion @code{annotate-spacing} von sehr großer Hilfe.  Hiermit
2529 wird in den Musiksatz zusätzlich Information darüber ausgegeben,
2530 wieviel Platz bestimmten Parametern zugewiesen wird.  Genaueres
2531 hierzug in
2532 @ref{Displaying spacing}.
2533
2534 @menu
2535 * Displaying spacing::
2536 * Changing spacing::
2537 @end menu
2538
2539
2540 @node Displaying spacing
2541 @subsection Displaying spacing
2542
2543 @cindex Platzierung, Layouteinstellungen
2544
2545 @funindex annotate-spacing
2546
2547 Die Dimensionen von vertikalen und horizontalen Platzierungsvariablen,
2548 die veränderbar sind, lassen sich mit ihren aktuellen Werten im
2549 Notentext anzeigen, wenn man die Funktion
2550 @code{annotate-spacing} in der @code{\paper}-Umgebung einschaltet:
2551
2552 @c need to have \book{} otherwise we get the separate systems. -hwn
2553 @lilypond[verbatim,quote]
2554 #(set-default-paper-size "a6" 'landscape)
2555 \book {
2556   \score { { c4 } }
2557   \paper { annotate-spacing = ##t }
2558 }
2559 @end lilypond
2560
2561 @noindent
2562 Alle Layoutdimensionen werden in Notenlinienzwischenräumen
2563 aufgelistet, unabhängig von den Einheiten, mit denen sie in der
2564 @code{\paper}- oder @code{\layout}-Umgebung definiert worden
2565 sind.  In dem letzten Beispiel hat @code{paper-height} einen Wert von
2566 59.75 Notenlinienzwischenräumen und @code{staff-size}
2567 Systemhöhe) ist 20 Punkte.  Dabei gilt:
2568
2569 @multitable {1 Notenlinienzwischenraum} {Systemgröße)/4 * (25.4/72.27) mm}
2570
2571 @item 1 Punkt
2572 @tab = (25.4/72.27) mm
2573
2574 @item 1 Notenlinienzwischenraum
2575 @tab = (@code{staff-size})/4 pts
2576 @item
2577 @tab = (@code{staff-size})/4 * (25.4/72.27) mm
2578
2579 @end multitable
2580
2581 In diesem Fall ist ein @code{staff-space} (Notenlinienzwischenraum)
2582 etwa gleich 1.757 mm.  Deshalb entspricht der Wert von 95.75
2583 @code{staff-space} für @code{paper-height} (Papierhöhe) 105 mm,
2584 die Höhe eines quer gelegten A6-Papiers.  Die Paare (@var{a},@var{b}) sind
2585 Intervalle, wobei @var{a} der untere Rand und @var{b} der
2586 obere Rand des Intervalls.
2587
2588 @seealso
2589
2590 Notationsreferenz:
2591 @ref{Setting the staff size}
2592
2593 Schnipsel:
2594 @rlsr{Spacing}.
2595
2596
2597 @node Changing spacing
2598 @subsection Changing spacing
2599
2600 Die Ausgabe von @code{annotate-spacing} bietet sehr viele
2601 Details zu den vertikalen Dimensionen einer Paritur.  Zu Information,
2602 wie Seitenränder und andere Layout-Variablen geändert werden
2603 können, siehe @ref{Page formatting}.
2604
2605 Neben Rändern gibt es einige weitere Optionen, Platz zu sparen:
2606
2607 @itemize
2608 @item
2609 LilyPond kann die Systeme so dicht wie möglich platzieren (damit 
2610 so viele Systeme wie möglich auf eine Seite passen), aber sie 
2611 dann so anordnen, dass kein weißer Rand unten auf der Seite entsteht.
2612
2613 @example
2614 \paper @{
2615   between-system-padding = #0.1
2616   between-system-space = #0.1
2617   ragged-last-bottom = ##f
2618   ragged-bottom = ##f
2619 @}
2620 @end example
2621
2622 @item
2623 Die Anzahl der Systeme kann reduziert werden (wenn LilyPond 
2624 die Musik auf 11 Systeme verteilt, kann man die Benutzung von 
2625 nur 10 Systemen erzwingen).
2626
2627 @example
2628 \paper @{
2629   system-count = #10
2630 @}
2631 @end example
2632
2633 @item
2634 Vermeidung von Objekten, die den vertikalen Abstand von Systemen 
2635 vergrößern, hilft oft. Die Verwendung von Klammern bei Wiederholungen 
2636 etwa braucht mehr Platz. Wenn die Noten innerhalb der Klammern  auf 
2637 zwei Systeme verteilt sind, brauchen sie mehr Platz, als wenn sie 
2638 nur auf einer Zeile gedruckt werden.
2639
2640 Ein anderes Beispiel ist es, Dynamik-Zeichen, die besonders 
2641 weit @qq{hervorstehen}, zu verschieben.
2642
2643 @lilypond[verbatim,quote]
2644 \relative c' {
2645   e4 c g\f c
2646   \override DynamicText #'extra-offset = #'( -2.2 . 2.0)
2647   e4 c g\f c
2648 }
2649 @end lilypond
2650
2651 @item
2652 Die horizontalen Abstände können mit der 
2653 @code{SpacingSpanner}-Eigenschaft verändert werden.  Siehe
2654 @ref{Changing horizontal spacing} für Einzelheiten.  Dieses
2655 Beispiel zeigt die normalen Abstände:
2656
2657 @lilypond[verbatim,quote]
2658 \score {
2659   \relative c'' {
2660     g4 e e2 |
2661     f4 d d2 |
2662     c4 d e f |
2663     g4 g g2 |
2664     g4 e e2 |
2665   }
2666 }
2667 @end lilypond
2668
2669 @noindent
2670 Das nächste Beispiel verändert @code{common-shortest-duration} (die
2671 häufigste kürzeste Note) von @code{1/4} zu @code{1/2}.  Die Viertelnote
2672 ist dennoch die häufigste Note in diesem Abschnitt, sodass der
2673 Notentext zusammengedrängt, wird, wenn eine Halbe als Standard
2674 angegeben wird:
2675
2676 @lilypond[verbatim,quote]
2677 \score {
2678   \relative c'' {
2679     g4 e e2 |
2680     f4 d d2 |
2681     c4 d e f |
2682     g4 g g2 |
2683     g4 e e2 |
2684   }
2685   \layout {
2686     \context {
2687       \Score
2688       \override SpacingSpanner
2689         #'common-shortest-duration = #(ly:make-moment 1 2)
2690     }
2691   }
2692 }
2693 @end lilypond
2694
2695 @noindent
2696 Die @code{common-shortest-duration}-Eigenschaft kann nicht
2697 dynamisch verändert werden, darum muss sie immer in der
2698 @code{\context}-Umgebung definiert werden und wirkt sich somit
2699 auf eine ganze @code{\score}-Umgebung aus.
2700
2701 @end itemize
2702
2703 @seealso
2704 Notationsreferenz:
2705 @ref{Page formatting},
2706 @ref{Changing horizontal spacing}.
2707
2708 Schnipsel:
2709 @rlsr{Spacing}.