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