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