]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/notation/spacing.itely
Fix issue 2359: example code in German and English docs should be the same
[lilypond.git] / Documentation / de / notation / spacing.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
2
3 @ignore
4     Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
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.15.20"
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: in der @code{\paper @{...@}}- und der @code{\layout @{...@}}-Umgebung.
38 Die @code{\paper}-Umgebung enthält Einstellungen des Seitenlayouts, die für
39 alle Partituren innerhalb eines @code{\book} die gleichen sein sollen, wie
40 etwa Papierhöhe oder ob Seitenzahlen ausgegeben werden sollen.  Siehe
41 @ref{Seitenlayout}.  Die @code{\layout}-Umbegung enthält Layouteinstellungen
42 der Partitur selber, wie etwa die Zahl der Systeme oder den Platz zwischen
43 Systemgruppen usw.  Siehe @ref{Partiturlayout}.
44
45 @menu
46 * Seitenlayout::
47 * Partiturlayout::
48 * Umbrüche::
49 * Vertikale Abstände::
50 * Horizontale Abstände::
51 * Die Musik auf weniger Seiten zwingen::
52 @end menu
53
54
55 @node Seitenlayout
56 @section Seitenlayout
57 @translationof Page layout
58
59 Dieser Abschnitt behandelt Seitenlayout-Optionen innerhalb der @code{\paper}-Umgebung.
60
61 @menu
62 * Die \paper-Umgebung::
63 * Papierformat und automatische Skalierung::
64 * Vertikale \paper-Variablen mit festen Abständen::
65 * Vertikale \paper-Variablen mit flexiblen Abständen::
66 * \paper-Variablen für horizontale Abstände::
67 * Andere \paper-Variablen::
68 @end menu
69
70
71 @node Die \paper-Umgebung
72 @subsection Die @code{\paper}-Umgebung
73 @translationof The \paper block
74
75 @cindex Papiergröße
76 @cindex Größe, Papier
77 @cindex Seitegröße
78 @cindex Größe, Seite
79
80 Die @code{\paper}-Umgebung kann innerhalb einer @code{\book}-, nicht aber
81 innerhalb einer @code{\score}-Umgebung vorkommen.  Einstellungen in
82 @code{\paper} wirken sich auf das gesamte Buch aus, welches viele einzelne
83 Partituren beinhalten kann.  Einstellungen, die in der @code{\paper}-Umgebung
84 vorkommen können, beinhalten:
85
86 @itemize
87
88 @item
89 die @code{set-paper-size}-Scheme-Funktion,
90
91 @item
92 @code{\paper}-Variablen, die zum Verändern des Seitenlayouts eingesetzt werden und
93
94 @item
95 Beschriftungsdefinitionen, mit denen das Layout von Kopf- und Fußleisten sowie
96 Titeln beeinflusst wird.
97
98 @end itemize
99
100 Die @code{set-paper-size}-Funktion wird im nächsten Abschnitt behandelt:
101 @ref{Papierformat und automatische Skalierung}.  Die @code{\paper}-Variablen,
102 die das Seitenlayout beeinflussen, werden in späteren Abschnitten behandelt.
103 Die Beschriftungsdefinitionen für Kopf- und Fußzeilen sowie Titeln werden behandelt
104 in @ref{Eigene Kopf und Fußzeilen sowie Titel}.
105
106 Die meisten @code{\paper}-Variablen funktionieren nur innerhalb der
107 @code{\paper}-Umgebung.  Die wenigen, die auch in der @code{\layout}-Umgebung
108 funktionieren, finden sich in @ref{Die \layout-Umgebung}.
109
110 Außer wenn anders angegeben, werden alle @code{\paper}-Variablen, die
111 Abständen auf der Seite antsprechen, in Millimetern gemessen, es sei denn,
112 eine andere Maßeinheit ist definiert.  Beispielsweise wird mit folgender
113 Definition der obere Rand (top-margin) 10 mm breit definiert:
114
115 @example
116 \paper @{
117   top-margin = 10
118 @}
119 @end example
120
121 Damit etwa @code{0.5} Zoll benutzt werden, muss @code{\in} dem Maß nachgestellt werden:
122
123 @example
124 \paper @{
125   top-margin = 0.5\in
126 @}
127 @end example
128
129 Mögliche Maßeinheiten sind @code{\mm}, @code{\cm}, @code{\in} und
130 @code{\pt}.  Diese Maßeinheiten sind einfach Werte, um von Millimetern
131 zu Konvertieren, sie sind in @file{ly/paper-defaults-init.ly} definiert.
132 Um Missverständnisse zu vermeiden, wird normalerweise @code{\mm} geschrieben,
133 auch wenn es eigentlich nicht notwendig wäre.
134
135 Man kann die @code{\paper}-Werte auch mit Scheme definieren.  Die Scheme-Entsprechung
136 der obigen Definition ist:
137
138 @example
139 \paper @{
140   #(define top-margin (* 0.5 in))
141 @}
142 @end example
143
144 @seealso
145 Notationsreferenz
146 @ref{Papierformat und automatische Skalierung},
147 @ref{Eigene Kopf und Fußzeilen sowie Titel},
148 @ref{Die \layout-Umgebung}.
149
150 Installierte Dateien:
151 @file{ly/paper-defaults-init.ly}.
152
153
154 @node Papierformat und automatische Skalierung
155 @subsection Papierformat und automatische Skalierung
156 @translationof Paper size and automatic scaling
157
158 @cindex Papierformat
159 @cindex Seitenformat
160
161 @funindex \paper
162
163 @menu
164 * Das Papierformat einstellen::
165 * Automatische Skalierung auf ein Papierformat::
166 @end menu
167
168
169 @node Das Papierformat einstellen
170 @unnumberedsubsubsec Das Papierformat einstellen
171 @translationof Setting paper size
172
173 Zwei Funktionen ermöglichen es, die Papiergröße zu ändern:
174 @code{set-default-paper-size} und @code{set-paper-size}.
175 @code{set-default-paper-size} muss auf der obersten Ebene in
176 der Quelldatei gesetzt werden, @code{set-paper-size} hingegen
177 muss sich in einer @code{\paper}-Umgebung befinden:
178
179 @example
180 #(set-default-paper-size "a4")
181 @end example
182
183 @example
184 \paper @{
185   #(set-paper-size "a4")
186 @}
187 @end example
188
189 @noindent
190 Auf oberster Ebene kann @code{set-default-paper-size} überall vor der ersten
191 @code{\paper}-Umgebung aufgerufen werden.  Innerhalb einer @code{\paper}-Umgebung
192 ist der beste Platz für @code{set-paper-size} gleich am Anfang, über der Liste
193 der Variablen-Definitionen.  Der Grund dafür wird behandelt in
194 @ref{Automatische Skalierung auf ein Papierformat}
195
196 @code{set-default-paper-size} bestimmt die Größe aller Seiten, während
197 @code{set-paper-size} nur die Seitengröße für die Seiten definiert,
198 auf die sich die aktuelle @code{\paper}-Umgebung bezieht.  Wenn die
199 @code{\paper}-Umgebung gleich am Anfang der Datei steht, bezieht sich die
200 Papiergröße auf alle Seiten, wenn sie aber innerhalb einer
201 @code{\book}-Umgebung definiert wird, nur auf die Seiten innerhalb
202 dieses Buches.
203
204 Die normalen Papierformate sind definiert, u.A. @code{a4},
205 @code{letter}, @code{legal} und @code{11x17} (auch als
206 Tabloit bekannt).  Sehr viel mehr Formate sind unterstützt.
207 Einzelheiten finden sich in der Datei
208 @file{scm/paper.scm} in der Definition von
209 @code{paper-alist}.
210
211 @warning{Das Standardformat ist @code{a4}.}
212
213 Weitere Papierformate können hinzugefügt werden, indem die
214 Definition von @code{paper-alist} in der Datei
215 @file{scm/paper.scm} verändert wird.  Derartige
216 Änderungen werden jedoch bei einer Aktualisierung des
217 Programmes überschrieben.
218
219 @cindex Ausrichtung, Papier
220 @cindex Papier, Ausrichtung
221 @cindex hochkant, Papier
222 @cindex quer, Papier
223
224 @funindex landscape
225
226 Wenn das Symbol @code{'landscape} als Argument an die Funktion
227 @code{set-default-paper-size} gehängt wird, werden die Seiten um
228 90° gedreht und die Notensysteme entsprechend breiter gesetzt.
229
230 @example
231 #(set-default-paper-size "a6" 'landscape)
232 @end example
233
234 @seealso
235 Notationsreferenz:
236 @ref{Automatische Skalierung auf ein Papierformat}.
237
238 Installierte Dateien:
239 @file{scm/paper.scm}.
240
241
242
243 @node Automatische Skalierung auf ein Papierformat
244 @unnumberedsubsubsec Automatische Skalierung auf ein Papierformat
245 @translationof Automatic scaling to paper size
246
247 Wenn das Papierformat mit einer der Scheme-Funktionen
248 (@code{set-default-paper-size} oder @code{set-paper-size}) geändert wird,
249 werden die Werte einiger @code{\paper}-Variablen automatisch an die
250 neue Größe angepasst.  Um die automatische Skalierung für eine bestimmte
251 Variable zu umgehen, kann die Variable definiert werden, nachdem man
252 das Papierformat angegeben hat.  Es sollte beachtet werden, dass die
253 automatische Anpassung nicht ausgelöst wird, wenn man nur die
254 @code{paper-height} oder @code{paper-width}-Variablen verändert, obwohl
255 @code{paper-width} andere Werte beeinflussen kann (das muss von der automatischen
256 Skalierung unterschieden werden und wird unten behandelt).  Die Funktionen
257 @code{set-default-paper-size} und @code{set-paper-size} werden behandelt
258 in @ref{Das Papierformat einstellen}.
259
260 Die vertikalen Dimensionen, die durch die automatische Skalierung verändert
261 werden sind: @code{top-margin} und @code{bottom-margin} (siehe
262 @ref{Vertikale \paper-Variablen mit festen Abständen}).  Die horizontalen
263 Dimensionen, die durch die automatische Skalierung verändert werden, sind
264 @code{left-margin}, @code{right-margin}, @code{inner-margin}, @code{outer-margin},
265 @code{binding-offset}, @code{indent} und @code{short-indent} (siehe
266 @ref{\paper-Variablen für horizontale Abstände}).
267
268 Die Standardwerte für diese Dimensionen sind in
269 @file{ly/paper-defaults-init.ly} definiert, wobei interne Variablen mit den
270 Bezeichnungen @code{top-margin-default}, @code{bottom-margin-default}, usw.
271 benutzt werden.  Das sind die Werte für die Standardpapiergröße
272 @code{a4}.  Zum Vergleich: @code{a4} hat Werte von @code{297\mm} für
273 @code{paper-height} und @code{210\mm} für @code{paper-width}.
274
275 @seealso
276 Notationsreferenz:
277 @ref{Vertikale \paper-Variablen mit festen Abständen},
278 @ref{\paper-Variablen für horizontale Abstände}.
279
280 Installierte Dateien:
281 @file{ly/paper-defaults-init.ly},
282 @file{scm/paper.scm}.
283
284
285
286 @node Vertikale \paper-Variablen mit festen Abständen
287 @unnumberedsubsubsec Vertikale @code{\paper}-Variablen mit festen Abständen
288 @translationof Fixed vertical spacing \paper variables
289
290 @warning{Einige @code{@bs{}paper}-Dimensionen werden automatisch nach
291 Papierformat skaliert, was zu ungewolltem Verhalten führen kann.  Siehe
292 @ref{Automatische Skalierung auf ein Papierformat}.}
293
294 Standardwerte (vor der Skalierung) sind definiert in
295 @file{ly/paper-defaults-init.ly}.
296
297 @table @code
298 @item paper-height
299 @funindex paper-height
300
301 Die Höhe der Seite, standardmäßig nicht definiert.  Die automatische
302 Skalierung einiger vertikalen Dimensionen wird hiervon nicht betroffen.
303
304 @item top-margin
305 @funindex top-margin
306
307 Der Rand zwischen dem oberen Ende der Seite und dem oberen Ende
308 des bedruckbaren Bereichs.  Wenn das Papierformat verändert wurde, wird
309 der Standardwert dieser Dimension entsprechend skaliert.
310
311 @item bottom-margin
312 @funindex bottom-margin
313
314 Der Rand zwischen dem unteren Ende der Seite und dem unteren Ende des
315 bedruckbaren Bereichs.  Wenn das Papierformat verändert wurde, wird
316 der Standardwert dieser Dimension entsprechend skaliert.
317
318 @item ragged-bottom
319 @funindex ragged-bottom
320
321 Wenn auf wahr gesetzt, werden die Systeme nicht vertikal bis zum unteren
322 Seitenrand verteilt.  Sollte auf wahr gesetzt sein für Stücke, die nur
323 ein bis zwei Notensystemgruppen pro Seite haben, etwa Orchesterpartituren.
324
325 @item ragged-last-bottom
326 @funindex ragged-last-bottom
327
328 Wenn auf falsch gesetzt, werden die Systeme vertikal auf der letzten Seite
329 verteilt.  Bei Stücken, die grob zwei oder mehr Seiten füllen, sollten es auf
330 wahr gesetzt werden.  Hiermit wird auch die letzte Seite von Teilen eines
331 @code{\book}, die mit @code{\bookpart} erstellt sind, beeinflusst.
332
333 @end table
334
335 @seealso
336 Notationsreferenz:
337 @ref{Automatische Skalierung auf ein Papierformat}.
338
339 Installierte Dateien:
340 @file{ly/paper-defaults-init.ly}.
341
342 Schnipsel:
343 @rlsr{Spacing}.
344
345 @knownissues
346
347 Die Titel (aus der @code{\header}-Umgebung) werden als Systemgruppe
348 behandelt, sodass @code{ragged-bottom} und @code{ragged-last-bottom} auch
349 zusätzlichen Abstand zwischen den Titel und dem ersten System einer
350 Paritur einfügt.
351
352 Explizit definierte Papierformate überschreiben alle vom Benutzer erstellte
353 Randeinstellung für die Ränder oben und unten.
354
355
356 @node Vertikale \paper-Variablen mit flexiblen Abständen
357 @unnumberedsubsubsec Vertikale @code{\paper}-Variablen mit flexiblen Abständen
358 @translationof Flexible vertical spacing \paper variables
359
360 In den meisten Fällen bietet es sich an, dass die vertikalen
361 Abstände zwischen bestimmten Objekten (wie Ränder, Titel,
362 Notensystemgruppen und einzelne Partituren) flexibel gehalten
363 werden, sodass sie je nach Situation gedehnt oder komprimiert
364 werden können.  Es gibt eine Anzahl von Variablen für die
365 @code{\paper}-Umgebung, mit denen man das Dehnungsverhalten dieser
366 Dimensionen beeinflussen kann.  Sie finden sich unten aufgelistet.
367
368 Dabei sollte beachtet werden, dass die Variablen, die in diesem
369 Abschnitt behandelt werden, nicht die Platzierung und das
370 Dehnungsverhalten von Notensystemen innerhalb der einzelnen
371 Systemgruppen behandelt.  Die Dehnung zwischen Notensystemen
372 wird mit Grob-Eigenschaften kontrolliert, deren Einstellungen
373 normalerweise innerhalb der @code{\score}-Umgebung vorgenommen
374 werden, und nicht innerhalb der @code{\paper}-Umgebung.  Siehe auch
375 @ref{Flexible vertikale Abstände in Systemgruppen}.
376
377 @menu
378 * Struktur der Alisten für flexible vertikale Abstände::
379 * Liste der flexiblen vertikalen Abstandsvariablen in \paper::
380 @end menu
381
382
383 @node Struktur der Alisten für flexible vertikale Abstände
384 @unnumberedsubsubsec Struktur der Alisten für flexible vertikale Abstände
385 @translationof Structure of flexible vertical spacing alists
386
387 Jede der flexiblen vertikalen Abstandsvariablen ist eine Aliste (eine assoziative Liste), die
388 vier @emph{Schlüssel} (engl. key) enthält:
389
390 @itemize
391
392 @item
393 @code{basic-distance} (Grund-Abstand) -- der vertikale Abstand, gemessen in
394 Systemzwischenräumen, zwischen den @emph{Referenzpunkten}
395 zweier Elemente, wenn keine Zusammenstöße vorkommen würden und
396 keine Dehnung oder Kompression stattfindet.  Der Referenzpunkt
397 einer (Titel-)Beschriftung (auf höchster Ebene) ist sein
398 höchster Punkt und der Referenzpunkt einer Systemgruppe ist
399 der vertikale Mittelpunkt des nächsten @code{StaffSymbol}
400 -- sogar wenn eine Nicht-Notensystemzeile (wie etwa ein
401 @code{Lyrics}-Kontext) dazwischen kommt.  Werte für @code{basic-distance},
402 die weniger als entweder @code{padding} oder @code{minimum-distance}
403 sind, haben keine Bedeutung, weil der sich daraus ergebende
404 Abstand niemals weniger als entweder @code{padding} oder
405 @code{minimum-distance} ergibt.
406
407 @item
408 @code{minimum-distance} (minimaler Abstand) -- der kleinste
409 erlaubte vertikale Abstand, gemessen in Systemzwischenräumen,
410 zwischen den Referenzpunkten der zwei Elemente, wenn Kompression
411 stattfindet.  Werte für @code{minimum-distance}, die geringer als
412 @code{padding} sind, haben keine Bedeutung, weil der sich daraus
413 ergebende Abstand niemals weniger als @code{padding} ergibt.
414
415 @item
416 @code{padding} (Verschiebung) -- der minimal benötigte vertikale blanke
417 Freiraum zwischen den Bounding-Boxen (oder Skyline) der zwei Objekten, gemessen in Notenlinienabständen.
418
419 @item @code{stretchability} (Dehnbarkeit) -- ein einheitsloses
420 Maß der Leichtigkeit, mit der sich die Dimension dehnen lässt (ohne
421 dass Zusammenstöße auftreten).  Wenn es null ist, wird der Abstand
422 nicht gedehnt (außer ein Zusammenstoß würde auftreten), wenn es
423 positiv ist, hängt die Wichtigkeit der Dehnbarkeit eines bestimmten
424 Objekts nur noch von seiner Beziehung zu dem Wert des anderen Objekts
425 ab.  Beispielsweise wennn eine Dimension die doppelte Dehnbarkeit als
426 die andere hat, wird sie auch zweimal so einfach gedehnt.  Werte sollten
427 nicht-negativ und reale Zahlen sein.  Der Wert @code{+inf.0}
428 ruft einen @code{programming_error} hervor und wird ignoriert, aber
429 @code{1.0e7} kann für einen so gut wie unendlich dehnbaren Abstand eingesetzt
430 werden.  Wenn der Wert nicht gesetzt wird, ist der Standardwert
431 der von @code{basic-distance}.  Die Wahrscheinlichkeit einer Dimension, sich
432 zu verkleinern, kann man nicht direkt beeinflussen, sondern sie ergibt sich
433 aus (@code{space}@tie{}@minus{}@tie{}@code{minimum-distance}).
434
435 @end itemize
436
437 Wenn eine Seite einen nicht ausgeglichenen unteren Rand hat, ist der
438 resultierende Abstand der größte von:
439
440 @itemize
441
442 @item
443 @code{basic-distance},
444
445 @item
446 @code{minimum-distance} und
447
448 @item
449 @code{padding} plus der kleinste nötige Abstand, um Zusammenstöße
450 zu vermeiden.
451
452 @end itemize
453
454 Spezifische Methoden, um Alisten zu verändern, werden behandelt in
455 @ref{Alisten verändern}.  Das folgende Beispiel demonstriert beide Arten,
456 wie diese Alisten verändert werden können.  Der erste Aufruf verändert
457 nur einen Schlüsselwert einzeln, während der zweite die Variable
458 vollständig neu definiert:
459
460 @example
461 \paper @{
462   system-system-spacing #'basic-distance = #8
463   score-system-spacing =
464     #'((basic-distance . 12)
465        (minimum-distance . 6)
466        (padding . 1)
467        (stretchability . 12))
468 @}
469 @end example
470
471
472 @node Liste der flexiblen vertikalen Abstandsvariablen in \paper
473 @unnumberedsubsubsec Liste der flexiblen vertikalen Abstandsvariablen in @code{\paper}
474 @translationof List of flexible vertical spacing \paper variables
475
476 Die Bezeichnungen dieser Variablen entsprechen dem Format
477 @code{@var{obere}-@var{untere}-platzierung}, wobei @code{@var{obere}}
478 und @code{@var{untere}} die zu platzierenden Elemente darstellen.  Jeder
479 Abstand wird zwischen den Referenzpunkten der beiden Elemente gemessen
480 (siehe Beschreibung der Alistenstruktur oben).  In diesen Variablenbezeichnungen
481 bedeutet @q{@code{markup}} (Beschriftung) sowohl
482 @emph{Titelbeschriftungen} (@code{bookTitleMarkup} oder
483 @code{scoreTitleMarkup}) als auch @emph{Beschriftungen auf höchster Ebene}
484 (siehe @ref{Die Dateistruktur}).  Alle Entfernungen werden in Systemzwischenräumen
485 gemessen.
486
487 Standardwerte sind in @file{ly/paper-defaults-init.ly} definiert.
488
489 @c TODO: Where do headers/footers fit in? -mp
490
491 @table @code
492 @item markup-system-spacing
493 @funindex markup-system-spacing
494
495 der Abstand zwischen einer (Titel-)Beschriftung (auf höchster Ebene) und der
496 darauf folgenden Systemgruppe.
497
498 @item score-markup-spacing
499 @funindex score-markup-spacing
500
501 der Abstand zwischen dem letzten System einer Partitur und der darauf folgenden
502 (Titel-)Beschriftung (auf höchster Ebene).
503
504 @item score-system-spacing
505 @funindex score-system-spacing
506
507 der Abstand zwischen dem letzten System einer Partitur und dem ersten
508 System der folgenden Partitur, wenn keine (Titel-)Beschriftung (auf höchster
509 Ebene) dazwischen vorkommt.
510
511 @item system-system-spacing
512 @funindex system-system-spacing
513
514 der Abstand zwischen zwei Systemgruppen der selben Partitur.
515
516 @item markup-markup-spacing
517 @funindex markup-markup-spacing
518
519 der Abstand zwischen zwei (Titel-)Beschriftungen (auf höchster Ebene).
520
521 @item last-bottom-spacing
522 @funindex last-bottom-spacing
523
524 der Abstand vom letzten System oder Beschriftung auf höchster Ebene auf
525 einer Seite zum unteren Rand des bedruckbaren Bereichs (also bis zum Anfang
526 des unteren Randes).
527
528 @item top-system-spacing
529 @funindex top-system-spacing
530
531 der Abstand zwischen dem oberen Rand des bedruckbaren Bereichs (also dem Ende
532 des oberen Rands) und dem ersten System auf der Seite, wenn keine
533 (Titel-)Beschriftung (auf höchster Ebene) dazwischen kommt.
534
535 @item top-markup-spacing
536 @funindex top-markup-spacing
537
538 der Abstand vom oberen Rand des bedruckbaren Bereichs (also dem Ende des
539 oberen Randes) zur ersten (Titel-)Beschriftung (auf höchster Ebene) auf
540 einer Seite, wenn keine Systemgruppe dazwischen kommt.
541 @end table
542
543 @seealso
544 Notationsreferenz:
545 @ref{Flexible vertikale Abstände in Systemgruppen}.
546
547 Installierte Dateien:
548 @file{ly/paper-defaults-init.ly}.
549
550 Schnipsel:
551 @rlsr{Spacing}.
552
553
554
555 @node \paper-Variablen für horizontale Abstände
556 @unnumberedsubsubsec \paper-Variablen für horizontale Abstände
557 @translationof Horizontal spacing \paper variables
558
559 @warning{Einige @code{@bs{}paper}-Dimensionen werden automatische
560 entsprechend dem Papierformat skaliert und können deshalb ungewollte
561 Resultate haben.  Siehe @ref{Automatische Skalierung auf ein Papierformat}.}
562
563 @menu
564 * \paper-Variablen für Breite und Ränder::
565 * \paper-Variablen für zweiseitigen Satz::
566 * \paper-Variablen für Verschiebungen und Einrückungen::
567 @end menu
568
569
570 @node \paper-Variablen für Breite und Ränder
571 @unnumberedsubsubsec \paper-Variablen für Breite und Ränder
572 @translationof \paper variables for widths and margins
573
574 Standardwerte (vor der Skalierung), die hier nicht aufgelistet
575 sind, finden sich in @file{ly/paper-defaults-init.ly}.
576
577
578 @table @code
579
580 @item paper-width
581 @funindex paper-width
582
583 Die Breide der Seite, standardmäßig nicht definiert.  Während
584 @code{paper-width} keine Auswirkungen auf die automatische
585 Skalierung einiger horizontaler Dimensionen hat, beeinflusst es
586 dennoch die @code{line-width}-Variable.  Wenn sowohl @code{paper-width}
587 als auch @code{line-width} definiert sind, dann werden auch
588 @code{left-margin} und @code{right-margin} aktualisiert.  Siehe auch
589 @code{check-consistency}.
590
591 @item line-width
592 @funindex line-width
593
594 Die horizontale Ausdehnung der Notenlinien in nicht-eingerückten,
595 Systemen mit Ausgleich zum rechten Rand, entspricht
596 @code{(paper-width@tie{}@minus{}@tie{}left-margin@tie{}@minus{}@tie{}right-margin)}
597 wenn nicht definiert.  Wenn @code{line-width} definiert ist und sowohl
598 @code{left-margin} als auch @code{right-margin} nicht definiert sind, dann
599 werden die Ränder aktualisiert, sodass die Systeme mittig auf der Seite
600 zentriert werden.  Siehe auch @code{check-consistency}.  Diese Variable
601 kann auch in der @code{\layout}-Umgebung definiert werden.
602
603 @item left-margin
604 @funindex left-margin
605
606 Der Rand zwischen der linken Papierkante und dem Beginn der Systeme
607 ohne Einrückungen.  Wenn das Papierformat verändert wird, wird auch
608 der Standardwert dieser Dimension entsprechend skaliert.  Wenn
609 @code{left-margin} nicht definiert ist und sowohl @code{line-width}
610 als auch @code{right-margin} definiert sind, dann wird @code{left-margin}
611 auf den Wert
612 @code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}right-margin)}
613 gesetzt.  Wenn nur @code{line-width} definiert ist, dann werden beide
614 Ränder auf den Wert
615 @code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)}
616 gesetzt und die Systeme demzufolge auf der Seite zentriert.  Siehe auch
617 @code{check-consistency}.
618
619 @item right-margin
620 @funindex right-margin
621
622 Der Rand zwischen der rechten Papierkante und dem Ende der Systeme mit
623 Randausgleich (@qq{Blocksatz}).  Wenn das Papierformat geändert wird,
624 wird auch der Standardwert dieser Dimension entsprechend skaliert.  Wenn
625 @code{right-margin} nicht definiert ist und sowohl @code{line-width} als
626 auch @code{left-margin} definiert sind, dann wird @code{right-margin} auf den
627 Wert @code{(paper-width@tie{}@minus{}@tie{}line-width@tie{}@minus{}@tie{}left-margin)}
628 gesetzt.  Wenn nur @code{line-width} definiert ist, dann werden beide Ränder
629 auf den Wert
630 @code{((paper-width@tie{}@minus{}@tie{}line-width)@tie{}/@tie{}2)}
631 gesetzt und die Systeme demzufolge auf der Seite zentriert.  Siehe auch
632 @code{check-consistency}.
633
634 @item check-consistency
635 @funindex check-consistency
636
637 Wenn wahr, wird eine Warnung ausgegeben, sollten @code{left-margin},
638 @code{line-width} und @code{right-margin} zusammen nicht exakt den
639 Wert von @code{paper-width} ergeben, und die Werte (außer
640 @code{paper-width}) mit ihren Standardwerten belegt (wenn nötig auf
641 das entsprechende Papierformat skaliert).  Wenn falsch werden derartige
642 Inkonsistenzen ignoriert und die Systeme dürfen auch über den Seitenrand
643 hinausragen.
644
645 @item ragged-right
646 @funindex ragged-right
647
648 Wenn wahr, werden Notensysteme nicht über die gesamte Zeilenbreite
649 gestreckt, sondern sie enden horizontal entsprechend den enthaltenen
650 Noten.  Standard: @code{#t} (wahr) für Partituren mit einem System
651 und @code{#f} (falsch) für Partituren mit zwei oder mehr Systemen.
652 Diese Variable kann auch in der @code{\layout}-Umgebung definiert werden.
653
654 @item ragged-last
655 @funindex ragged-last
656
657 Wenn wahr, wird das letzte Notensystem einer Partitur nicht über die
658 gesamte Zeilenbreite gestreckt, sondern es endet horizontal entsprechend
659 den enthaltenen Noten.  Standard: @code{#f} (falsch).  Diese  Variable
660 kann auch in der @code{\layout}-Umgebung definiert werden.
661
662 @end table
663
664 @seealso
665 Notationsreferenz:
666 @ref{Automatische Skalierung auf ein Papierformat}.
667
668 Installierte Dateien:
669 @file{ly/paper-defaults-init.ly}.
670
671 @knownissues
672 Explizit definierte Papierformate überschreiben alle vom Benutzer erstellte
673 Randeinstellung für die Ränder oben und unten.
674
675
676 @node \paper-Variablen für zweiseitigen Satz
677 @unnumberedsubsubsec @code{\paper}-Variablen für zweiseitigen Satz
678 @translationof \paper variables for two-sided mode
679
680 Standardwerte (vor der Skalierung) sind definiert in
681 @file{ly/paper-defaults-init.ly}.
682
683 @table @code
684
685 @item two-sided
686 @funindex two-sided
687
688 @cindex Bundsteg
689 @cindex Binderand
690
691 Wenn auf wahr (@code{##t}) gesetzt, werden  @code{inner-margin}, @code{outer-margin}
692 und @code{binding-offset} zusammen benutzt, um die Ränder der Seite in Abhängigkeit
693 von einer geraden oder ungeraden Seitennummer zu errechnen.  Damit werden die
694 Werte von @code{left-margin} und @code{right-margin} überschrieben.  Standard:
695 @code{##f}.
696
697 @item inner-margin
698 @funindex inner-margin
699
700 Der Rand, den alle Seiten auf der Innenseite haben, wenn sie Teil eines
701 Buches (@code{\book}) sind.  Wenn das Papierformat verändert wird,
702 wird der Standardwert dieser Dimension entsprechend skaliert.  Funktioniert
703 nur, wenn @code{two-sided} wahr ist.
704
705 @item outer-margin
706 @funindex outer-margin
707
708 Der Rand, den alle Seiten auf der Außenseite haben, wenn sie Teil eines Buches
709 sind.  Wenn das Papierformat verändert wird,
710 wird der Standardwert dieser Dimension entsprechend skaliert.  Funktioniert nur,
711 wenn @code{two-sided} wahr ist.
712
713 @item binding-offset
714 @funindex binding-offset
715
716 Der Wert, um welchen @code{inner-margin} erhöht wird, um sicherzugehen, dass
717 nichts in der Bindung verschwindet.  Wenn das Papierformat verändert wird,
718 wird der Standardwert dieser Dimension entsprechend skaliert.  Funktioniert nur,
719 wenn @code{two-sided} wahr ist.
720
721 @end table
722
723 @seealso
724 Notationsreferenz:
725 @ref{Automatische Skalierung auf ein Papierformat}.
726
727 Installierte Dateien:
728 @file{ly/paper-defaults-init.ly}.
729
730
731 @node \paper-Variablen für Verschiebungen und Einrückungen
732 @unnumberedsubsubsec @code{\paper}-Variablen für Verschiebungen und Einrückungen 
733 @translationof \paper variables for shifts and indents
734
735
736 Standardwerte (vor der Skalierung), die hier nicht aufgeführt sind,
737 sind definiert in @file{ly/paper-defaults-init.ly}.
738
739 @table @code
740
741 @item horizontal-shift
742 @funindex horizontal-shift
743
744 @c This default value is buried in the middle of page.scm.  -mp
745
746 Der Wert, um den alle Systeme (und auch Überschriften und Systemtrenner)
747 nach rechts verschoben werden.  Standard: @code{0.0\mm}.
748
749 @item indent
750 @funindex indent
751
752 Der Einzug für das erste System einer Partitur.  Wenn das Papierformat
753 verändert wird, wird der Standardwert dieser Dimension entsprechend skaliert.
754 Diese Variable kann auch in der @code{\layout}-Umgebung definiert werden.
755
756 @item short-indent
757 @funindex short-indent
758
759 Der Einzug für alle Systeme einer Partitur ausschließlich das
760 erste System.  Wenn das Papierformat
761 verändert wird, wird der Standardwert dieser Dimension entsprechend skaliert.
762 Diese Variable kann auch in der @code{\layout}-Umgebung definiert werden.
763
764 @end table
765
766 @seealso
767 Notationsreferenz:
768 @ref{Automatische Skalierung auf ein Papierformat}.
769
770 Installierte Dateien:
771 @file{ly/paper-defaults-init.ly}.
772
773 Schnipsel:
774 @rlsr{Spacing}.
775
776
777 @node Andere \paper-Variablen
778 @subsection Andere @code{\paper}-Variablen
779 @translationof Other \paper variables
780
781 @menu
782 * \paper-Variablen für den Zeilenumbruch::
783 * \paper-Variablen für den Seitenumbruch::
784 * \paper-Variablen für Seitenzahlen::
785 * Verschiedene \paper-Variablen::
786 @end menu
787
788
789 @node \paper-Variablen für den Zeilenumbruch
790 @unnumberedsubsubsec @code{\paper}-Variablen für den Zeilenumbruch
791 @translationof \paper variables for line breaking
792 @c TODO: Mention that ly:optimal-breaking is on by default? -mp
793
794 @table @code
795
796 @item max-systems-per-page
797 @funindex max-systems-per-page
798
799 Die maximale Anzahl an Notensystemgruppen, die auf einer Seite gesetzt werden.  Das
800 wird zur Zeit nur von dem @code{ly:optimal-breaking}-Algorithmus
801 unterstützt.  Standard: nicht gesetzt.
802
803 @item min-systems-per-page
804 @funindex min-systems-per-page
805
806 Die minimale Anzahl an Notensystemgruppen, die auf einer Seite gesetzt werden. Das
807 kann dazu führen, dass Seiten zu dicht gefüllt werden, wenn der Wert
808 zu groß gewählt wird.  Die Option ist zur Zeit nur von dem
809 @code{ly:optimal-breaking}-Algorithmus unterstützt.  Standard: nicht gesetzt.
810
811 @item systems-per-page
812 @funindex systems-per-page
813
814 Die Anzahl an Systemen, die auf jede Seite gesetzt werden sollen.
815 Diese Option wird zur Zeit nur von dem @code{ly:optimal-breaking}-Algorithmus
816 unterstützt.  Standard: nicht gesetzt.
817
818 @item system-count
819 @funindex system-count
820
821 Die Anzahl der Systeme, auf denen eine Partitur gesetzt werden soll.
822 Standard: nicht gesetzt.  Diese Variablen kann auch in der
823 @code{\layout}-Umgebung definiert werden.
824
825 @end table
826
827 @seealso
828 Notationsreferenz:
829 @ref{Zeilenumbrüche}.
830
831
832 @node \paper-Variablen für den Seitenumbruch
833 @unnumberedsubsubsec @code{\paper}-Variablen für den Seitenumbruch
834 @translationof \paper variables for page breaking
835
836 Standardwerte, die hier nicht aufgelistet sind, finden sich in
837 @file{ly/paper-defaults-init.ly}
838
839 @table @code
840
841 @item blank-after-score-page-force
842 @funindex blank-after-score-page-force
843
844 Die Strafpunke, die erteilt werden, wenn eine leere Seite nach einer
845 Partitur und vor der nächsten vorkommt.  Der Standardwert hiervon ist
846 kleiner als @code{blank-page-force}, sodass leere Seiten nach einer Partitur
847 leeren Seiten innerhalb einer Partitur vorgezogen werden.
848
849 @item blank-last-page-force
850 @funindex blank-last-page-force
851
852 Die Strafpunkte, wenn eine Partitur auf einer ungeraden Seite
853 beendet wird. Standard: @code{0}.
854
855 @item blank-page-force
856 @funindex blank-page-force
857
858 Die Strafpunkte, wenn eine leere Seite mitten in einer Partitur
859 auftritt.  Das wird nicht benutzt von @code{ly:optimal-breaking},
860 weil hiermit niemals leere Seiten mitten in einer Partitur zugelassen
861 werden.
862
863 @item page-breaking
864 @funindex page-breaking
865
866 Der Algorithmus, der für Seitenumbrüche eingesetzt wird.  Mögliche
867 Algorithmen sind: @code{ly:minimal-breaking} (minimale Umbrüche),
868 @code{ly:page-turn-breaking} (Umbrüche an guten Stellen zum Umblättern)
869 und @code{ly:optimal-breaking}.
870
871 @item page-breaking-system-system-spacing
872 @funindex page-breaking-system-system-spacing
873
874 Überlistet die Seitenumbruchfunktion, indem ihr ein anderer Wert
875 für @code{system-system-spacing} mitgeteilt wird, als in Wirklichkeit
876 eingestellt ist.  Wenn beispielsweise
877 @code{page-breaking-system-system-spacing #'padding} auf einen
878 deutlich größeren Wert als @code{system-system-spacing #'padding} gesetzt
879 wird, setzt die Seitenumbruchsfunktion weniger Systeme auf eine
880 Seite.  Standard: nicht gesetzt.
881
882 @item page-count
883 @funindex page-count
884
885 Die Zahl der Seiten, die für eine Partitur benutzt werden sollen.
886 Standard: nicht gesetzt.
887
888 @end table
889
890 @seealso
891 Notationsreferenz:
892 @ref{Seitenumbrüche},
893 @ref{Optimale Seitenumbrüche},
894 @ref{Optimale Umbrüche zum Blättern},
895 @ref{Minimale Seitenumbrüche}.
896
897 Installierte Dateien:
898 @file{ly/paper-defaults-init.ly}.
899
900
901 @node \paper-Variablen für Seitenzahlen
902 @unnumberedsubsubsec @code{\paper}-Variablen für Seitenzahlen
903 @translationof \paper variables for page numbering
904
905 Standardwerte, die hier nicht aufgelistet sind, finden sich in
906 @file{ly/paper-defaults-init.ly}
907
908 @table @code
909
910 @item auto-first-page-number
911 @funindex auto-first-page-number
912 @cindex Seitenzahlen, automatische Nummerierung
913
914 Der Seitenumbruchsalgorithmus wird davon beeinflusst, ob die erste
915 Seitenzahl gerade oder ungerade ist.  Wenn die Variable auf wahr
916 gesetzt wird, entscheidet der Seitenumbruchsalgorithmus selber,
917 ob die Noten auf einer geraden oder ungeraden Seite beginnen sollen.
918 Das hat dann zur Folge, dass die erste Seite entweder bleibt wie
919 sie ist oder um eins erhöht wird.  Standard: @code{#f}.
920
921 @item first-page-number
922 @funindex first-page-number
923 @cindex Sietenzahlen, erste definieren
924
925 Der Wert der Seitenzahl auf der ersten Seite.
926
927 @item print-first-page-number
928 @funindex print-first-page-number
929
930 Wenn wahr, wird auch auf der ersten Seite die Seitenzahl ausgegeben.
931 Standard: @code{#f}.
932
933 @item print-page-number
934 @funindex print-page-number
935 @cindex Seitenzahlen, unterdrücken
936
937 Wenn falsch, werden Seitenzahlen nicht ausgegeben.
938
939 @end table
940
941 @seealso
942 Installierte Dateien:
943 @file{ly/paper-defaults-init.ly}.
944
945 @knownissues
946 Ungrade Seitenzahlen befinden sich immer auf der rechten Seite.
947 Wenn Sie die Noten auf Seite 1 beginnen lassen wollen, müssen Sie
948 eine leere Seite nach dem Deckblatt einfügen, damit die Noten
949 auf der rechten Seite mit Seite 1 beginnen.
950
951
952 @node Verschiedene \paper-Variablen
953 @unnumberedsubsubsec Verschiedene @code{\paper}-Variablen
954 @translationof Miscellaneous \paper variables
955 @table @code
956
957 @item page-spacing-weight
958 @funindex page-spacing-weight
959
960 Die relative Gewichtung von (vertikalem) Abstand auf der Seite und
961 (horizontalem) Abstand innerhalb der Zeilen.  Hohe Werte gewichten
962 die vertikalen Abstände mehr.  Standard: @code{10}.
963
964 @item print-all-headers
965 @funindex print-all-headers
966
967 Wenn wahr, werden alle Einträge des Titelfeldes (@code{\header}-Umgebung)
968 für jede Partitur (@code{\score}) ausgegeben.  Normalerweise wird nur die
969 Satzbezeichnung und die Opuszahl (@code{piece} und @code{opus})
970 ausgegeben.  Standard: @code{#f}.
971
972 @item system-separator-markup
973 @funindex system-separator-markup
974
975 Ein Beschriftungsobjekt, das zwischen zwei Systeme gesetzt wird.  Das
976 wird oft in Orchesterpartituren eingesetzt.  Standard: nicht gesetzt.
977 Der Beschriftungsbefehl @code{\slashSeparator}, definiert in
978 @file{ly/titling-init.ly}, kann für einen Trenner
979 benutzt werden, etwa so:
980
981 @lilypond[quote,verbatim,noragged-right,line-width=30\mm]
982 #(set-default-paper-size "a8")
983
984 \book {
985   \paper {
986     system-separator-markup = \slashSeparator
987   }
988   \header {
989     tagline = ##f
990   }
991   \score {
992     \relative c'' { c1 \break c1 \break c1 }
993   }
994 }
995 @end lilypond
996
997 @end table
998
999
1000 @seealso
1001 Installierte Dateien:
1002 @file{ly/titling-init.ly}.
1003
1004 Schnipsel:
1005 @rlsr{Spacing}.
1006
1007
1008 @knownissues
1009
1010 Die Standard-Kopfzeilendefinition setzt die Seitenzahl und das
1011 @code{instrument}-Feld aus der @code{\header}-Umgebung in eine
1012 Zeile.
1013
1014
1015
1016 @node Partiturlayout
1017 @section Partiturlayout
1018 @translationof Score layout
1019
1020 @menu
1021 * Die \layout-Umgebung
1022 * Die Notensystemgröße einstellen::
1023 @end menu
1024
1025
1026 @node Die \layout-Umgebung
1027 @subsection Die @code{\layout}-Umgebung
1028 @translationof The \layout block
1029
1030 @cindex Partitur, Layout
1031 @cindex Layout, Partitur
1032 @funindex \layout
1033
1034 Während die @code{\paper}-Umgebung Einstellungen für die Formatierung
1035 der Seiten eines gesamten Dokuments enthalten, enthält die
1036 @code{\layout}-Umgebung Einstellungen für einzelne Partituren.  Um
1037 Layoutoptionen für Partituren global einzustellen, müssen sie in einer
1038 @code{\layout}-Umgebung gesetzt werden, die sich auf höchster Ebene in
1039 der Datei befindet.  Um sie für einzelne Partituren festzulegen, muss die
1040 @code{\layout}-Umgebung innerhalb der @code{\score}-Umgebung nach den Noten
1041 eingetraten werden.  Einstellungen, die in einer @code{\layout}-Umgebung
1042 vorkommen können, beinhalten:
1043
1044 @itemize
1045 @item die @code{layout-set-staff-size}-Scheme-Funktion,
1046 @item Kontextveränderungen in @code{\context}-Umgebungen und
1047 @item @code{\paper}-Variablen, die das Aussehen einer Partitur beeinflussen.
1048 @end itemize
1049
1050 Die @code{layout-set-staff-size}-Funktion wird im nächsten Abschnitt behandelt,
1051 @ref{Die Notensystemgröße einstellen}.  Kontextveränderungen werden in einem
1052 eigenen Kapitel behandelt, siehe @ref{Umgebungs-Plugins verändern} and
1053 @ref{Die Standardeinstellungen von Kontexten ändern}.  Die @code{\paper}-Variablen,
1054 die innerhalb der @code{\layout}-Umgebungen erlaubt sind, sind:
1055
1056 @itemize
1057
1058 @item
1059 @code{line-width}, @code{ragged-right} und @code{ragged-last}
1060 (siehe @ref{\paper-Variablen für Breite und Ränder})
1061
1062 @item
1063 @code{indent} und @code{short-indent}
1064 (siehe @ref{\paper-Variablen für Verschiebungen und Einrückungen})
1065
1066 @item
1067 @code{system-count}
1068 (siehe @ref{\paper-Variablen für den Zeilenumbruch})
1069
1070 @end itemize
1071
1072 Hier ist ein Beispiel für eine @code{\layout}-Umgebung:
1073
1074 @example
1075 \layout @{
1076   indent = 2\cm
1077   \context @{
1078     \StaffGroup
1079     \override StaffGrouper #'staff-staff-spacing #'basic-distance = #8
1080   @}
1081   \context @{
1082     \Voice
1083     \override TextScript #'padding = #1
1084     \override Glissando #'thickness = #3
1085   @}
1086 @}
1087 @end example
1088
1089
1090
1091 @seealso
1092 Notationsreferenz:
1093 @ref{Die Standardeinstellungen von Kontexten ändern},
1094 @ref{Die Notensystemgröße einstellen},
1095 @ref{Umgebungs-Plugins verändern}.
1096
1097 Schnipsel:
1098 @rlsr{Spacing}.
1099
1100
1101
1102 @node Die Notensystemgröße einstellen
1103 @subsection Die Notensystemgröße einstellen
1104 @translationof Setting the staff size
1105
1106 @cindex Schriftgröße, Einstellung
1107 @cindex Systemgröße, Einstellung
1108 @cindex Verändern der Schriftgröße
1109 @cindex Verändern der Systemgröße
1110 @funindex layout file
1111
1112 Die Standardgröße der Notensysteme beträgt 20 Punkte (pt).
1113 Das kann auf zwei Arten geändert werden:
1114
1115 Um die Systemgröße global für alle Partituren einer
1116 Datei (bzw. einer @code{\book}-Umgebung) zu verändern,
1117 wird @code{set-global-staff-size} benutzt:
1118
1119 @example
1120 #(set-global-staff-size 14)
1121 @end example
1122
1123 @noindent
1124 Hiermit wird die Standardhöhe der Notensysteme auf 14 pt
1125 gesetzt.  Die Schriftarten werden entsprechend verkleinert.
1126
1127 Um die Systemhöhe für jede Partitur einzeln zu verändern,
1128 muss
1129
1130 @example
1131 \score@{
1132   @dots{}
1133   \layout @{
1134     #(layout-set-staff-size 15)
1135   @}
1136 @}
1137 @end example
1138
1139 @noindent
1140 eingesetzt werden.
1141
1142 Die Feta-Schriftart stellt die Noten- und Musiksymbole
1143 für acht verschiedene Größen zur Verfügung.  Jede
1144 Schriftgröße ist einer bestimmten Systemgröße angepasst:
1145 für kleinere Schriftgrößen werden die Zeichen etwas
1146 schwerer, um mit den ebenfalls dickeren Notenlinien
1147 zu harmonieren.  Die empfohlenen Notensystemgrößen
1148 sind in der Tabelle aufgeführt:
1149
1150 @quotation
1151 @multitable @columnfractions .15 .2 .22 .2
1152
1153 @item @b{Schriftbezeichnung}
1154 @tab @b{Höhe des Systems (pt)}
1155 @tab @b{Höhe des Systems (mm)}
1156 @tab @b{Benutzung}
1157
1158 @item feta11
1159 @tab 11.22
1160 @tab 3.9
1161 @tab Taschenparituren
1162
1163 @item feta13
1164 @tab 12.60
1165 @tab 4.4
1166 @tab
1167
1168 @item feta14
1169 @tab 14.14
1170 @tab 5.0
1171 @tab
1172
1173 @item feta16
1174 @tab 15.87
1175 @tab 5.6
1176 @tab
1177
1178 @item feta18
1179 @tab 17.82
1180 @tab 6.3
1181 @tab Liederbücher
1182
1183 @item feta20
1184 @tab 20
1185 @tab 7.0
1186 @tab Orchesterstimmen
1187
1188 @item feta23
1189 @tab 22.45
1190 @tab 7.9
1191 @tab
1192
1193 @item feta26
1194 @tab 25.2
1195 @tab 8.9
1196 @tab
1197 @c modern rental material?
1198
1199 @end multitable
1200 @end quotation
1201
1202 Diese Schriftarten sind in allen Größen erhältlich.  Die Kontext-Eigenschaft
1203 @code{fontSize} und die Layout-Eigenschaft @code{staff-space} (in
1204 @code{StaffSymbol}) können benutzt werden, um die Schriftgröße für
1205 einzelne Systeme zu verändern.  Die Größe von einzelnen Systemen
1206 ist relativ zur globalen Systemgröße.
1207
1208
1209 @seealso
1210 Notationsreferenz:
1211 @ref{Auswahl der Notations-Schriftgröße}.
1212
1213 Schnipsel:
1214 @rlsr{Spacing}.
1215
1216
1217 @knownissues
1218
1219 @code{layout-set-staff-size} verändert nicht den Abstand zwischen den
1220 Notenlinien.
1221
1222
1223 @node Umbrüche
1224 @section Umbrüche
1225 @translationof Breaks
1226
1227 @menu
1228 * Zeilenumbrüche::
1229 * Seitenumbrüche::
1230 * Optimale Seitenumbrüche::
1231 * Optimale Umbrüche zum Blättern::
1232 * Minimale Seitenumbrüche::
1233 * Ausdrückliche Umbrüche::
1234 * Eine zusätzliche Stimme für Umbrüche benutzen::
1235 @end menu
1236
1237
1238 @node Zeilenumbrüche
1239 @subsection Zeilenumbrüche
1240 @translationof Line breaking
1241
1242 @cindex Zeilenumbrüche
1243 @cindex Umbrüche von Zeilen
1244
1245 Zeilenumbrüche werden normalerweise automatisch erstellt.  Sie
1246 werden so ausgewählt, dass die Zeilen weder gedrängt noch zu
1247 weit gespreizt wirken und aufeinander folgende Seiten einen
1248 ähnlichen Grauwert haben.
1249
1250 Einen manuellen Zeilenumbruch fügt man mit dem Befehl @code{\break}
1251 ein:
1252
1253 @lilypond[quote,ragged-right,relative=2,verbatim]
1254 c4 c c c | \break
1255 c4 c c c |
1256 @end lilypond
1257
1258 Normalerweise wird ein @code{\break} in der Mitte eines Takes ignoriert
1259 und eine Warnung ausgegeben.  Um einen Zeilenumbruch in der Mitte eines
1260 Taktes zu erzwingen, können Sie mit @code{\bar ""} eine
1261 unsichtbare Taktlinie hinzufügen, die dann den Zeilenumbruch
1262 erlaubt.
1263
1264 @lilypond[quote,ragged-right,relative=2,verbatim]
1265 c4 c c
1266 \bar "" \break
1267 c |
1268 c4 c c c |
1269 @end lilypond
1270
1271 Ein @code{\break} an einem Taktstrich wird auch ignoriert, wenn der letzte
1272 Takt mitten in einer Note endet, wenn etwa eine N-tole in unterschiedlichen
1273 Takten beginnt und endet.  Damit @code{\break} auch in derartigen Situationen
1274 funktioniert, muss @code{Forbid_line_break_engraver} aus der
1275 @code{Voice}-Umgebung entfernt werden.  Dabei sollte beachtet werden, dass
1276 manuell hervorgerufene Umbrüche parallel mit den Noten hinzugefügt werden
1277 müssen.
1278
1279 @lilypond[quote,ragged-right,verbatim]
1280 \new Voice \with {
1281   \remove Forbid_line_break_engraver
1282 } \relative c'' {
1283   <<
1284     { c2. \times 2/3 { c4 c c } c2. | }
1285     { s1 | \break s1 | }
1286   >>
1287 }
1288 @end lilypond
1289
1290 Genauso werden normalerweise Zeilenumbrüche auch verhindert, wenn Balken
1291 über die Taktenden hinausragen.  Dieses Verhalten kann verändert werden,
1292 indem man @code{\override Beam #'breakable = ##t} einstellt:
1293
1294 @lilypond[quote,ragged-right,relative=2,verbatim]
1295 \override Beam #'breakable = ##t
1296 c2. c8[ c | \break
1297 c8 c] c2. |
1298 @end lilypond
1299
1300 Mit dem Befehl @code{\noBreak} wird ein Zeilenumbruch an dem
1301 entsprechenden Taktstrich verboten.
1302
1303 Die grundlegenden Einstellungen, die Einfluss auf die Zeilenlänge
1304 haben, sind @code{indent} (Einzug) und @code{line-width}
1305 (Zeilenbreite).  Sie werden in der @code{\layout}-Umgebung
1306 eingestellt.  Der erste Befehl bestimmt den Einzug der ersten
1307 Zeile, der zweite die Zeilenlänge der weiteren Notenzeilen.
1308
1309 Wenn @code{ragged-right} eingestellt ist (also in der
1310 @code{\layout}-Umgebung auf den Wert @code{#t} gesetzt wurde),
1311 werden die Systeme linksbündig gesetzt und nicht bis zum
1312 rechten Rand hin durchgezogen, sondern den Noten entsprechend
1313 gesetzt.  Das ist oftmals nützlich für kleine Notenfragmente
1314 und um zu überprüfen, wie eng die Noten natürlicherweise
1315 gesetzt werden würden.
1316
1317 Die Option @code{ragged-last} verhält sich ähnlich zu @code{ragged-right},
1318 aber wirkt sich nur auf die letzte Zeile eines Stückes aus.
1319
1320 @example
1321 \layout @{
1322 indent = #0
1323 line-width = #150\mm
1324 ragged-last = ##t
1325 @}
1326 @end example
1327
1328 @cindex regelmäßige Zeilenumbrüche
1329 @cindex Zeilenumbrüche in Intervallen
1330
1331 Um Zeilenumbrüche zu erzwingen, die in festgelegten Intervallen
1332 stattfinden, kann der Befehl @code{\break} in Kombination
1333 mit unsichtbaren Noten und einer Wiederholung (@code{\repeat}) eingesetzt
1334 werden.  Das folgende Beispiel etwa setzt die nächsten
1335 28 Takte (im 4/4-Takt) in Zeilen zu jeweils 4 Takten (die auch nur hier
1336 umgebrochen werden):
1337
1338 @example
1339 <<
1340   \repeat unfold 7 @{
1341     s1 \noBreak s1 \noBreak
1342     s1 \noBreak s1 \break
1343   @}
1344   @{ @var{Hier die Noten@dots{}} @}
1345 >>
1346 @end example
1347
1348 Eine Zeilenumbruchkonfiguration kann auch als eine @file{.ly}-Datei
1349 automatisch gespeichert werden.  Damit kann die vertikale Ausrichtung
1350 während eines zweiten Programmdurchlaufs angepasst werden um die
1351 Seiten besser zu füllen.  Diese Eigenschaft ist recht neu und
1352 kompliziert.  Mehr Einzelheiten finden sich in
1353 @rlsr{Spacing}.
1354
1355 @predefined
1356 @funindex \break
1357 @code{\break},
1358 @funindex \noBreak
1359 @code{\noBreak}.
1360 @endpredefined
1361
1362 @seealso
1363 Notationsreferenz:
1364 @ref{\paper-Variablen für den Zeilenumbruch}.
1365
1366 Schnipsel:
1367 @rlsr{Spacing}.
1368
1369 Referenz der Interna:
1370 @rinternals{LineBreakEvent}.
1371
1372
1373 @node Seitenumbrüche
1374 @subsection Seitenumbrüche
1375 @translationof Page breaking
1376
1377 @cindex Seitenumbrüche
1378 @cindex Umbrüche, Seite
1379
1380 Die Standardseitenumbrüche können verändert werden, indem
1381 man die Befehle @code{\pageBreak} bzw. @code{\noPageBreak}
1382 benutzt.  Sie verhalten sich analog zu den Befehlen
1383 @code{\break} und @code{\noBreak}.  Sie sollten an einem
1384 Taktstrich notiert werden.  Diese Befehle erzwingen bzw.
1385 verbieten einen Seitenumbruch.  Mit dem @code{\pageBreak}-Befehl
1386 wird natürlich gleichzeitig auch ein Zeilenumbruch erzwungen.
1387
1388 Die @code{\pageBreak} und @code{\noPageBreak}-Befehle können
1389 auch auf der höchsten Ebene einer Datei benutzt werden, etwa
1390 zwischen Partituren und Textbeschriftungen.
1391
1392 Es gibt auch vertikale Gegenstücke zu den Variablen
1393 @code{ragged-right} und @code{ragged-last}:
1394 @code{ragged-bottom} und @code{ragged-last-bottom}.  Wenn diese
1395 Variablen auf @code{#t} (wahr) gesetzt werden, werden im ersten
1396 Fall die Notensysteme auf allen Seiten eng nach oben orientiert
1397 gesetzt werden.  Im zweiten Fall bezieht sich dies nur auf die
1398 letzte Seite.
1399 Zu Einzelheiten siehe @ref{Vertikale \paper-Variablen mit festen Abständen}.
1400
1401 Seitenumbrüche werden von der @code{page-breaking}-Funktion errechnet.
1402 LilyPond kennt drei Algorithmen um Seitenumbrüche zu errechnen:
1403 @code{ly:optimal-breaking}, @code{ly:page-turn-breaking} und
1404 @code{ly:minimal-breaking}.  Der Standard ist @code{ly:optimal-breaking},
1405 aber der Wert kann in der @code{\paper}-Umgebung geändert werden:
1406
1407 @example
1408 \paper@{
1409   #(define page-breaking ly:page-turn-breaking)
1410 @}
1411 @end example
1412
1413 @funindex \bookpart
1414
1415 Wenn ein Buch (@code{\book}) viele Parituren und Seiten hat, kann die
1416 Seitenaufteilung schwer zu ermitteln sein und viel Zeit und Prozessorlast
1417 in Anspruch nehmen.  Um den Seitenumbruchsprozess zu vereinfachen,
1418 werden @code{\bookpart}-Umgebungen benutzt, um das Buch in mehrere Teil
1419 zu trennen: Die Seitenumbrüche werden seperat für jeden Teil berechnet.
1420 Unterschiedliche Seitenumbruchsfunktionen können in unterschiedlichen
1421 Buchteilen benutzt werden.
1422
1423 @example
1424 \bookpart @{
1425   \header @{
1426     subtitle = "Vorwort"
1427   @}
1428   \paper @{
1429      %% In einem Abschnitt, der vor allem Text hat,
1430      %% funktioniert womöglich ly:minimal-breaking besser
1431      #(define page-breaking ly:minimal-breaking)
1432   @}
1433   \markup @{ @dots{} @}
1434   @dots{}
1435 @}
1436 \bookpart @{
1437   %% In diesem Abschnitt mit Noten wird
1438   %% die Standard-Seitenumbruchsfunktion benutzt.
1439   \header @{
1440     subtitle = "Erster Satz"
1441   @}
1442   \score @{ @dots{} @}
1443   @dots{}
1444 @}
1445 @end example
1446
1447
1448
1449
1450 @predefined
1451 @funindex \pageBreak
1452 @code{\pageBreak},
1453 @funindex \noPageBreak
1454 @code{\noPageBreak}.
1455 @endpredefined
1456
1457 @seealso
1458 Notationsreferenz:
1459 @ref{\paper-Variablen für den Seitenumbruch}.
1460
1461 Schnipsel:
1462 @rlsr{Spacing}.
1463
1464
1465 @node Optimale Seitenumbrüche
1466 @subsection Optimale Seitenumbrüche
1467 @translationof Optimal page breaking
1468
1469 @funindex ly:optimal-breaking
1470
1471 Die @code{ly:optimal-breaking}-Funktion ist die Standardmethode für
1472 LilyPond, um Seitenumbrüche zu errechnen.  Hiermit wird versucht,
1473 Seitenumbrüche zu finden, die das Stauchen oder Strecken von Zeilen
1474 minimieren, sowohl horizontal als auch vertikal.  Anders als die
1475 @code{ly:page-turn-breaking}-Funktion hat diese Methode keine
1476 Möglichkeit, Überlegungen zum Umblättern mit einzubeziehen.
1477
1478 @seealso
1479 Schnipsel:
1480 @rlsr{Spacing}.
1481
1482
1483 @node Optimale Umbrüche zum Blättern
1484 @subsection Optimale Umbrüche zum Blättern
1485 @translationof Optimal page turning
1486
1487 @funindex ly:page-turn-breaking
1488
1489 Es ist oft nötig, die Seiten so umzubrechen, dass sich eine Pause am
1490 Ende jeder zweiten Seite befindet, damit der Musiker es leichter hat,
1491 die Seite umzublättern ohne das Spielen zu Unterbrechen.  Die
1492 @code{ly:page-turn-breaking}-Funktion versucht, Seitenumbrüche zu
1493 finden, die das Stauchen oder Strecken von Zeilen minimieren und
1494 gleichzeitig auch noch Seitenumbrüchen an angegebenen Stellen
1495 den Vorrang zu geben.
1496
1497 Die Funktion wird in zwei Schritten eingesetzt.  Zunächst muss sie
1498 in der @code{\paper}-Umgebung aktiviert werden, wie gezeigt in
1499 @ref{Seitenumbrüche}.  Dann muss noch angegeben werden, welche Stellen
1500 bevorzugt für Seitenumbrüche benutzt werden sollen.
1501
1502 Für diesen zweiten Schritt gibt es zwei Methoden.  Am Einfachsten ist
1503 es, die möglichen Seitenumbrüche mit dem Befehl @code{\allowPageTurn}
1504 an jeder Stelle manuell anzugeben.
1505
1506 Wenn Ihnen das zu aufwändig ist, können Sie den @code{Page_turn_engraver}
1507 zu einem @code{Staff}- oder @code{Voice}-Kontext hinzufügen.  Dieser
1508 Engraver durchsucht den entsprechenden Kontext nach Stellen ohne Noten.
1509 (Es wird also nicht nach Pausen gesucht, sondern nach Stellen ohne
1510 Noten.  Dieses Verhalten verhindert, dass an polyphonen Stellen umgebrochen
1511 wird, wo nur in einer Stimme Pausen vorhanden sind.)  Wenn eine
1512 derartige Stelle ohne Noten gefunden wird, fügt der Engraver den
1513 Befehl @code{\allowPageTurn} am letzten Taktstrich des Abschnitts ein.  Wenn
1514 in dem Abschnitt ein besonderer Taktstrich vorkommt (wie etwa ein
1515 Doppelstrich), wird der Befehl nach diesem Taktstrich gesetzt.
1516
1517 @funindex minimumPageTurnLength
1518
1519 Der @code{Page_turn_engraver} liest die Kontexteigenschaft
1520 @code{minimumPageTurnLength} um zu erkennen, wie lang eine Stelle
1521 frei von Noten sein muss, damit ein Seitenumbruch in Frage kommt.  Der
1522 Standardwert hierfür ist @code{(ly:make-moment 1 1)}.  Wenn Sie
1523 Seitenumbrüche zum Umblättern ausschalten wollen, können Sie
1524 einen sehr großen Wert angeben.
1525
1526 @example
1527 \new Staff \with @{ \consists "Page_turn_engraver" @}
1528 @{
1529   a4 b c d |
1530   R1 | % Ein Seitenumbruch zum Umblättern erlaubt
1531   a4 b c d |
1532   \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
1533   R1 | % Seitenumbruch nicht erlaubt
1534   a4 b r2 |
1535   R1*2 | % Seitenumbruch erlaubt
1536   a1
1537 @}
1538 @end example
1539
1540 @funindex minimumRepeatLengthForPageTurn
1541
1542 Der @code{Page_turn_engraver} erkennt Wiederholungen vom Typ @code{volta}.
1543 Ein Seitenumbruch zum Umblättern wird nur zugelassen, wenn vor und nach
1544 der Wiederholung genug Zeit ist, um die Seite wieder zurückzublättern.
1545 Wenn die Wiederholung sehr kurz ist, kann auch Umblättern verboten
1546 werden.  Wenn Sie die Kontexteigenschaft
1547 @code{minimumRepeatLengthForPageTurn} definieren, erlaubt der
1548 @code{Page_turn_engraver} nur Umblättern in Wiederholungen, deren
1549 Dauer länger als dieser Wert ist.
1550
1551 Die Seitenumblätter-Befehle @code{\pageTurn}, @code{\noPageTurn} und
1552 @code{\allowPageTurn} können auch auf oberster Dateiebene benutzt
1553 werden, etwa zwischen Partituren und Textabschnitten.
1554
1555
1556 @predefined
1557 @funindex \pageTurn
1558 @code{\pageTurn},
1559 @funindex \noPageTurn
1560 @code{\noPageTurn},
1561 @funindex \allowPageTurn
1562 @code{\allowPageTurn}.
1563 @endpredefined
1564
1565 @seealso
1566 Schnipsel:
1567 @rlsr{Spacing}.
1568
1569 @knownissues
1570
1571 In einer Partitur sollte nur ein @code{Page_turn_engraver} vorkommen.  Wenn
1572 mehr als einer definiert werden, stören sie sich gegenseitig.
1573
1574
1575 @node Minimale Seitenumbrüche
1576 @subsection Minimale Seitenumbrüche
1577 @translationof Minimal page breaking
1578
1579 @funindex ly:minimal-breaking
1580
1581 Die @code{ly:minimal-breaking}-Funktion benötigt nur minimale Berechnungen,
1582 um die Seitenumbrüche zu bestimmen.  Die Seite wird mit möglichst
1583 vielen Systemen gefüllt und dann zur nächsten Seite gewechselt.  Die
1584 Funktion kann benutzt werden um Partituren mit vielen Seiten zu
1585 setzen, wenn die anderen Seitenumbruchsfunktionen zu langsam wären
1586 oder zu viel Speicher beanspruchen.  Auch für Seiten mit viel Text
1587 ist die Funktion geeignet.  Sie wird folgendermaßen aktiviert:
1588
1589 @example
1590 \paper @{
1591   page-breaking = #ly:minimal-breaking
1592 @}
1593 @end example
1594
1595
1596 @seealso
1597 Schnipsel:
1598 @rlsr{Spacing}.
1599
1600
1601 @node Ausdrückliche Umbrüche
1602 @subsection Ausdrückliche Umbrüche
1603 @translationof Explicit breaks
1604
1605 Es kann vorkommen, dass LilyPond direkte @code{\break} oder
1606 @code{\pageBreak}-Befehl nicht beachtet.  Mit folgenden
1607 Einstellungen kann dieses Verhalten ausgeschaltet werden:
1608
1609 @example
1610 \override NonMusicalPaperColumn #'line-break-permission = ##f
1611 \override NonMusicalPaperColumn #'page-break-permission = ##f
1612 @end example
1613
1614 Wenn @code{line-break-permission} die Einstellung falsch
1615 (@code{##f}) hat, werden Zeilenumbrüche nur an den Befehlen
1616 @code{\break} eingefügt und nirgendwo anders.  Wenn
1617 @code{page-break-permission} die Einstellung falsch
1618 (@code{##f}) hat, werden Seitenumbrüche nur an den Befehlen
1619 @code{\pageBreak} eingefügt und nirgendwo anders.
1620
1621 @lilypond[quote,verbatim]
1622 \paper {
1623   indent = #0
1624   ragged-right = ##t
1625   ragged-bottom = ##t
1626 }
1627
1628 music = \relative c'' { c8 c c c }
1629
1630 \score {
1631   \new Staff {
1632     \repeat unfold 2 { \music } \break
1633     \repeat unfold 4 { \music } \break
1634     \repeat unfold 6 { \music } \break
1635     \repeat unfold 8 { \music } \pageBreak
1636     \repeat unfold 8 { \music } \break
1637     \repeat unfold 6 { \music } \break
1638     \repeat unfold 4 { \music } \break
1639     \repeat unfold 2 { \music }
1640   }
1641   \layout {
1642     \context {
1643       \Score
1644       \override NonMusicalPaperColumn #'line-break-permission = ##f
1645       \override NonMusicalPaperColumn #'page-break-permission = ##f
1646     }
1647   }
1648 }
1649 @end lilypond
1650
1651
1652 @seealso
1653 Schnipsel:
1654 @rlsr{Spacing}.
1655
1656
1657 @node Eine zusätzliche Stimme für Umbrüche benutzen
1658 @subsection Eine zusätzliche Stimme für Umbrüche benutzen
1659 @translationof Using an extra voice for breaks
1660
1661 Zeilen- und Seitenumbruchbefehle werden normalerweise direkt
1662 zusammen mit den Noten eingegeben.
1663
1664 @example
1665 music = \relative c'' @{ c4 c c c @}
1666
1667 \score @{
1668   \new Staff @{
1669     \repeat unfold 2 @{ \music @} \break
1670     \repeat unfold 3 @{ \music @}
1671   @}
1672 @}
1673 @end example
1674
1675 Hierdurch sind zwar die Befehle @code{\break} und @code{\pageBreak}
1676 einfach zu notieren, es werden aber Informationen zur Notation
1677 mit Informationen zur Anordnung auf der Seite vermischt.  Man kann
1678 diese Informationen auch voneinander trennen, indem man eine zusätzliche
1679 Stimme einfügt, in der Zeilen- und Seitenumbrüche vorgenommen werden.
1680 Diese zusätzliche Stimme enthält nur unsichtbare Noten und die
1681 Umbruchbefehle:
1682
1683 @lilypond[quote,verbatim]
1684 music = \relative c'' { c4 c c c }
1685
1686 \score {
1687   \new Staff <<
1688     \new Voice {
1689       s1 * 2 \break
1690       s1 * 3 \break
1691       s1 * 6 \break
1692       s1 * 5 \break
1693     }
1694     \new Voice {
1695       \repeat unfold 2 { \music }
1696       \repeat unfold 3 { \music }
1697       \repeat unfold 6 { \music }
1698       \repeat unfold 5 { \music }
1699     }
1700   >>
1701 }
1702 @end lilypond
1703
1704 Mit dieser Herangehensweise kann der Code insbesondere
1705 dann klarer notiert werden, wenn man Einstellungen der
1706 @code{line-break-system-details}-Eigenschaft oder
1707 anderer Eigenschaften von
1708 @code{NonMusicalPaperColumnGrob} vornimmt (hierzu auch
1709 @ref{Vertikale Abstände}).
1710
1711 @lilypond[quote,verbatim]
1712 music = \relative c'' { c4 c c c }
1713
1714 \score {
1715   \new Staff <<
1716     \new Voice {
1717       \overrideProperty "Score.NonMusicalPaperColumn"
1718         #'line-break-system-details #'((Y-offset . 0))
1719       s1 * 2 \break
1720
1721       \overrideProperty "Score.NonMusicalPaperColumn"
1722         #'line-break-system-details #'((Y-offset . 35))
1723       s1 * 3 \break
1724
1725       \overrideProperty "Score.NonMusicalPaperColumn"
1726         #'line-break-system-details #'((Y-offset . 70))
1727       s1 * 6 \break
1728
1729       \overrideProperty "Score.NonMusicalPaperColumn"
1730         #'line-break-system-details #'((Y-offset . 105))
1731       s1 * 5 \break
1732     }
1733     \new Voice {
1734       \repeat unfold 2 { \music }
1735       \repeat unfold 3 { \music }
1736       \repeat unfold 6 { \music }
1737       \repeat unfold 5 { \music }
1738     }
1739   >>
1740 }
1741 @end lilypond
1742
1743
1744 @seealso
1745 Notationsreferenz:
1746 @ref{Vertikale Abstände}.
1747
1748 Schnipsel:
1749 @rlsr{Spacing}.
1750
1751
1752 @node Vertikale Abstände
1753 @section Vertikale Abstände
1754 @translationof Vertical spacing
1755
1756 @cindex vertikale Positionierung
1757 @cindex Positionierung, vertikal
1758 @cindex Abstände, vertikal
1759
1760 Vertikale Abstände werden durch drei Eigenschaften
1761 bestimmt:  wieviel Platz frei ist (etwa Papiergröße
1762 und Ränder), wieviel Platz zwischen Systemgruppen
1763 (engl. system) gesetzt werden soll und wieviel
1764 Platz zwischen Notensystemen (engl. staff, Pl. staves)
1765 innerhalb von Gruppen gesetzt wird.
1766
1767 @menu
1768 * Flexible vertikale Abstände in Systemgruppen::
1769 * Explizite Positionierung von Systemen::
1770 * Vermeidung von vertikalen Zusammenstößen::
1771 @end menu
1772
1773
1774 @node Flexible vertikale Abstände in Systemgruppen
1775 @subsection Flexible vertikale Abstände in Systemgruppen
1776 @translationof Flexible vertical spacing within systems
1777
1778 @cindex Abstand zwischen Notensystemen
1779 @cindex Notensystemabstand
1780 @cindex Platz zwischen Notensystemen
1781 @cindex Platz innerhalb von Systemgruppen
1782 @cindex Systemgruppen, Abstände innerhalb
1783
1784 Drei unterschiedliche Mechanismen kontrollieren das flexible Abstandaufteilung
1785 in Systemgruppen, einer für jede der folgenden Kathegorien:
1786
1787 @itemize
1788
1789 @item
1790 @emph{ungruppierte Systeme},
1791
1792 @item
1793 @emph{Systemgruppen} (Systeme innerhalb einer @code{staff-group} wie etwa
1794 @code{ChoirStaff} usw.) und
1795
1796 @item
1797 @emph{Nicht-Notensystemzeilen} (wie etwa @code{Lyrics} (Gesangstext),
1798 @code{ChordNames} (Akkordbezeichnungen) usw.).
1799
1800 @end itemize
1801
1802 Die Höhe jeder Systemgruppe wird in zwei Schritten bestimmt.  Zunächst
1803 werden alle Systeme anhand des vorhandenen Platzes aufgeteilt.  Dann
1804 werden die nicht-Notensysteme (also Akkorde oder Gesangstext) zwischen
1805 den Systemen verteilt.
1806
1807 Es ist zu beachten, dass der Platzverteilungsmechanismus, der in diesem
1808 Abschnitt behandelt wird, nur die vertikale Platzierung von Systemen und
1809 nicht-Systemzeilen in einzelnen Systemgruppen behandelt.  Die vertikale
1810 Platzierung zwischen einzelnen Systemgruppen, Partituren, Beschriftungen
1811 usw. und den Rändern wird durch @code{\paper}-Variablen kontrolliert, die
1812 @ref{Vertikale \paper-Variablen mit flexiblen Abständen}.
1813
1814 @menu
1815 * Eigenschaften für Abstände innerhalb von Systemgruppen::
1816 * Abstände von nicht gruppierten Notensystemen::
1817 * Abstände von gruppierten Notensystemen::
1818 * Abstände von nicht-Notensystemzeilen::
1819 @end menu
1820
1821
1822 @node Eigenschaften für Abstände innerhalb von Systemgruppen
1823 @unnumberedsubsubsec Eigenschaften für Abstände innerhalb von Systemgruppen
1824 @translationof Within-system spacing properties
1825
1826 @funindex staff-affinity
1827 @funindex staffgroup-staff-spacing
1828 @funindex staff-staff-spacing
1829 @funindex nonstaff-unrelatedstaff-spacing
1830 @funindex nonstaff-relatedstaff-spacing
1831 @funindex nonstaff-nonstaff-spacing
1832 @funindex default-staff-staff-spacing
1833 @funindex minimum-Y-extent
1834 @funindex extra-offset
1835 @funindex self-alignment-X
1836 @funindex X-offset
1837 @funindex VerticalAxisGroup
1838
1839 Der vertikalen Platzierungsmechanismen für Abstände innerhalb von Systemgruppen
1840 werden durch zwei Gruppen von Grob-Eigenschaften kontrolliert.  Die erste
1841 Gruppe ist mit dem @code{VerticalAxisGroup}-Grob verknüpft, der von allen
1842 Notensystemen und Nicht-Notensystemzeilen erstellt wird.  Die zweite Gruppe
1843 ist mit dem @code{StaffGrouper}-Grob verknüpft, der von Systemgruppen erstellt
1844 werden kann, aber nur, wenn das explizit verlangt wird.  Die einzelnen Eigenschaften
1845 werden am Ende dieses Abschnitts beschrieben.
1846
1847 Die Bezeichnungen dieser Eigenschaften (mit Außnahmen von @code{staff-affinity})
1848 haben das Format @code{@var{Element1}-@var{Element2}-spacing}, wobei
1849 @code{@var{Element1}} und @code{@var{Element2}} die Elemente sind, deren
1850 Abstände eingestellt werden sollen.  Dabei ist allerdings zu beachten, dass
1851 @code{@var{Element2}} sich nicht notwendigerweise unterhalb von
1852 @code{@var{Element1}} befindet; beispielsweise
1853 @code{nonstaff-relatedstaff-spacing} (Nicht-Notensystem-verwandtesNotensystem)
1854 misst von dem Nicht-Notensystem nach oben, wenn @code{staff-affinity}
1855 (Richtung, an der sich ein System ausrichtet) auf @code{UP} (nach oben)
1856 eingestellt ist.
1857
1858 Jeder Abstand wird zwischen den @emph{Referenzpunkten} der zwei Objekten
1859 gemessen.  Der Referenzpunkt eines Notensystems ist die vertikale Mitte
1860 seines @code{StaffSymbol}-Objekts (also die Mittellinie, wenn
1861 @code{line-count} (Notenlinienzähler) ungrade ist, oder der mittlere
1862 Zwischenraum, wenn @code{line-count} grade ist).  Die Referenzpunkte für
1863 einzelne Nicht-Notensystemzeilen ergibt sich aus der folgenden Tabelle:
1864
1865 @multitable {Nicht-Notensystemzeile} {Referenzpunkt}
1866 @headitem Nicht-Notensystemzeile @tab Referenzpunkt
1867 @item @code{ChordNames}  @tab Grundlinie
1868 @item @code{NoteNames}   @tab Grundlinie
1869 @item @code{Lyrics}      @tab Grundlinie
1870 @item @code{Dynamics}    @tab vertikale Mitte
1871 @item @code{FiguredBass} @tab höchster Punkt
1872 @item @code{FretBoards}  @tab Oberlinie
1873 @end multitable
1874
1875 Im nächsten Bild zeigen horizontale Striche die Positionen dieser
1876 Referenzpunkte an:
1877
1878 @lilypond[quote,noragged-right,line-width=110\mm]
1879 #(define zero-space '((padding . -inf.0) (basic-distance . 0)))
1880
1881 alignToZero = \with {
1882   \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = #zero-space
1883   \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = #zero-space
1884 }
1885 lowerCaseChords = \with {
1886   chordNameLowercaseMinor = ##t
1887 }
1888 staffAffinityDown = \with {
1889   \override VerticalAxisGroup #'staff-affinity = #DOWN
1890 }
1891 labelContext =
1892 #(define-music-function
1893      (parser location context)
1894      (string?)
1895    #{ s1*0^\markup { \typewriter #context } #})
1896
1897 \layout {
1898   \context { \Dynamics    \alignToZero }
1899   \context { \FiguredBass \alignToZero }
1900   \context { \Lyrics      \alignToZero }
1901   \context { \NoteNames   \alignToZero \staffAffinityDown }
1902   \context { \ChordNames  \alignToZero
1903                           \staffAffinityDown
1904                           \lowerCaseChords }
1905   \context { \FretBoards  \alignToZero \staffAffinityDown }
1906   \context { \Score
1907     \override BarLine #'stencil = ##f
1908     \override DynamicText #'self-alignment-X = #-1
1909     \override FretBoard #'X-offset = #1.75
1910     \override InstrumentName #'minimum-Y-extent = #'(-2 . 2)
1911     \override InstrumentName #'extra-offset = #'(0 . -0.5)
1912     \override TextScript #'minimum-Y-extent = #'(-2 . 3)
1913     \override TimeSignature #'stencil = ##f
1914   }
1915 }
1916
1917 %% These contexts have reference points at the baseline:
1918 %%   ChordNames, NoteNames, and Lyrics
1919 <<
1920   \new ChordNames { \chords { g1:m } }
1921   \new NoteNames { s1 | g1 | }
1922   \new RhythmicStaff {
1923     \set RhythmicStaff.instrumentName = #"baseline "
1924     \textLengthOn
1925     \labelContext "ChordNames " s1 |
1926     \labelContext "NoteNames "  s1 |
1927     \labelContext "Lyrics"     s1 |
1928   }
1929   \new Lyrics { \lyrics { \skip 1*2 | ghijk1 | } }
1930 >>
1931
1932 %% The reference point for Dynamics is its vertical center
1933 <<
1934   \new RhythmicStaff {
1935     \set RhythmicStaff.instrumentName = #"vertical center "
1936     \labelContext "Dynamics" s1*3
1937   }
1938   \new Dynamics { s1\mp s\fp }
1939 >>
1940
1941 %% The reference point for FiguredBass is its highest point
1942 <<
1943   \new RhythmicStaff {
1944     \set RhythmicStaff.instrumentName = #"highest point "
1945     \labelContext "FiguredBass" s1
1946   }
1947   \new FiguredBass { \figuremode { <6 5>1 } }
1948 >>
1949
1950 %% The reference point for FretBoards is the top line
1951 \include "predefined-guitar-fretboards.ly"
1952 <<
1953   \new FretBoards { \chordmode { e1 } }
1954   \new RhythmicStaff {
1955     \set RhythmicStaff.instrumentName = #"top line "
1956     \labelContext "FretBoards " s1
1957   }
1958 >>
1959 @end lilypond
1960
1961 Jeder der vertikalen Platzierungs-Grobeigenschaften (außer
1962 @code{staff-affinity}) benutzt die gleiche Alistenstruktur
1963 wie die @code{\paper}-Variablen, behandelt in
1964 @ref{Vertikale \paper-Variablen mit flexiblen Abständen}.  Besondere
1965 Methoden um Alisten zu verändern finden sich in
1966 @ref{Alisten verändern}.  Grob-Eigenschaften sollten mit
1967 dem @code{\override}-Befehle innerhalb einer @code{\score}-
1968 oder @code{\layout}-Umgebung angepasst werden, nicht innerhalb einer
1969 @code{\paper}-Umgebung.
1970
1971 Das folgende Beispiel zeigt die beiden Arten, Alisten zu modifizieren.
1972 Der erste Aufruf verändert nur einen Schlüsselwert einzlen, während
1973 der zweite die Eigenschaft komplett neu definiert:
1974
1975 @example
1976 \new Staff \with @{
1977   \override VerticalAxisGroup #'default-staff-staff-spacing
1978        #'basic-distance = #10
1979 @} @{ @dots{} @}
1980
1981 \new Staff \with @{
1982   \override VerticalAxisGroup #'default-staff-staff-spacing =
1983     #'((basic-distance . 10)
1984        (minimum-distance . 9)
1985        (padding . 1)
1986        (stretchability . 10))
1987 @} @{ @dots{} @}
1988 @end example
1989
1990 Um Platzierungseinstellungen global vorzunehmen, müssen sie in der
1991 @code{\layout}-Umgebung vorgenommen werden:
1992
1993 @example
1994 \layout @{
1995   \context @{
1996     \Staff
1997     \override VerticalAxisGroup #'default-staff-staff-spacing
1998          #'basic-distance = #10
1999   @}
2000 @}
2001 @end example
2002
2003 Standardeinstellungen für die vertikalen Platzierungs-Grobeigenscahften
2004 finden sich in @rinternals{VerticalAxisGroup} und
2005 @rinternals{StaffGrouper} aufgelistet.  Standardveränderungen für bestimmte
2006 Typen von Nicht-Notensystemzeilen finden sich im relevanten Abschnitt in
2007 in @rinternals{Contexts} aufgelistet.
2008
2009
2010 @subsubheading Eigenschaften des @code{VerticalAxisGroup}-Grobs
2011
2012 @code{VerticalAxisGroup}-Eigenschaften werden normalerweise mit einem
2013 @code{\override}-Befehl auf @code{Staff}-(Notensystem-)Ebene (oder
2014 entsprechend) vorgenommen.
2015
2016 @table @code
2017 @item staff-staff-spacing
2018 System-System-Platzierung
2019
2020 Wird benutzt, um den Abstand zwischen dem aktuellen Notensystem und dem
2021 Notensystem direkt darunter in der gleichen Notensystemgruppe zu bestimmen,
2022 auch wenn eine oder mehrere Nicht-Notensystemzeilen (wie etwa @code{Lyrics})
2023 dazwischen stehen.  Gilt nicht für das unterste System einer Systemgruppe.
2024
2025 Die Eigenschaft @code{staff-staff-spacing} einer @code{VerticalAxisGroup}
2026 ist eine Scheme-Funktion, welche die Eigenschaften vom @code{StaffGrouper}-Grob
2027 den Notensystemen zuweist, wenn sie einer Systemgruppe angehören, bzw.
2028 die @code{default-staff-staff-spacing}-Eigenschaft bei einem einzelnen Notensystem.
2029 Dadurch können Systeme unterschiedlich in Abhängigkeit von ihrer Zugehörigkeit
2030 zu einer Gruppe (StaffGroup) platziert werden.  Wenn gleichmäßige Aufteilung
2031 ohne Berücksichtigung von Gruppierungen gewünscht ist, kann diese Funktion durch
2032 eine flexible Platzierungs-Aliste ersetzt werden, wobei man die vollständige
2033 Redefinition auf die oben gezeigte Weise vornehmen muss.
2034
2035 @item default-staff-staff-spacing
2036 Normale-System-System-Platzierung
2037
2038 Eine flexible Platzierungs-Aliste, die den Wert von @code{staff-staff-spacing}
2039 für ungruppierte Notensysteme einstellt, es sei denn,
2040 @code{staff-staff-spacing} wirde explizit mit @code{\override} eingestellt.
2041
2042 @item staff-affinity
2043 System-Anziehung
2044
2045 Die Richtung des Systems, die benutzt wird, um die aktuelle
2046 Nicht-Notensystemzeile zu platzieren.  Mögliche Werte sind
2047 @code{UP} (nach oben), @code{DOWN} (nach unten) und
2048 @code{CENTER} (mittig).  Wenn @code{CENTER} wird die Nicht-Notensystemzeile
2049 vertikal mittig zwischen den beiden nächsten Systemen oben und unten
2050 platziert, außer Zusammenstöße und andere Platzierungsprobleme verhindern
2051 das.  Aufeinanderfolgende Nicht-Notensystemzeilen sollten nicht-aufsteigende
2052 @code{staff-affinity} von oben nach unten haben; also ein Nicht-Notensystemzeile
2053 mit @code{UP} sollte nicht direkt auf eine mit @code{DOWN} folgen.
2054 Nicht-Notensystemzeilen über einem Notensystem sollten @code{DOWN}
2055 benutzen, unter einem Notensystem dagegen @code{UP}.  Wenn
2056 @code{staff-affinity} für eine Notensystem eingestellt wird, wird es wie
2057 eine Nicht-Notensystemzeile behandelt.  Wenn @code{staff-affinity}
2058 auf @code{#f} gesetzt wird, wird eine Nicht-Notensystemzeile wie ein
2059 Notensystem behandelt. Wird @code{staff-affinity} auf @code{UP},
2060 @code{CENTER} oder @code{DOWN} gesetzt, wird das Notensystem als
2061 Nicht-Notensystemzeile plaziert.
2062
2063
2064 @item nonstaff-relatedstaff-spacing
2065 Nicht-Notensystem-verwandtesSystem-Platzierung
2066
2067 Der Abstand zwischen der aktuellen Nicht-Notensystemzeile und
2068 dem nächsten Notensystem in der Richtung von @code{staff-affinity},
2069 wenn keine Nicht-Notensystemzeilen dazwischen auftreten und @code{staff-affinity}
2070 entweder @code{UP} oder @code{DOWN} ist.  Wenn @code{staff-affinity}
2071 @code{CENTER} ist, dann wird @code{nonstaff-relatedstaff-spacing} für die
2072 nächsten Notensysteme auf @emph{beiden} Seiten benutzt, auch wenn andere
2073 Nicht-Notensystemzeilen zwischen der aktuellen und einem der Notensystem
2074 auftreten.  Das heißt, dass die Platzierung eine Nicht-Notensystemzeile
2075 sowohl von den umliegenden Notensystemen als auch den umliegenden
2076 Nicht-Notensystemzeilen abhängt.  Wenn @code{stretchability} einer dieser
2077 Platzierungstypen auf einen kleinen Wert gesetzt wird, dominiert diese
2078 Platzierung.  Wird es dagegen auf einen großen Wert gesetzt, hat die
2079 Platzierung dieses Objekts nur einen kleinen Einfluss.
2080
2081 @item nonstaff-nonstaff-spacing
2082 Nicht-Notensystemzeile-Nicht-Notensystemzeile-Platzierung
2083
2084 Der Abstand zwischen der aktuellen Nicht-Notensystemzeile und der
2085 Nicht-Notensystemzeile in der Richtung von @code{staff-affinity},
2086 wenn beide sich auf der gleichen Seite des verwandten Notensystems
2087 befinden und @code{staff-affinity} entweder @code{UP} oder @code{DOWN} ist.
2088
2089 @item nonstaff-unrelatedstaff-spacing
2090 Nicht-Notensystemzeile-Nicht-verwandtesSystem-Platzierung
2091
2092 Der Abstand zwischen der aktuellen Nicht-Notensystemzeile und
2093 dem Notensystem in der gegenüberliegenden Richtung von @code{staff-affinity},
2094 wenn keine anderen Nicht-Notensystemzeilen dazwischen auftreten und
2095 @code{staff-affinity} entweder @code{UP} oder @code{DOWN} ist.  Das kann
2096 benutzt werden, um einen Minimalfüllabstand (padding) zwischen einer
2097 @code{Lyrics}-Gesangstextzeile und dem zugehörigen Notensystem zu verlangen.
2098 @end table
2099
2100
2101 @subsubheading Eigenschaften des @code{StaffGrouper}-Grobs
2102
2103 @code{StaffGrouper}-Eigenschaften werden normalerweise mit einem
2104 @code{\override}-Befehl auf @code{StaffGroup}-Ebene (oder
2105 entsprechend) eingestellt.
2106
2107 @table @code
2108 @item staff-staff-spacing
2109 Notensystem-Notensystem-Abstand
2110
2111 Der Abstand zwischen zwei aufeinanderfolgenden Notensystemen in
2112 der aktuellen @code{StaffGroup}.  Die @code{staff-staff-spacing}-Eigenschaft
2113 des @code{VerticalAxisGroup}-Grobs eines einzelnen Notensytems
2114 kann mit @code{\override} in andere Platzierungswerte für dieses Notensystem
2115 geändert werden.
2116
2117 @item staffgroup-staff-spacing
2118 Systemgruppe-System-Abstand
2119
2120 Der Abstand zwischen dem letzten Notensystem der aktuellen @code{StaffGroup}
2121 und dem Notensystem dirket darunter in der selben Notensystemgruppe,
2122 auch wenn eine oder mehrere Nicht-Notensystemzeilen (wie etwa
2123 Gesangstext) zwischen den zwei Notensystemen vorkommen.  Gilt nicht
2124 für das letzte Notensystem einer Systemgruppe.  Die
2125 @code{staff-staff-spacing}-Eigenschaft des @code{VerticalAxisGroup}-Grobs
2126 individueller Notensysteme kann mit @code{\override} in andere Platzierungswerte
2127 für dieses Notensystem geändert werden.
2128 @end table
2129
2130 @seealso
2131 Notationsreferenz:
2132 @ref{Vertikale \paper-Variablen mit flexiblen Abständen},
2133 @ref{Alisten verändern}.
2134
2135 Referenz der Interna:
2136 @rinternals{Contexts},
2137 @rinternals{VerticalAxisGroup},
2138 @rinternals{StaffGrouper}.
2139
2140 Installierte Dateien:
2141 @file{ly/engraver-init.ly},
2142 @file{scm/define-grobs.scm}.
2143
2144
2145 @node Abstände von nicht gruppierten Notensystemen
2146 @unnumberedsubsubsec Abstände von nicht gruppierten Notensystemen
2147 @translationof Spacing of ungrouped staves
2148
2149 @emph{Notensysteme} (wie etwa @code{Staff}, @code{DrumStaff},
2150 @code{TabStaff} usw.) sind Kontexte, die eine oder mehrere Stimmen-Kontexte
2151 enthalten, aber keine anderen Notensysteme enthalten können.
2152
2153 Folgende Eigenschaften beeinflussen die Abstände von @emph{nicht gruppierten}
2154 Notensystemen:
2155
2156 @itemize
2157 @item @code{VerticalAxisGroup}-Eigenschaften:
2158 @itemize
2159 @item @code{default-staff-staff-spacing}
2160 @item @code{staff-staff-spacing}
2161 @end itemize
2162 @end itemize
2163
2164 Diese Eigenschaften sind einzlen oben behandelt worden, siehe
2165 @ref{Eigenschaften für Abstände innerhalb von Systemgruppen}.
2166
2167 Zusätzliche Eigenschaften kommen hinzu für Notensysteme, die Teil
2168 einer Gruppieren (@code{StaffGroup}) werden, siehe
2169 @ref{Abstände von gruppierten Notensystemen}.
2170
2171 Folgendes Beispiel zeigt, wie die @code{default-staff-staff-spacing}-Eigenschaft
2172 sich auf die Platzierung von nicht-gruppierten Notensystemen auswirken kann.
2173 Wenn man die gleichen @code{\override}-Befehle auf @code{staff-staff-spacing}
2174 anwendet, ergäbe das den selben Effekt, würde sich aber auch in Fällen auswirken,
2175 in denen die Systeme gruppiert sind.
2176
2177 @lilypond[verbatim,quote,staffsize=16]
2178 \layout {
2179   \context {
2180     \Staff
2181     \override VerticalAxisGroup #'default-staff-staff-spacing =
2182       #'((basic-distance . 8)
2183          (minimum-distance . 7)
2184          (padding . 1))
2185   }
2186 }
2187
2188 <<
2189   % The very low note here needs more room than 'basic-distance
2190   % can provide, so the distance between this staff and the next
2191   % is determined by 'padding.
2192   \new Staff { b,2 r | }
2193
2194   % Here, 'basic-distance provides enough room, and there is no
2195   % need to compress the space (towards 'minimum-distance) to make
2196   % room for anything else on the page, so the distance between
2197   % this staff and the next is determined by 'basic-distance.
2198   \new Staff { \clef bass g2 r | }
2199
2200   % By setting 'padding to a negative value, staves can be made to
2201   % collide.  The lowest acceptable value for 'basic-distance is 0.
2202   \new Staff \with {
2203     \override VerticalAxisGroup #'default-staff-staff-spacing =
2204       #'((basic-distance . 3.5)
2205          (padding . -10))
2206   } { \clef bass g2 r | }
2207   \new Staff { \clef bass g2 r | }
2208 >>
2209 @end lilypond
2210
2211 @seealso
2212 Installierte Dateien:
2213 @file{scm/define-grobs.scm}.
2214
2215 Schnipsel:
2216 @rlsr{Spacing}.
2217
2218 Referenz der Interna:
2219 @rinternals{VerticalAxisGroup}.
2220
2221
2222 @node Abstände von gruppierten Notensystemen
2223 @unnumberedsubsubsec Abstände von gruppierten Notensystemen
2224 @translationof Spacing of grouped staves
2225
2226 In Orchesterpartituren und anderen großen Partituren werden Notensysteme
2227 normalerweise in Gruppen zusammengefasst.  Der Platz zwischen Gruppen
2228 ist normalerweise größer als der Zwischenraum zwischen einzlenen
2229 Notensystemen der gleichen Gruppe.
2230
2231 @emph{Gruppierte Notensysteme} (wie @code{StaffGroup}, @code{ChoirStaff},
2232 @code{GrandStaff} usw.) sind Kontexte, die mehr als ein Notensystem
2233 gleichzeitig enthalten können.
2234
2235 Folgende Eigenschaften beeinflussen die Platzierung von Notensystemen
2236 innerhalb von Gruppen:
2237
2238 @itemize
2239 @item @code{VerticalAxisGroup}-Eigenschaften:
2240 @itemize
2241 @item @code{staff-staff-spacing}
2242 @end itemize
2243 @item @code{StaffGrouper}-Eigenschaften:
2244 @itemize
2245 @item @code{staff-staff-spacing}
2246 @item @code{staffgroup-staff-spacing}
2247 @end itemize
2248 @end itemize
2249
2250 Diese Grob-Eigenschaften sind weiter oben einzeln beschrieben, siehe
2251 @ref{Eigenschaften für Abstände innerhalb von Systemgruppen}.
2252
2253 Das folgende Beispiel zeigt, wie Eigenscchaften des
2254 @code{StaffGrouper}-Grobs die Platzierung von gruppierten Notensystemen
2255 beeinflussen kann:
2256
2257 @lilypond[verbatim,quote,staffsize=16]
2258 \layout {
2259   \context {
2260     \Score
2261     \override StaffGrouper #'staff-staff-spacing #'padding = #0
2262     \override StaffGrouper #'staff-staff-spacing #'basic-distance = #1
2263   }
2264 }
2265
2266 <<
2267   \new PianoStaff \with {
2268     \override StaffGrouper #'staffgroup-staff-spacing #'basic-distance = #20
2269   } <<
2270     \new Staff { c'1 }
2271     \new Staff { c'1 }
2272   >>
2273
2274   \new StaffGroup <<
2275     \new Staff { c'1 }
2276     \new Staff { c'1 }
2277   >>
2278 >>
2279 @end lilypond
2280
2281 @seealso
2282 Installierte Dateien:
2283 @file{scm/define-grobs.scm}.
2284
2285 Schnipsel:
2286 @rlsr{Spacing}.
2287
2288 Referenz der Interna:
2289 @rinternals{VerticalAxisGroup},
2290 @rinternals{StaffGrouper}.
2291
2292
2293 @node Abstände von nicht-Notensystemzeilen
2294 @unnumberedsubsubsec Abstände von nicht-Notensystemzeilen
2295 @translationof Spacing of non-staff lines
2296
2297 @emph{Nicht-Notensystemzeilen} (wie @code{Lyrics}, @code{ChordNames}
2298 usw.) sind Kontexte, deren Layoutobjekte wie Notensysteme gesetzt
2299 werden (also als horizontale Zeilen zwischen Notensystemen).  Genau
2300 gesagt sind Nicht-Notensystemzeilen Nicht-Notensystemkontexte, die
2301 ein @code{VerticalAxisGroup}-Layoutobjekt erstellen.
2302
2303 Folgende Eigenschaften beeinflussen die Abstände von Nicht-Notensystemzeilen:
2304
2305 @itemize
2306 @item @code{VerticalAxisGroup}-Eigenschaften:
2307 @itemize
2308 @item @code{staff-affinity}
2309 @item @code{nonstaff-relatedstaff-spacing}
2310 @item @code{nonstaff-nonstaff-spacing}
2311 @item @code{nonstaff-unrelatedstaff-spacing}
2312 @end itemize
2313 @end itemize
2314
2315 Diese Grob-Eigenschaften sind weiter oben einzlen beschrieben; siehe
2316 @ref{Eigenschaften für Abstände innerhalb von Systemgruppen}.
2317
2318 Das folgende Beispiel zeigt, wie die @code{nonstaff-nonstaff-spacing}-Eigenschaft
2319 die Platzierung von aufeinanderfolgenden Nicht-Notensystemzeilen beeinflussen
2320 kann.  Indem hier der Wert von @code{stretchability} auf einen sehr hohen Wert
2321 gesetzt wird, kann der Gesangstext sehr viel weiter als normal gespreizt
2322 werden:
2323
2324 @lilypond[verbatim,quote,staffsize=16]
2325 \layout {
2326   \context {
2327     \Lyrics
2328     \override VerticalAxisGroup
2329       #'nonstaff-nonstaff-spacing #'stretchability = #1000
2330   }
2331 }
2332
2333 \new StaffGroup
2334 <<
2335   \new Staff \with {
2336     \override VerticalAxisGroup #'staff-staff-spacing = #'((basic-distance . 30))
2337   } { c'1 }
2338   \new Lyrics \with {
2339     \override VerticalAxisGroup #'staff-affinity = #UP
2340   } \lyricmode { up }
2341   \new Lyrics \with {
2342     \override VerticalAxisGroup #'staff-affinity = #CENTER
2343   } \lyricmode { center }
2344   \new Lyrics \with {
2345     \override VerticalAxisGroup #'staff-affinity = #DOWN
2346   } \lyricmode { down }
2347   \new Staff { c'1 }
2348 >>
2349 @end lilypond
2350
2351
2352 @seealso
2353 Installierte Dateien:
2354 @file{ly/engraver-init.ly},
2355 @file{scm/define-grobs.scm}.
2356
2357 Schnispel:
2358 @rlsr{Spacing}.
2359
2360 @c @lsr{spacing,page-spacing.ly},
2361 @c @lsr{spacing,alignment-vertical-spacing.ly}.
2362
2363 Referenz der Interna:
2364 @rinternals{Contexts},
2365 @rinternals{VerticalAxisGroup}.
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375 @node Explizite Positionierung von Systemen
2376 @subsection Explizite Positionierung von Systemen
2377 @translationof Explicit staff and system positioning
2378
2379 Man kann die flexiblen Einstellungen der vertikalen Abstände, wie sie im
2380 vorigen Abschnitt
2381 erklärt wurden, als eine Sammlung verschiedenerer Einstellmöglichkeiten
2382 verstehen, die vor allem die Größe des vertikalen Platzes zwischen
2383 Notensystemen und Gruppen auf der Seite kontrollieren.
2384
2385 Die vertikale Platzverteilung kann aber auch auf andere Weise
2386 eingestellt werden: mit den Optionen von
2387 @code{NonMusicalPaperColumn #'line-break-system-details}.  Während
2388 der flexible vertikale Abstandsmechanismus vertikalen Füllplatz
2389 definiert, werden mit
2390 @code{NonMusicalPaperColumn #'line-break-system-details} absolute vertikale
2391 Positionen auf der Seite festgelegt.
2392
2393 @code{NonMusicalPaperColumn #'line-break-system-details} akzeptiert eine
2394 Liste aus drei unterschiedlichen Einstellungen:
2395
2396 @itemize
2397 @item @code{X-offset}
2398 @item @code{Y-offset}
2399 @item @code{alignment-distances}
2400 @end itemize
2401
2402 Veränderungen von Grobs (wozu auch @code{NonMusicalPaperColumn} gehört),
2403 können an drei unterschiedlichen Stellen in der Quelldatei vorgenommen
2404 werde:
2405
2406 @itemize
2407 @item mitten im Notentext
2408 @item in einer @code{\context}-Umgebung
2409 @item in einer @code{\with}-Umgebung
2410 @end itemize
2411
2412 Wenn der Grob @code{NonMusicalPaperColumn} verändert werden soll,
2413 wird der @code{\override}-Befehl in der @code{\context} oder
2414 @code{\with}-Umgebung eingesetzt.  Wenn die Veränderungen aber
2415 mitten im Notentext stattfinden sollen, müssen Sie den Befehl
2416 @code{\overrideProperty} einsetzen.  Einige Beispiele für eine
2417 Veränderungen von @code{NonMusicalPaperColumn} mit dem
2418 @code{\overrideProperty}-Befehl sind hier aufgelistet:
2419
2420 @example
2421 \overrideProperty NonMusicalPaperColumn
2422   #'line-break-system-details #'((X-offset . 20))
2423
2424 \overrideProperty NonMusicalPaperColumn
2425   #'line-break-system-details #'((Y-offset . 40))
2426
2427 \overrideProperty NonMusicalPaperColumn
2428   #'line-break-system-details #'((X-offset . 20)
2429                                  (Y-offset . 40))
2430
2431 \overrideProperty NonMusicalPaperColumn
2432   #'line-break-system-details #'((alignment-distances . (15)))
2433
2434 \overrideProperty NonMusicalPaperColumn
2435   #'line-break-system-details #'((X-offset . 20)
2436                                  (Y-offset . 40)
2437                                  (alignment-distances . (15)))
2438 @end example
2439
2440 Um zu verstehen, wie jede dieser unterschiedlichen Einstellungen
2441 funktioniert, wollen wir uns ein Beispiel vornehmen, dass überhaupt
2442 keine Einstellungen (d.h. @code{\override}-Befehle) enthält:
2443
2444 @c \book { } is required in these examples to ensure the spacing
2445 @c overrides can be seen between systems. -np
2446
2447 @lilypond[verbatim,quote,staffsize=16]
2448 \header { tagline = ##f }
2449 \paper { left-margin = 0\mm }
2450 \book {
2451   \score {
2452     <<
2453       \new Staff <<
2454         \new Voice {
2455           s1*5 \break
2456           s1*5 \break
2457           s1*5 \break
2458         }
2459         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2460       >>
2461       \new Staff {
2462         \repeat unfold 15 { d'4 d' d' d' }
2463       }
2464     >>
2465   }
2466 }
2467 @end lilypond
2468
2469 Diese Partitur nimmt Zeilen- und Seitenumbruchinformationen in einer
2470 eigenen Stimme vor.  Mit dieser Methode kann die Layout-Information
2471 einfach von den Noten getrennt werden, was sehr hilfreich ist, wenn
2472 das Beispiel komplizierter wird.  Siehe auch
2473 @ref{Eine zusätzliche Stimme für Umbrüche benutzen}.
2474
2475 Ausdrückliche @code{\break}-Befehle teilen die Noten in sechs Takte
2476 lange Zeilen.  Die vertikale Platzverteilung wird von LilyPond
2477 errechnet.  Um den vertikalen Beginn einer jeden Systemgruppe
2478 genau anzugeben, kann @code{Y-offset} in der
2479 @code{line-break-system-details}-Eigenschaft des
2480 @code{NonMusicalPaperColumn}-Grobs wie in dem Beispiel
2481 ersichtlich benutzt werden:
2482
2483 @lilypond[verbatim,quote,staffsize=16]
2484 \header { tagline = ##f }
2485 \paper { left-margin = 0\mm }
2486 \book {
2487   \score {
2488     <<
2489       \new Staff <<
2490         \new Voice {
2491           \overrideProperty #"Score.NonMusicalPaperColumn"
2492             #'line-break-system-details #'((Y-offset . 0))
2493           s1*5 \break
2494           \overrideProperty #"Score.NonMusicalPaperColumn"
2495             #'line-break-system-details #'((Y-offset . 40))
2496           s1*5 \break
2497           \overrideProperty #"Score.NonMusicalPaperColumn"
2498             #'line-break-system-details #'((Y-offset . 80))
2499           s1*5 \break
2500         }
2501         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2502       >>
2503       \new Staff {
2504         \repeat unfold 15 { d'4 d' d' d' }
2505       }
2506     >>
2507   }
2508 }
2509 @end lilypond
2510
2511 In der @code{line-break-system-details}-Eigenschaft kann eine Liste
2512 mit vielen Einstellungen eingegeben werden, aber hier wird nur eine
2513 Einstellung angegeben.  Die @code{Y-offset}-Eigenschaft bestimmt
2514 hier die exakte vertikale Position auf der Seite, an welcher jede
2515 neue Systemgruppe begonnen wird.
2516
2517 Da jetzt der exakte Beginn einer jeden Systemgruppe explizit festgelegt wurde,
2518 können wir auch den exakten Beginn eines jeden Notensystems in der
2519 Gruppe festlegen.  Dies geschieht mit der @code{alignment-distances}-Eigenschaft
2520 von @code{line-break-system-details}.
2521
2522 @lilypond[verbatim,quote,staffsize=16]
2523 \header { tagline = ##f }
2524 \paper { left-margin = 0\mm }
2525 \book {
2526   \score {
2527     <<
2528       \new Staff <<
2529         \new Voice {
2530           \overrideProperty #"Score.NonMusicalPaperColumn"
2531             #'line-break-system-details #'((Y-offset . 20)
2532                                            (alignment-distances . (15)))
2533           s1*5 \break
2534           \overrideProperty #"Score.NonMusicalPaperColumn"
2535             #'line-break-system-details #'((Y-offset . 60)
2536                                            (alignment-distances . (15)))
2537           s1*5 \break
2538           \overrideProperty #"Score.NonMusicalPaperColumn"
2539             #'line-break-system-details #'((Y-offset . 100)
2540                                            (alignment-distances . (15)))
2541           s1*5 \break
2542         }
2543         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2544       >>
2545       \new Staff {
2546         \repeat unfold 15 { d'4 d' d' d' }
2547       }
2548     >>
2549   }
2550 }
2551 @end lilypond
2552
2553 Dem @code{line-break-system-details}-Attribut des
2554 @code{NonMusicalPaperColumn}-Grobs werden zwei unterschiedliche Eigenschaften
2555 zugewiesen.  Auch wenn die Aliste der Attribute von
2556 @code{line-break-system-details} sehr viel mehr Platzierungsparameter
2557 akzeptiert (wie etwa ein korrespondierendes @code{X-offset}-Paar), müssen
2558 hier nur die Parameter @code{Y-offset} und
2559 @code{alignment-distances} gesetzt werden, um den vertikalen Beginn
2560 jedes Systems und jeder Systemgruppe zu kontrollieren.  @code{Y-offset}
2561 bestimmt also die vertikale Position von Systemgruppen und @code{alignment-distances}
2562 die vertikale Position von einzelnen Notensystemen.
2563
2564 @lilypond[verbatim,quote,staffsize=16]
2565 \header { tagline = ##f }
2566 \paper { left-margin = 0\mm }
2567 \book {
2568   \score {
2569     <<
2570       \new Staff <<
2571         \new Voice {
2572           \overrideProperty #"Score.NonMusicalPaperColumn"
2573             #'line-break-system-details #'((Y-offset . 0)
2574                                            (alignment-distances . (30 10)))
2575           s1*5 \break
2576           \overrideProperty #"Score.NonMusicalPaperColumn"
2577             #'line-break-system-details #'((Y-offset . 60)
2578                                            (alignment-distances . (10 10)))
2579           s1*5 \break
2580           \overrideProperty #"Score.NonMusicalPaperColumn"
2581             #'line-break-system-details #'((Y-offset . 100)
2582                                            (alignment-distances . (10 30)))
2583           s1*5 \break
2584         }
2585         \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
2586       >>
2587       \new StaffGroup <<
2588         \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
2589         \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
2590       >>
2591     >>
2592   }
2593 }
2594 @end lilypond
2595
2596 Einige Dinge sollten beachtet werden:
2597
2598 @itemize
2599 @item Wenn @code{alignment-distances} benutzt wird, werden Gesangstextzeilen
2600 nicht als ein System gezählt.
2601
2602 @item Die Einheiten der Zahlen, die für @code{X-offset},
2603 @code{Y-offset} und @code{alignment-distances} benutzt werden, werden als
2604 Vielfaches des Abstandes zwischen zwei Notenlinien gewertet.  Positive
2605 Werte verschieben Systeme und Gesangstext nach oben, negative Werte nach
2606 unten.
2607
2608 @item Weil die Einstellungen von @code{NonMusicalPaperColumn #'line-break-system-details}
2609 es möglich machen, Notensysteme und Gruppen an beliebigen Stellen auf der
2610 Seite zu platzieren, kann man damit auch Ränder überschreiben oder sogar
2611 Notensysteme übereinander platzieren.  Sinnvolle Werte für diese
2612 Parameter werden derartiges Verhalten vermeiden.
2613 @end itemize
2614
2615
2616 @seealso
2617 Schnipsel:
2618 @rlsr{Spacing}.
2619
2620
2621 @node Vermeidung von vertikalen Zusammenstößen
2622 @subsection Vermeidung von vertikalen Zusammenstößen
2623 @translationof Vertical collision avoidance
2624
2625 @cindex Vermeidung von vertikalen Zusammenstößen
2626 @cindex Zusammenstöße, vertikal, vermeiden
2627 @cindex vertikale Zusammenstöße, vermeiden
2628 @cindex Kollisionen, vertikal, vermeiden
2629
2630 @funindex outside-staff-priority
2631 @funindex outside-staff-padding
2632 @funindex outside-staff-horizontal-padding
2633
2634 Intuitiv gibt es in der Notation einige Objekte, die zu dem Notensystem
2635 gehören, und einige andere, die immer außerhalb des Notensystems
2636 positioniert werden sollten.  Zu diesen letzteren gehören etwa
2637 Übungszeichen, Textbeschriftung und Dynamikbezeichnung (die als
2638 Objekte außerhalb des Systems bezeichnet werden können).  LilyPonds
2639 Regeln um diese Objekte zu positionieren lautet: so nah am Notensystem
2640 wie möglich, aber gerade so weit weg, dass sie nicht mit anderen
2641 Objekten zusammenstoßen.
2642
2643 Dabei setzt LilyPond die @code{outside-staff-priority}-Eigenschaft
2644 ein um herauszufinden, ob ein Grob ein Objekt außerhalb des Systems
2645 ist: wenn @code{outside-staff-priority} eine Zahl ist, dann handelt
2646 es sich um ein Objekt außerhalb des Systems.  Zusätzlich teilt
2647 @code{outside-staff-priority} noch mit, in welcher Reihenfolge
2648 die Objekte außerhalb des Systems gesetzt werden sollen.
2649
2650 Zuerst werden alle Objekte gesetzt, die nicht außerhalb des Systems
2651 gehören.  Dann werden die Objekte außerhalb des Systems nach dem Wert
2652 ihrer @code{outside-staff-priority}  (in aufsteigender Anordnung)
2653 sortiert.  Eins nach dem anderen werden diese Objekte schließlich
2654 genommen und so platziert, dass sie nicht mit den Objekten zusammenstoßen,
2655 die bereits platziert worden sind.  Wenn also zwei Objekte außerhalb
2656 des Systems um den gleichen Platz streiten, wird das mit dem
2657 geringeren Wert von @code{outside-staff-priority} näher an das
2658 entsprechende Notensystem gesetzt.
2659
2660 @lilypond[quote,ragged-right,relative=2,verbatim]
2661 c4_"Text"\pp
2662 r2.
2663 \once \override TextScript #'outside-staff-priority = #1
2664 c4_"Text"\pp % this time the text will be closer to the staff
2665 r2.
2666 % by setting outside-staff-priority to a non-number,
2667 % we disable the automatic collision avoidance
2668 \once \override TextScript #'outside-staff-priority = ##f
2669 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
2670 c4_"Text"\pp % now they will collide
2671 @end lilypond
2672
2673 Der Platz, der zwischen einem Objekt außerhalb des Systems und
2674 dem vorhergehenden Objekt eingefügt werden kann (auch als
2675 padding bezeichnet), kann durch @code{outside-staff-padding}
2676 kontrolliert werden.
2677
2678 @lilypond[quote,ragged-right,relative=2,verbatim]
2679 \once \override TextScript #'outside-staff-padding = #0
2680 a'^"This text is placed very close to the note"
2681 \once \override TextScript #'outside-staff-padding = #3
2682 c^"This text is padded away from the previous text"
2683 c^"This text is placed close to the previous text"
2684 @end lilypond
2685
2686 Standardmäßig werden Objekte außerhalb des Systems so gesetzt,
2687 dass sie eine horizontale Überschneidung mit einem der
2688 vorher gesetzten Grobs vermeiden.  Das kann zu Situationen
2689 führen, in denen Objekte sehr dicht nebeneinander gesetzt
2690 werden.  Der vertikale Platz zwischen Notensystemen kann
2691 auch gesetzt werden, sodass Objekte außerhalb des Systems
2692 ineinander greifen. Mit der Eigenschaft
2693 @code{outside-staff-horizontal-padding} können Objekte vertikal
2694 verschoben werden und derartige Situationen kommen nicht
2695 vor.
2696
2697 @lilypond[quote,ragged-right,relative=2,verbatim]
2698 % the markup is too close to the following note
2699 c4^"Text"
2700 c4
2701 c''2
2702 % setting outside-staff-horizontal-padding fixes this
2703 R1
2704 \once \override TextScript #'outside-staff-horizontal-padding = #1
2705 c,,4^"Text"
2706 c4
2707 c''2
2708 @end lilypond
2709
2710 @seealso
2711 Schnipsel:
2712 @rlsr{Spacing}.
2713
2714
2715 @node Horizontale Abstände
2716 @section Horizontale Abstände
2717 @translationof Horizontal spacing
2718
2719 @cindex horizontale Platzierung
2720 @cindex horizontale Anordnung
2721 @cindex Anordnung, horizontal
2722
2723 @menu
2724 * Überblick über horizontale Abstände::
2725 * Eine neuer Bereich mit anderen Abständen::
2726 * Horizontale Abstände verändern::
2727 * Zeilenlänge::
2728 * Proportionale Notation::
2729 @end menu
2730
2731
2732 @node Überblick über horizontale Abstände
2733 @subsection Überblick über horizontale Abstände
2734 @translationof Horizontal spacing overview
2735
2736 Die Setzmaschine interpretiert unterschiedliche Notendauern als
2737 dehnbare Abstände (engl. spring) unterschiedlicher Länge.  Längere
2738 Dauern erhalten mehr Platz, kürzere weniger.  Die kürzeste Dauer
2739 erhält eine feste Breite (die mit @code{shortest-duration-space}
2740 im @code{SpacingSpanner}-Objekt kontrolliert werden kann).  Je
2741 länger die Dauer, umso mehr Platz erhält die Note: wenn ihre
2742 Dauer verdoppelt wird, wird ein bestimmter Platz hinzugefügt
2743 (dessen Breite durch @code{spacing-increment} bestimmt werden
2744 kann).
2745
2746 Das folgende Stück beispielsweise enthält Halbe, Viertel und Achtel.
2747 Die Achtelnote wird gefolgt von einem Notenkopfabstand (NKA).  Die
2748 Viertel wird von 2 NKA gefolgt, die Halbe von 3 NKA usw.
2749
2750 @lilypond[quote,fragment,verbatim,relative=1]
2751 c2 c4. c8 c4. c8 c4. c8 c8
2752 c8 c4 c4 c4
2753 @end lilypond
2754
2755 Normalerweise ist @code{spacing-increment} definiert als 1.2 mal
2756 der Abstand zwischen zwei Notenlinien, was in etwa die Breite eines
2757 Notenkopfes ist.  @code{shortest-duration-space} ist definiert als
2758 2.0, was bedeutet, dass die kürzeste Note 2.4 Notenlinienabstände
2759 2.0 mal der Wert von @code{spacing-increment}) horizontalen
2760 Abstand erhält.  Der Abstand wird von der linken Kante des Symbols
2761 errechnet, so dass die kürzeste Note üblicherweise von 1 NKA
2762 Abstand gefolgt wird.
2763
2764 Wenn diese Herangehensweise konsequent angewandt würde, würde eine
2765 einzige Zweiunddreißigstel eine Partitur, in der vor allem Achtel und
2766 Sechzehntel vorkommen, sehr weit auseinanderdehnen.  Die kürzeste
2767 Note wäre nun keine Sechzehntel mehr, sondern eine Zweiunddreißigstel,
2768 wodurch an jede Note der Wert von 1 NKA hinzugefügt würde.  Um das
2769 zu vermeiden, ist die kürzeste Dauer für die Platzverteilung nicht die
2770 kürzeste Note einer Partitur, sondern die, die am häufigsten vorkommt.
2771
2772 Die Notendauer, die am häufigsten vorkommt, wird auf folgende
2773 Weise bestimmt: in jedem Takt wird die kürzeste Note bestimmt.  Die
2774 häufigste kürzeste Note wird dann als Grundlage für die Platzverteilung
2775 der Noten herangezogen, mit der Bedingung, dass diese kürzeste
2776 Note immer ein Achtel oder kürzer sein soll.  Die kürzeste Dauer
2777 wird ausgegeben, wenn @code{lilypond} mit der Option @option{--verbose}
2778 aufgerufen wird.
2779
2780 Diese Dauern können aber auch angepasst werden.  Wenn Sie die Eigenschaft
2781 @code{common-shortest-duration} in dem @code{SpacingSpanner} setzen,
2782 dann wird hiermit die Grunddauer für die Platzverteilung eingestellt.
2783 Die maximale Dauer für diesen Grundwert (normalerweise eine Achtel)
2784 wird definiert mit @code{base-shortest-duration}.
2785
2786 @funindex common-shortest-duration
2787 @funindex base-shortest-duration
2788 @funindex stem-spacing-correction
2789 @funindex spacing
2790
2791 Noten, die noch kürzer sind als die häufigste kürzeste Note, werden
2792 durch einen Platz voneinander getrennt, der proportional zu ihrer
2793 Dauer in Beziehung zur häufigsten kürzesten Note ist.  Wenn also
2794 nur ein paar Sechzehntel zu dem obigen Beispiel hinzugefügt werden,
2795 würden sie von 1/2 NKA gefolgt werden:
2796
2797 @lilypond[quote,fragment,verbatim,relative=2]
2798 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
2799 @end lilypond
2800
2801 In dem @emph{Aufsatz zum automatisierten Notensatz} wurde erklärt, dass die
2802 Richtung der Notenhälse die Platzverteilung beeinflusst (siehe
2803 @ressay{Optischer Ausgleich}).  Das wird
2804 kontrolliert durch die @code{stem-spacing-correction}-Eigenschaft
2805 in dem @code{NoteSpacing}-Objekt.  Dieses Objekt wird für jeden
2806 @code{Voice}-Kontext erstellt.  Das @code{StaffSpacing}-Objekt (in
2807 einem @code{Staff}-Kontext erstellt) enthält die gleiche Eigenschaft,
2808 um die Verteilung von Hälsen neben Taktlinien zu kontrollieren.  In
2809 dem folgenden Beispiel werden diese Einstellungen gezeigt, einmal
2810 mit den Standardwerten und dann mit größeren Werten, damit man sie
2811 besser sieht:
2812
2813 @lilypond[quote,ragged-right]
2814 {
2815   c'4 e''4 e'4 b'4 |
2816   b'4 e''4 b'4 e''4 |
2817   \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
2818   \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
2819   c'4 e''4 e'4 b'4 |
2820   b'4 e''4 b'4 e''4 |
2821 }
2822 @end lilypond
2823
2824 Proportionale Notation ist unterstützt, siehe @ref{Proportionale Notation}.
2825
2826 @seealso
2827 Schnipsel:
2828 @rlsr{Spacing}.
2829
2830 Referenz der Interna:
2831 @rinternals{SpacingSpanner},
2832 @rinternals{NoteSpacing},
2833 @rinternals{StaffSpacing},
2834 @rinternals{NonMusicalPaperColumn}.
2835
2836 Aufsatz über den automatischen Notensatz:
2837 @ressay{Optischer Ausgleich}.
2838
2839 @knownissues
2840
2841 Es gibt keine sinnvolle Möglichkeit, die horizontale Verteilung der
2842 Noten zu unterdrücken.  Die folgende Problemumgehung, mit der
2843 dehnbare Abstände (padding) eingesetzt werden, kann benutzt
2844 werden, um zusätzlichen Platz in eine Partitur einzufügen.
2845
2846 @example
2847  \override Score.NonMusicalPaperColumn #'padding = #10
2848 @end example
2849
2850 Es gibt derzeit keine Möglichkeit, den Platz zu verringern.
2851
2852
2853 @node Eine neuer Bereich mit anderen Abständen
2854 @subsection Eine neuer Bereich mit anderen Abständen
2855 @translationof New spacing area
2856
2857 @cindex horizontale Notenabstände, Abschnitte definierten
2858 @cindex Notenabstände, Abschnitte definieren
2859 @cindex Abschnitte definieren, Notenabstände
2860
2861 Neue Abschnitte mit unterschiedlichen Notenabstandsparametern
2862 können mit dem Befehl @code{newSpacingSection} begonnen werden.
2863 Das ist hilfreich, wenn in verschiedenen Abschnitten die
2864 Verhältnisse von kurzen und langen Noten sehr unterschiedlich
2865 ausfallen.
2866
2867 Im folgenden Beispiel wird durch die neue Taktart ein neuer
2868 Abschnitt begonnen, in dem die Sechzehntel weiter außeinander
2869 gesetzt werden sollen.
2870
2871 @lilypond[relative,fragment,verbatim,quote]
2872 \time 2/4
2873 c4 c8 c
2874 c8 c c4 c16[ c c8] c4
2875 \newSpacingSection
2876 \time 4/16
2877 c16[ c c8]
2878 @end lilypond
2879
2880 Der @code{\newSpacingSection}-Befehl erstellt ein neues
2881 @code{SpacingSpanner}-Objekt, weshalb auch neue Anpassungen
2882 mit dem @code{\override}-Befehl an dieser Stelle eingesetzt
2883 werden können.
2884
2885 @seealso
2886 Schnipsel:
2887 @rlsr{Spacing}.
2888
2889 Referenz der Interna:
2890 @rinternals{SpacingSpanner}.
2891
2892
2893 @node Horizontale Abstände verändern
2894 @subsection Horizontale Abstände verändern
2895 @translationof Changing horizontal spacing
2896
2897 @cindex Notenabstände, horizontal
2898 @cindex horizontale Abstände
2899 @cindex horizontale Notenabstände
2900
2901 Die horizontalen Abstände können mit der
2902 @code{base-shortest-duration}-Eigenschaft
2903 verändert werden.  In den folgenden Beispielen
2904 werden die gleichen Noten eingesetzt, zuerst
2905 ohne die Eigenschaft zu verändern, im zweiten
2906 Beispiel dann mit einem anderen Wert.  Größere
2907 Werte für @code{ly:make-moment} ergeben dichtere
2908 Noten.  @code{ly:make-moment} erstellt eine Dauer,
2909 die als Bruch notiert wird, sodass @code{1 4}
2910 eine größere Dauer ist als @code{1 16}.
2911
2912 @lilypond[verbatim,line-width=12\cm]
2913 \score {
2914   \relative c'' {
2915     g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2916     g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2917     d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2918     g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2919   }
2920 }
2921 @end lilypond
2922
2923 @lilypond[verbatim,line-width=12\cm]
2924 \score {
2925   \relative c'' {
2926     g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2927     g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2928     d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2929     g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2930   }
2931   \layout {
2932     \context {
2933       \Score
2934       \override SpacingSpanner
2935         #'base-shortest-duration = #(ly:make-moment 1 16)
2936     }
2937   }
2938 }
2939 @end lilypond
2940
2941
2942 @snippets
2943
2944 Standardmäßig wird die Platzverteilung in Triolen und andern
2945 rhythmischen Aufteilungen nach verschiedenen nicht von der
2946 Dauer abgeleiteten Faktoren (wie Versetzungszeichen,
2947 Schlüsselwechseln usw.) berechnet.  Um diese Symbole zu
2948 ignorieren und eine gleichmäßige Verteilung der Noten
2949 zu erzwingen, kann die gleichmäßige Dehnung (engl.
2950 uniform stretching) zu Beginn einer Partitur
2951 mit @code{Score.SpacingSpanner #'uniform-stretching} eingeschaltet
2952 werden:
2953
2954 @lilypond[quote,ragged-right,verbatim]
2955 \score {
2956   <<
2957     \new Staff {
2958       \times 4/5 {
2959         c8 c8 c8 c8 c8
2960       }
2961       c8 c8 c8 c8
2962     }
2963     \new Staff {
2964       c8 c8 c8 c8
2965       \times 4/5 {
2966         c8 c8 c8 c8 c8
2967       }
2968     }
2969   >>
2970   \layout {
2971     \context {
2972       \Score
2973       \override SpacingSpanner #'uniform-stretching = ##t
2974     }
2975   }
2976 }
2977 @end lilypond
2978
2979 Wenn @code{strict-note-spacing} eingestellt ist, werden Noten
2980 gesetzt, ohne dass Schlüssel, Taktlinie oder Verzierungsnoten
2981 zusätzlichen Platz erhalten.
2982
2983 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
2984 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2985 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c]  c32[ c32] }
2986 @end lilypond
2987
2988
2989 @seealso
2990 Schnipsel:
2991 @rlsr{Spacing}.
2992
2993
2994 @node Zeilenlänge
2995 @subsection Zeilenlänge
2996 @translationof Line length
2997
2998 @cindex Seitenumbrüche
2999 @cindex Umbrechen von Seiten
3000 @cindex Zeilenlänge
3001 @cindex Länge von Zeilen
3002
3003 @funindex indent
3004 @funindex line-width
3005 @funindex ragged-right
3006 @funindex ragged-last
3007
3008 @c Although line-width can be set in \layout, it should be set in paper
3009 @c block, to get page layout right.
3010 @c Setting indent in \paper block makes not much sense, but it works.
3011
3012 @c Bit verbose and vague, use examples?
3013 Die grundlegenden Einstellungen, die Einfluss auf die Zeilenlänge
3014 haben, sind @code{indent} (Einzug) und @code{line-width}
3015 (Zeilenbreite).  Sie werden in der @code{\layout}-Umgebung
3016 eingestellt.  Der erste Befehl bestimmt den Einzug der ersten
3017 Zeile, der zweite die Zeilenlänge der weiteren Notenzeilen.
3018
3019 Wenn @code{ragged-right} eingestellt ist (als in der
3020 @code{\layout}-Umgebung auf den Wert @code{#t} gesetzt wurde),
3021 werden die Systeme linksbündig gesetzt und nicht bis zum
3022 rechten Rand hin durchgezogen, sondern den Noten entsprechend
3023 gesetzt.  Das ist oftmals nützlich für kleine Notenfragmente
3024 und um zu überprüfen, wie eng die Noten natürlicherweise
3025 gesetzt werden würden.   Die normale Einstellung ist unwahr
3026 (@code{#f}), aber wenn eine Partitur nur aus einer Zeile besteht,
3027 ist der Standardwert wahr.
3028
3029 Die Option @code{ragged-last} verhält sich ähnlich zu @code{ragged-right},
3030 aber wirkt sich nur auf die letzte Zeile eines Stückes aus.
3031 Für diese letzte Zeile gibt es keine Einschränkungen.  Das
3032 Resultat erinnert an Textabsätze im Blocksatz, wo die letzte
3033 Zeile des Absatzes mit ihrer natürlichen Länge gesetzt wird.
3034 @c Note that for text there are several options for the last line.
3035 @c While Knuth TeX uses natural length, lead typesetters use the same
3036 @c stretch as the previous line.  eTeX uses \lastlinefit to
3037 @c interpolate between both these solutions.
3038
3039 @example
3040 \layout @{
3041 indent = #0
3042 line-width = #150
3043 ragged-last = ##t
3044 @}
3045 @end example
3046
3047 @seealso
3048 Schnipsel:
3049 @rlsr{Spacing}.
3050
3051
3052 @node Proportionale Notation
3053 @subsection Proportionale Notation
3054 @translationof Proportional notation
3055
3056 LilyPond hat Unterstützung für proportionale Notation.  Dabei handelt
3057 es sich um eine horizontale Platzverteilung, die jeder Note einen
3058 exakt ihrer Dauer entsprechenden Platz zuordnet.  Man kann es vergleichen
3059 mit der Notenplatzierung auf einem Raster.  In einigen Partituren
3060 des späten 20. und frühen 21. Jahrhunderts wird dies proportionale
3061 Notation benutzt, um sehr komplizierte rhythmische Verhältnisse
3062 klarer darzustellen, oder um einen Zeitstrahl oder ähnliche Graphiken
3063 direkt in die Partitur zu integrieren.
3064
3065 LilyPond hat Unterstützung für fünf verschiedene Einstellungen der
3066 proportionalen Notation, die alle zusammen oder jede für sich
3067 benutzt werden können:
3068
3069 @itemize
3070 @item @code{proportionalNotationDuration} (proportionale Notendauer)
3071 @item @code{uniform-stretching} (gleichmäßige Dehnung)
3072 @item @code{strict-note-spacing} (strenge Notenverteilung)
3073 @item @code{\remove Separating_line_group_engraver} (entferne Liniengruppentrennungsengraver)
3074 @item @code{\override PaperColumn #'used = ##t} (PapierSpalte benutzt = wahr)
3075 @end itemize
3076
3077 In den Beispielen unten werden diese fünf unterschiedlichen Einstellungen
3078 für die proportionale Notation vorgestellt und ihre Wirkungen
3079 untereinander illustriert.
3080
3081 Es soll mit diesem 1 Takt langen Beispiel begonnen werden, in welchem
3082 die klassischen Abstände und Flattersatz (ragged-right) eingesetzt werden:
3083
3084 @lilypond[quote,verbatim,ragged-right]
3085 \score {
3086   <<
3087     \new RhythmicStaff {
3088       c'2
3089       c'16 c'16 c'16 c'16
3090       \times 4/5 {
3091         c'16 c'16 c'16 c'16 c'16
3092       }
3093     }
3094   >>
3095 }
3096 @end lilypond
3097
3098 Die Halbe, mit der der Takt beginnt, braucht weitaus weniger
3099 Platz als die Hälfte des Taktes.  Gleichermaßen haben die
3100 Sechzehntel und die Sechzehntel-Quintolen (oder Zwanzigstel),
3101 mit denen der Takt endet, insgesamt weitaus mehr als die Hälfte
3102 der Taktbreite.
3103
3104 Im klassischen Notensatz kann dieses Verhalten genau das gewünschte
3105 Ergebnis bringen, weil dadurch horizontaler Platz von der Halben
3106 weggenommen werden kann und so insgesamt Platz in dem Takt eingespart
3107 wird.
3108
3109 Wenn allerdings ein Zeitstrahl oder andere zeitliche ablaufende
3110 Graphiken über oder unter dem Takt eingefügt werden soll, braucht man
3111 eine Notenplatzierung, die exakt der von ihnen eingenommenen Dauer
3112 entspricht.  Auf folgende Art wird die proportionale Notation
3113 eingeschaltet:
3114
3115 @lilypond[quote,verbatim,ragged-right]
3116 \score {
3117   <<
3118     \new RhythmicStaff {
3119       c'2
3120       c'16 c'16 c'16 c'16
3121       \times 4/5 {
3122         c'16 c'16 c'16 c'16 c'16
3123       }
3124     }
3125   >>
3126  \layout {
3127     \context {
3128       \Score
3129       proportionalNotationDuration = #(ly:make-moment 1 20)
3130     }
3131   }
3132 }
3133 @end lilypond
3134
3135 Die Halbe zu Beginn des Taktes und die schnelleren Noten in der zweiten
3136 Takthälfte nehmen jetzt genau den gleichen horizontalen Platz ein.  Jetzt
3137 könnte man einen Zeitstrahl mit dem Takt synchronisieren.
3138
3139 Die Einstellung von @code{proportionalNotationDuration} gehört zum
3140 @code{Score}-Kontext.  Kontexteinstellungen können an drei verschiedenen
3141 Stellen in der Quelldatei geschrieben werden: in einer @code{\with}-Umgebung,
3142 in einer @code{\context}-Umgebung oder direkt in den Noten mit dem
3143 @code{\set}-Befehl.  Alle drei Positionen sind gleichwertig und es hängt
3144 vom Benutzer ab, welche bevorzugt wird.
3145
3146 Die Eigenschaft @code{proportionalNotationDuration} braucht ein Argument,
3147 welches die Referenzdauer ist, anhand welcher alle Noten platziert werden.
3148 Hier wird die LilyPond Scheme-Funktion @code{make-moment} eingesetzt.  Sie
3149 braucht zwei Argumente: einen Zähler und einen Nenner, die einen Bruch einer
3150 Ganzen darstellen.  Die Funktion @code{(ly:make-moment 1 20)} ergibt also
3151 eine Referenzdauer von einer Zwanzigstel.  Genauso gut können etwa die Dauern
3152 @code{(ly:make-moment 1 16)}, @code{(ly:make-moment 1 8)} oder
3153 @code{(ly:make-moment 3 97)} eingesetzt werden.
3154
3155 Die richtige Referenzdauer, mit der eine vernünftige Verteilung der Noten
3156 proportional möglich ist, muss durch Ausprobieren herausgefunden werden.
3157 Dabei sollte man mit einer Dauer beginnen, die der kleinsten Note des
3158 Stückes nahekommt.  Kleine Referenzdauern lassen die Noten sehr gedehnt
3159 erscheinen, größere Referenzdauern zwingen sie dichter zusammen.
3160
3161 @lilypond[quote,verbatim,ragged-right]
3162 \score {
3163   <<
3164     \new RhythmicStaff {
3165       c'2
3166       c'16 c'16 c'16 c'16
3167       \times 4/5 {
3168         c'16 c'16 c'16 c'16 c'16
3169       }
3170     }
3171   >>
3172   \layout {
3173     \context {
3174       \Score
3175       proportionalNotationDuration = #(ly:make-moment 1 8)
3176     }
3177   }
3178 }
3179
3180 \score {
3181   <<
3182     \new RhythmicStaff {
3183       c'2
3184       c'16 c'16 c'16 c'16
3185       \times 4/5 {
3186         c'16 c'16 c'16 c'16 c'16
3187       }
3188     }
3189   >>
3190   \layout {
3191     \context {
3192       \Score
3193       proportionalNotationDuration = #(ly:make-moment 1 16)
3194     }
3195   }
3196 }
3197
3198 \score {
3199   <<
3200     \new RhythmicStaff {
3201       c'2
3202       c'16 c'16 c'16 c'16
3203       \times 4/5 {
3204         c'16 c'16 c'16 c'16 c'16
3205       }
3206     }
3207   >>
3208   \layout {
3209     \context {
3210       \Score
3211       proportionalNotationDuration = #(ly:make-moment 1 32)
3212     }
3213   }
3214 }
3215 @end lilypond
3216
3217 Man muss beachten, dass die Referenzdauer nicht zu groß ist
3218 (wie die Achtel in dem Beispiel oben), denn dadurch werden
3219 die Noten so dicht gesetzt, dass sich eventuell sogar Notenköpfe
3220 von sehr kleinen Notenwerten überschneiden können.  Die proportionale
3221 Notation nimmt üblicherweise mehr Platz ein als die klassische
3222 Platzverteilung.  Der rhythmischen Klarheit muss ein eng gesetztes
3223 Notenbild geopfert werden.
3224
3225 In Folgenden soll betrachtet werden, wie sich überlappende
3226 rhythmische Aufteilungen am besten positioniert werden.  Als Referenz
3227 wird das erste Beispiel herangezogen, zu welchem ein zweites
3228 System mit anderen rhythmischen Werten hinzugefügt wird:
3229
3230 @lilypond[quote,verbatim,ragged-right]
3231 \score {
3232   <<
3233     \new RhythmicStaff {
3234       c'2
3235       c'16 c'16 c'16 c'16
3236       \times 4/5 {
3237         c'16 c'16 c'16 c'16 c'16
3238       }
3239     }
3240     \new RhythmicStaff {
3241       \times 8/9 {
3242         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3243       }
3244     }
3245   >>
3246 }
3247 @end lilypond
3248
3249 Die Platzaufteilung ist schlecht, weil die gleichlangen Noten des
3250 untersten Systems nicht gleichmäßig verteilt sind.  Im klassischen
3251 Notensatz kommen komplexe rhythmische Verhältnisse wie dieses sehr
3252 selten vor, sodass der Notensatz nicht in Hinsicht auf sie optimiert
3253 ist.  @code{proportionalNotationDuration} hilft in
3254 dieser Situation deutlich:
3255
3256 @lilypond[quote,verbatim,ragged-right]
3257 \score {
3258   <<
3259     \new RhythmicStaff {
3260       c'2
3261       c'16 c'16 c'16 c'16
3262       \times 4/5 {
3263         c'16 c'16 c'16 c'16 c'16
3264       }
3265     }
3266     \new RhythmicStaff {
3267       \times 8/9 {
3268         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3269       }
3270     }
3271   >>
3272   \layout {
3273     \context {
3274       \Score
3275       proportionalNotationDuration = #(ly:make-moment 1 20)
3276     }
3277   }
3278 }
3279 @end lilypond
3280
3281 Aber bei sehr genauer Betrachtung sind die Noten der zweiten Hälfte
3282 der Nonole doch immer noch eine Spur weiter gesetzt als die Noten
3283 der ersten Hälfte.  Um wirklich gleichmäßige Abstände zu erzwingen,
3284 sollte auch noch die gleichmäßige Dehnung (@code{uniform-stretching}) angeschaltet werden, die eine Eigenschaft von @code{SpacingSpanner} ist:
3285
3286 @lilypond[quote,verbatim,ragged-right]
3287 \score {
3288   <<
3289     \new RhythmicStaff {
3290       c'2
3291       c'16 c'16 c'16 c'16
3292       \times 4/5 {
3293         c'16 c'16 c'16 c'16 c'16
3294       }
3295     }
3296     \new RhythmicStaff {
3297       \times 8/9 {
3298         c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
3299       }
3300     }
3301   >>
3302   \layout {
3303     \context {
3304       \Score
3305       proportionalNotationDuration = #(ly:make-moment 1 20)
3306       \override SpacingSpanner #'uniform-stretching = ##t
3307     }
3308   }
3309 }
3310 @end lilypond
3311
3312 Das Beispiel mit den zwei Systemen ist nun exakt nach den
3313 rhythmischen Werten der Noten gesetzt, sodass ein Zeitstrahl
3314 oder ähnliches eingefügt werden könnte.
3315
3316 Alle Einstellungen zur proportionalen Notation erwarten,
3317 dass die @code{uniform-stretching}-Eigenschaft des
3318 @code{SpacingSpanner}-Objekts auf wahr (@code{#t}) gesetzt wird.  Andernfalls
3319 kann es vorkommen, dass bestimmte Abstände (etwa von
3320 unsichtbaren Noten) nicht richtig gesetzt werden.
3321
3322 Das @code{SpacingSpanner}-Objekt ist ein abstraktes Grob, dass sich im
3323 @code{Score}-Kontext befindet.  Genauso wie die Einstellungen
3324 von @code{proportionalNotationDuration} können auch diese
3325 Veränderungen an den drei Stellen in der Quelldatei vorkommen:
3326 in der @code{\with}-Umgebung innerhalb von @code{Score}, in
3327 einer @code{\context}-Umgebung oder direkt im Notentext.
3328
3329 Standardmäßig gibt es nur ein @code{SpacingSpanner} pro @code{Score}.
3330 Das heißt, dass @code{uniform-stretching} für die gesamte Partitur
3331 (d.h. für die Reichweite von @code{Score}) entweder an- oder
3332 ausgeschaltet ist.  Man kann allerdings in einer Partitur unterschiedliche
3333 Abschnitte mit verschiedenem Platzierungsverhalten definieren.
3334 Hierzu ist der Befehl @code{\newSpacingSection} da.  Siehe auch @ref{Eine neuer Bereich mit anderen Abständen}.
3335
3336 Im Folgenden soll gezeigt werden, wie sich der
3337 @code{Separating_line_group_engraver}
3338 auswirkt und warum er normalerweise für proportionale Notation ausgeschaltet wird.
3339 In diesem Beispiel wird verdeutlicht, dass vor jeder ersten Note eines Notensystems
3340 immer etwas zusätzlicher Platz gesetzt wird:
3341
3342 @lilypond[quote,verbatim,ragged-right]
3343 \paper {
3344   indent = #0
3345 }
3346
3347 \new Staff {
3348   c'1
3349   \break
3350   c'1
3351 }
3352 @end lilypond
3353
3354 Der gleiche horizontale zusätzliche Platz wird vor eine Noten gesetzt, wenn sie
3355 einer Taktart, einem Schlüssel oder einer Tonartbezeichnung folgt.
3356 Dieser Platz wird durch @code{Separating_line_group_engraver}
3357 eingefügt; wenn wir ihn aus der Partitur entfernen, entfällt
3358 auch dieser zusätzliche Platz:
3359
3360 @lilypond[quote,verbatim,ragged-right]
3361 \paper {
3362   indent = #0
3363 }
3364
3365 \new Staff \with {
3366   \remove Separating_line_group_engraver
3367 } {
3368   c'1
3369   \break
3370   c'1
3371 }
3372 @end lilypond
3373
3374 Nichtmusikalische Elemente wie Takt- und Tonartangaben, Schlüssel und
3375 Versetzungszeichen sind problematisch in proportionaler
3376 Notation.  Keine dieser Elemente hat eine rhythmische Dauer, aber
3377 alle brauchen horizontalen Platz.  Das Problem wird auf unterschiedliche
3378 Weise gelöst.
3379
3380 Es ist manchmal möglich, Probleme mit Tonarten zu lösen, indem keine
3381 benutzt werden.  Das ist durchaus eine ernstzunehmende Option, weil
3382 die meisten Partituren mit proportionaler Notation für heutige
3383 Musik geschrieben werden.  Ähnliches gilt für Taktarten, insbesondere,
3384 wenn ein Zeitstrahl in die Partitur eingearbeitet werden soll.
3385 In den meisten Partituren kommt jedoch irgendeine Taktart vor.
3386 Schlüssel und Versetzungszeichen sind noch wichtiger; auf
3387 sie kann selten verzichtet werden.
3388
3389 Eine Lösungsmöglichkeit ist es, die @code{strict-note-spacing}-Eigenschaft
3390 des @code{SpacingSpanner}-Objekts zu benutzen.  Zum Vergleich
3391 die beiden Partituren unten:
3392
3393 @lilypond[quote,verbatim,ragged-right]
3394 \new Staff {
3395   \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3396   c''8
3397   c''8
3398   c''8
3399   \clef alto
3400   d'8
3401   d'2
3402 }
3403
3404 \new Staff {
3405   \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
3406   \override Score.SpacingSpanner #'strict-note-spacing = ##t
3407   c''8
3408   c''8
3409   c''8
3410   \clef alto
3411   d'8
3412   d'2
3413 }
3414 @end lilypond
3415
3416 Bei beiden handelt es sich um proportionale Notation, aber
3417 die Platzverteilung im oberen Beispiel ist zu weit wegen
3418 des Schlüsselwechsels.  Die Platzverteilung des zweiten
3419 Beispiels dagegen bleibt rhythmisch korrekt.
3420 @code{strict-note-spacing} bewirkt, dass Takt- und
3421 Tonartbezeichnungen, Schlüssel und Versetzungszeichen
3422 keine Rolle bei der Berechnung der Abstände spielen.
3423
3424 Zusätzlich zu den hier vorgestellten Einstellungen gibt es
3425 noch eine Reihe von Möglichkeiten, die oft in proportionaler
3426 Notation benutzt werden.  Dazu gehören:
3427
3428 @itemize
3429 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
3430 @item @code{tupletFullLength = ##t}
3431 @item @code{\override Beam #'breakable = ##t}
3432 @item @code{\override Glissando #'breakable = ##t}
3433 @item @code{\override TextSpanner #'breakable = ##t}
3434 @item @code{\remove Forbid_line_break_engraver in the Voice context}
3435 @end itemize
3436
3437 Diese Einstellungen bewirken, dass auch Verzierungsnoten proportional
3438 gesetzt werden, dass Klammern von rhythmischen Gruppen bis zu den
3439 Anfangs- und Endpunkten ausgedehnt werden und lassen dehnbare
3440 Objekte wie Balken und Glissandi auch über Taktstriche hinweg zu.
3441
3442 @seealso
3443 Notationsreferenz:
3444 @ref{Eine neuer Bereich mit anderen Abständen}.
3445
3446 Schnipsel:
3447 @rlsr{Spacing}.
3448
3449
3450 @node Die Musik auf weniger Seiten zwingen
3451 @section Die Musik auf weniger Seiten zwingen
3452 @translationof Fitting music onto fewer pages
3453
3454 Manchmal kommt es vor, dass nur ein oder zwei Systeme auf die
3455 nächste Seite geraten, obwohl es so aussieht, als ob auf der
3456 vorigen Seite genügend Platz ist, um diese Systeme auch noch
3457 unterzubringen.
3458
3459 Wenn man derartige Platzierungsprobleme untersucht, ist die
3460 Funktion @code{annotate-spacing} von sehr großer Hilfe.  Hiermit
3461 wird in den Musiksatz zusätzlich Information darüber ausgegeben,
3462 wieviel Platz bestimmten Parametern zugewiesen wird.  Genaueres
3463 hierzu in @ref{Abstände anzeigen lassen}.
3464
3465 @menu
3466 * Abstände anzeigen lassen::
3467 * Abstände verändern::
3468 @end menu
3469
3470
3471 @node Abstände anzeigen lassen
3472 @subsection Abstände anzeigen lassen
3473 @translationof Displaying spacing
3474
3475 @cindex Platzierung, Layouteinstellungen
3476
3477 @funindex annotate-spacing
3478
3479 Die Dimensionen von vertikalen und horizontalen Platzierungsvariablen,
3480 die veränderbar sind, lassen sich mit ihren aktuellen Werten im
3481 Notentext anzeigen, wenn man die Funktion
3482 @code{annotate-spacing} in der @code{\paper}-Umgebung einschaltet:
3483
3484 @c need to have \book{} otherwise we get the separate systems. -hwn
3485 @lilypond[verbatim,quote]
3486 #(set-default-paper-size "a6" 'landscape)
3487 \book {
3488   \score { { c4 } }
3489   \paper { annotate-spacing = ##t }
3490 }
3491 @end lilypond
3492
3493 @noindent
3494 Alle Layoutdimensionen werden in Notenlinienzwischenräumen
3495 aufgelistet, unabhängig von den Einheiten, mit denen sie in der
3496 @code{\paper}- oder @code{\layout}-Umgebung definiert worden
3497 sind.  In dem letzten Beispiel hat @code{paper-height} einen Wert von
3498 59.75 Notenlinienzwischenräumen und @code{staff-size}
3499 Systemhöhe) ist 20 Punkte.  Dabei gilt:
3500
3501 @multitable {1 Notenlinienzwischenraum} {Systemgröße)/4 * (25.4/72.27) mm}
3502
3503 @item 1 Punkt
3504 @tab = (25.4/72.27) mm
3505
3506 @item 1 Notenlinienzwischenraum
3507 @tab = (@code{staff-size})/4 pts
3508 @item
3509 @tab = (@code{staff-size})/4 * (25.4/72.27) mm
3510
3511 @end multitable
3512
3513 In diesem Fall ist ein @code{staff-space} (Notenlinienzwischenraum)
3514 etwa gleich 1.757 mm.  Deshalb entspricht der Wert von 95.75
3515 @code{staff-space} für @code{paper-height} (Papierhöhe) 105 mm,
3516 die Höhe eines quer gelegten A6-Papiers.  Die Paare (@var{a},@var{b}) sind
3517 Intervalle, wobei @var{a} der untere Rand und @var{b} der
3518 obere Rand des Intervalls.
3519
3520 @seealso
3521
3522 Notationsreferenz:
3523 @ref{Die Notensystemgröße einstellen}
3524
3525 Schnipsel:
3526 @rlsr{Spacing}.
3527
3528
3529 @node Abstände verändern
3530 @subsection Abstände verändern
3531 @translationof Changing spacing
3532
3533 Die Ausgabe von @code{annotate-spacing} bietet sehr viele
3534 Details zu den vertikalen Dimensionen einer Partitur.  Zu Information,
3535 wie Seitenränder und andere Layout-Variablen geändert werden
3536 können, siehe @ref{Seitenlayout}.
3537
3538 Neben Rändern gibt es einige weitere Optionen, Platz zu sparen:
3539
3540 @itemize
3541 @item
3542 LilyPond kann die Systeme so dicht wie möglich platzieren (damit
3543 so viele Systeme wie möglich auf eine Seite passen), aber sie
3544 dann so anordnen, dass kein weißer Rand unten auf der Seite entsteht.
3545
3546 @example
3547 \paper @{
3548   system-system-spacing = #'((padding . 0) (basic-distance . 0.1))
3549   ragged-last-bottom = ##f
3550   ragged-bottom = ##f
3551 @}
3552 @end example
3553
3554 @item
3555 Die Anzahl der Systeme kann erzwungen werden.  Das kann auf
3556 zwei Arten helfen: wenn einfach nur ein Wert gesetzt wird, auch
3557 wenn es die gleiche Anzahl ist, die auch schon vorher von LilyPond
3558 erstellt wurde, kann manchmal dazu führen, dass mehr Systeme
3559 auf eine Seite gesetzt werden.  Das liegt daran, dass ein
3560 Schritt im Notensatz ausgelassen wird, der die Seitenverteilung
3561 nur grob einschätzt, sodass eine bessere Seitenverteilung
3562 entsteht.  Auch wenn man eine Verringerung der Anzahl an Systemen
3563 erzwingt, kann oft eine Seite eingespart werden.  Wenn LilyPond
3564 die Musik etwa auf 11 Systeme verteilt, kann man die Benutzung von
3565 nur 10 Systemen erzwingen.
3566
3567 @example
3568 \paper @{
3569   system-count = #10
3570 @}
3571 @end example
3572
3573 @item
3574 Vermeidung (oder Verminderung) von Objekten, die den vertikalen Abstand von Systemen
3575 vergrößern, hilft oft. Die Verwendung von Klammern bei Wiederholungen
3576 (oder alternativen Wiederholungen)
3577 etwa braucht mehr Platz. Wenn die Noten innerhalb der Klammern  auf
3578 zwei Systeme verteilt sind, brauchen sie mehr Platz, als wenn sie
3579 nur auf einer Zeile gedruckt werden.
3580
3581 Ein anderes Beispiel ist es, Dynamik-Zeichen, die besonders
3582 weit @qq{hervorstehen}, zu verschieben.
3583
3584 @lilypond[verbatim,quote,relative=1]
3585 e4 c g\f c
3586 e4 c g-\tweak #'X-offset #-2.7 -\tweak #'Y-offset #2.5 \f c
3587 @end lilypond
3588
3589 @item
3590 Die horizontalen Abstände können mit der
3591 @code{SpacingSpanner}-Eigenschaft verändert werden.  Siehe
3592 @ref{Horizontale Abstände verändern} für Einzelheiten.  Dieses
3593 Beispiel zeigt die normalen Abstände:
3594
3595 @lilypond[verbatim,quote]
3596 \score {
3597   \relative c'' {
3598     g4 e e2 |
3599     f4 d d2 |
3600     c4 d e f |
3601     g4 g g2 |
3602     g4 e e2 |
3603   }
3604 }
3605 @end lilypond
3606
3607 @noindent
3608 Das nächste Beispiel verändert @code{common-shortest-duration} (die
3609 häufigste kürzeste Note) von @code{1/4} zu @code{1/2}.  Die Viertelnote
3610 ist dennoch die häufigste Note in diesem Abschnitt, sodass der
3611 Notentext zusammengedrängt, wird, wenn eine Halbe als Standard
3612 angegeben wird:
3613
3614 @lilypond[verbatim,quote]
3615 \score {
3616   \relative c'' {
3617     g4 e e2 |
3618     f4 d d2 |
3619     c4 d e f |
3620     g4 g g2 |
3621     g4 e e2 |
3622   }
3623   \layout {
3624     \context {
3625       \Score
3626       \override SpacingSpanner
3627         #'common-shortest-duration = #(ly:make-moment 1 2)
3628     }
3629   }
3630 }
3631 @end lilypond
3632
3633 @noindent
3634 Die @code{common-shortest-duration}-Eigenschaft kann nicht
3635 dynamisch verändert werden, darum muss sie immer in der
3636 @code{\context}-Umgebung definiert werden und wirkt sich somit
3637 auf eine ganze @code{\score}-Umgebung aus.
3638
3639 @end itemize
3640
3641 @seealso
3642 Notationsreferenz:
3643 @ref{Seitenlayout},
3644 @ref{Horizontale Abstände verändern}.
3645
3646 Schnipsel:
3647 @rlsr{Spacing}.