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