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