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