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