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