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