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