1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
4 Translation of GIT committish: 0a868be38a775ecb1ef935b079000cebbc64de40
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..
13 @c Translators: Till Paala
18 @translationof Spacing issues
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.
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.
36 Einstellungen, die das Layout beeinflussen, können in zwei Umgebungen
37 gesetzt werden: Die @code{\paper @{...@}}-Umgebung wird außerhalb einer
38 @code{\score @{...@}}-Umgebung geschrieben und enthält Einstellungen,
39 die für das gesamte Dokument gelten. Die @code{\layout @{...@}}-Umgebung
40 wird innerhalb von einer @code{\score @{...@}}-Umgebung notiert und
41 enthält die Einstellungen für eine bestimmte Partitur. Wenn Sie
42 nur eine @code{\score @{...@}}-Umgebung in der Datei haben, haben
43 beide Umgebungen den gleichen Effekt. Die Befehle, die in diesem Abschnitt
44 erklärt werden, können in beiden Umgebungen nach Bedarf gesetzt werden.
50 * Vertikale Abstände::
51 * Horizontale Abstände::
52 * Die Musik auf weniger Seiten zwingen::
56 @node Papier und Seiten
57 @section Papier und Seiten
58 @translationof Paper and pages
60 Dieser Abschnitt behandelt die Grenzen, die Notationsgebiete
65 * Seitenformatierung::
70 @subsection Papierformat
71 @translationof Paper size
78 Zwei Funktionen ermöglichen es, die Papiergröße zu ändern:
79 @code{set-default-paper-size} und @code{set-paper-size}.
80 @code{set-default-paper-size} muss auf der obersten Ebene in
81 der Quelldatei gesetzt werden, @code{set-paper-size} hingegen
82 muss sich in einer @code{\paper}-Umgebung befinden:
85 #(set-default-paper-size "a4")
90 #(set-paper-size "a4")
95 @code{set-default-paper-size} bestimmt die Größe aller Seiten, während
96 @code{set-paper-size} nur die Seitengröße für die Seiten definiert,
97 auf die sich die aktuelle @code{\paper}-Umgebung bezieht. Wenn die
98 @code{\paper}-Umgebung auf der höchsten Ebene steht, bezieht sich die
99 Papiergröße auf alle Seiten, wenn sie aber innerhalb einer
100 @code{\book}-Umgebung definiert wird, nur auf die Seiten innerhalb
103 Die normalen Papierformate sind definiert, u.A. @code{a4},
104 @code{letter}, @code{legal} und @code{11x17} (auch als
105 Tabloit bekannt). Sehr viel mehr Formate sind unterstützt.
106 Einzelheiten finden sich in der Datei
107 @file{scm/@/paper@/.scm} in der Definition von
110 @warning{Das Standardformat ist @code{a4}.}
112 Weitere Papierformate können hinzugefügt werden, indem die
113 Definition von @code{paper-alist} in der Datei
114 @file{scm/@/paper@/.scm} verändert wird. Derartige
115 Änderungen werden jedoch bei einer Aktualisierung des
116 Programmes überschrieben.
118 @cindex Ausrichtung, Papier
119 @cindex Papier, Ausrichtung
120 @cindex hochkant, Papier
125 Wenn das Symbol @code{'landscape} als Argument an die Funktion
126 @code{set-default-paper-size} gehängt wird, werden die Seiten um
127 90° gedreht und die Notensysteme entsprechend breiter gesetzt.
130 #(set-default-paper-size "a6" 'landscape)
133 Wenn man die Seitengröße setzt, werden einige Variablen der
134 @code{\paper}-Umgebung verändert, wie etwa Seitenränder. Um
135 eine bestimmte Papiergröße mit veränderten @code{\paper}-Variablen
136 zu benutzen, muss die Papiergröße definiert werden, bevor diese
137 Variablen neu gesetzt werden.
141 Installierte Dateien:
142 @file{scm/@/paper@/.scm}.
148 @node Seitenformatierung
149 @subsection Seitenformatierung
150 @translationof Page formatting
152 Ränder, Kopf- und Fußzeilen und andere Layoutvariablen werden
153 entsprechend dem Papierformat automatisch gesetzt.
155 Dieser Abschnitt zeigt einige der Papiervariablen, die geändert
159 * Vertikale Dimensionen::
160 * Horizontale Dimensionen::
161 * Weitere Layout-Variablen::
165 @node Vertikale Dimensionen
166 @unnumberedsubsubsec Vertikale Dimensionen
167 @translationof Vertical dimensions
169 Diese Variablen werden benutzt um andere vertikale Verhältnisse
170 auf einer Seite zu produzieren:
173 @funindex after-title-space
174 @funindex before-title-space
175 @funindex between-system-padding
176 @funindex between-system-space
177 @funindex between-title-space
178 @funindex bottom-margin
179 @funindex foot-separation
180 @funindex head-separation
181 @funindex page-top-space
182 @funindex paper-height
187 @item after-title-space
189 Die Größe des Abstands zwischen der Überschrift und dem ersten
190 Notensystem. Standard: @code{5\mm}.
192 @item before-title-space
194 Die Größe des Abstands zwischen dem letzten Notensystem einer
195 Partitur und dem Titel der nächsten Partitur. Standard: @code{10\mm}.
197 @item between-system-padding
199 Der Mindestabstand zwischen dem untersten Symbol in einem Notensystem
200 und dem obersten Symbol im sich darunter befindlichen System.
201 Standard: @code{4\mm}.
203 Wenn dieser Wert erhöht wird, werden Systeme, deren @qq{bounding box}
204 sich beinahe berühren, weiter auseinander gezogen.
206 @item between-system-space
208 Der Abstand zwischen Systemen. Das ist der ideale Abstand zwischen
209 der Mitte des eines Systems (bzw. des untersten Systems einer Systemgruppe)
210 und der Mitte des nächsten Systems (bzw. des obersten System der
211 nächsten Systemgruppe). Standard: @code{20\mm}.
213 Wenn dieser Wert erhöht wird, erscheinen die Noten auf der Seite gleichmäßiger,
214 wobei sie aber auch mehr Platz einnehmen.
216 @item between-title-space
218 Der Abstand zwischen aufeinanderfolgenden Überschriften (etwa die
219 Überschrift für ein @code{book} und die Überschrift einer Partitur.
220 Standard: @code{2\mm}.
224 Der Rand zwischen der Fußzeile und dem unteren Rand der Seite.
225 Standard: @code{6\mm}.
227 @item foot-separation
229 Der Abstand zwischen dem untersten Notensystem und der Fußzeile.
230 Standard: @code{4\mm}.
232 @item head-separation
234 Der Abstand zwischen dem obersten System und der Kopfzeile. Standard:
239 Der Abstand von der Oberkante des druckbaren Bereichs bis zur
240 Mitte des ersten Notensystems. Das funktioniert nur für Systeme,
241 die nicht vertikal ausgedehnt sind. Hohe Systeme bzw. Systemgruppen
242 werden mit ihrer @qq{bounding box} an der Oberkante des
243 druckbaren Bereichs ausgerichtet. Standard: @code{12\mm}.
247 Die Höhe der Seite. Standard: Die Höhe des aktuellen Papierformats.
248 Zu Einzelheiten siehe @ref{Papierformat}.
252 Der Rand zwischen der Kopfzeile und dem oberen Rand der Seite. Standard:
260 Kopf- und Fußzeile werden von den Funktionen @code{make-footer} und
261 @code{make-header} erstellt, welche in der @code{\paper}-Umgebung definiert
262 werden. Die Standardeinstellungen sind in den Dateien
263 @file{ly/paper-defaults.ly} und @code{ly/titling-init.ly} dargestellt.
265 Das Seitenlayout wird durch zwei Funktionen der @code{\paper}-Umgebung
266 bestimmt: @code{page-music-height} und @code{page-make-stencil}. Die erste
267 teilt dem Zeilenumbruchsalgorithmus mit, wieviel Platz auf einer Seite
268 belegt werden kann, die zweite hingegen erstellt die konkrete Seite,
269 nachdem sie die Systeme entgegengenommen hat, die auf der Seite platziert
279 ragged-last-bottom = ##t
283 Das nächste Beispiel zentriert Seitenzahlen unten auf jeder Seite:
287 print-page-number = ##t
288 print-first-page-number = ##t
289 oddHeaderMarkup = \markup \fill-line @{ " " @}
290 evenHeaderMarkup = \markup \fill-line @{ " " @}
291 oddFooterMarkup = \markup @{ \fill-line @{
292 \bold \fontsize #3 \on-the-fly #print-page-number-check-first
293 \fromproperty #'page:page-number-string @} @}
294 evenFooterMarkup = \markup @{ \fill-line @{
295 \bold \fontsize #3 \on-the-fly #print-page-number-check-first
296 \fromproperty #'page:page-number-string @} @}
300 Werte der @code{\paper}-Umgebung können in Scheme definiert werden. In diesem
301 Fall sind @code{mm}, @code{in}, @code{pt} und @code{cm} Variablen,
302 die in der Datei @file{paper-defaults.ly} mit Millimeter-Werten definiert
303 sind. Darum muss der Wert 2 cm in dem Beispiel unten multipliziert werden
308 #(define bottom-margin (* 2 cm))
314 @ref{Vertikale Abstände zwischen Systemen}.
320 @node Horizontale Dimensionen
321 @unnumberedsubsubsec Horizontale Dimensionen
322 @translationof Horizontal dimensions
324 @funindex horizontal-shift
326 @funindex left-margin
328 @funindex paper-width
329 @funindex short-indent
331 @warning{Wenn @code{paper-width} manuell gesetzt wird, müssen
332 möglicherweise auch die Werte von @code{line-width},
333 @code{left-margin}, @code{indent} und @code{short-indent} angepasst
336 Es gibt einige Variablen, die die horizontalen Dimensionen der Seite
341 @item horizontal-shift
343 Der Wert, um den alle Systeme (und auch Überschriften und Systemtrenner)
344 nach rechts verschoben werden. Standard: @code{0.0}.
348 Der Einzug für das erste System einer Partitur. Standard:
349 @code{paper-width} geteilt durch @code{14}, definiert in
350 @code{set-default-paper-size} bzw. @code{set-paper-size}.
354 Der Rand zwischen dem linken Rand der Seite und dem Anfang der Notensysteme.
355 Standard: @code{10\mm}, definiert in
356 @code{set-default-paper-size} oder @code{set-paper-size}.
360 Die Breite der Notensystems. Standard: @code{paper-width} minus
361 @code{20\mm}, definiert in @code{set-default-paper-size} bzw.
362 @code{set-paper-size}.
366 Die Breite der Seite. Standard: Die Breite des aktuellen
367 Papierformats. Zu Einzelheiten siehe @ref{Papierformat}.
371 Der Einzug für alle Systeme einer Partitur ausschließlich das
372 erste System. Standard: @code{0}, definiert in
373 @code{set-default-paper-size} bzw. @code{set-paper-size}.
385 Die Option @code{right-margin} ist definiert, bestimmt aber nicht den
386 rechten Rand der Seite. Der Wert für den rechten Rand ergibt sich
387 aus den Werten des linken Randes (@code{left-margin}) und der Zeilenbreite
391 @node Weitere Layout-Variablen
392 @unnumberedsubsubsec Weitere Layout-Variablen
393 @translationof Other layout variables
395 Diese Variablen können verwendet werden, um das allgemeine Layout der Seite
398 @funindex auto-first-page-number
399 @funindex blank-last-page-force
400 @funindex blank-page-force
401 @funindex first-page-number
402 @funindex page-breaking-between-system-padding
404 @funindex page-limit-inter-system-space
405 @funindex page-limit-inter-system-space-factor
406 @funindex page-spacing-weight
407 @funindex print-all-headers
408 @funindex print-first-page-number
409 @funindex print-page-number
410 @funindex ragged-bottom
411 @funindex ragged-last
412 @funindex ragged-last-bottom
413 @funindex ragged-right
414 @funindex system-separator-markup
415 @funindex system-count
419 @item auto-first-page-number
421 Der Seitenumbruchsalgorithmus wird davon beeinflusst, ob die erste
422 Seitenzahl gerade oder ungerade ist. Wenn die Variable auf wahr
423 gesetzt wird, entscheidet der Seitenumbruchsalgorithmus selber,
424 ob die Noten auf einer geraden oder ungeraden Seite beginnen sollen.
425 Das hat dann zur Folge, dass die erste Seite entweder bleibt wie
426 sie ist oder um eins erhöht wird. Standard: @code{##f}.
430 FIXME: this variable is used, but I don't know what it does. -pm
431 @item blank-after-score-page-force
432 @funindex blank-after-score-page-force
438 @item blank-last-page-force
440 Die Strafpunkte, wenn eine Partitur auf einer ungeraden Seite
441 beendet wird. Standard: @code{0}.
443 @item blank-page-force
445 Die Strafpunkte, wenn eine leere Seite mitten in einer Partitur
446 auftritt. Das wird nicht benutzt von @code{ly:optimal-breaking},
447 weil hiermit niemals leere Seiten mitten in einer Partitur zugelassen
448 werden. Standard: @code{5}.
450 @item first-page-number
452 Der Wert der Seitenzahl auf der ersten Seite. Standard: @code{#1}.
454 @item max-systems-per-page
456 Die maximale Anzahl an Notensystemen, die auf einer Seite gesetzt werden. Das
457 wird zur Zeit nur von dem @code{ly:optimal-breaking}-Algorithmus
458 unterstützt. Standard: nicht gesetzt.
460 @item min-systems-per-page
462 Die minimale Anzahl an Notensystemen, die auf einer Seite gesetzt werden. Das
463 kann dazu führen, dass Seiten zu dicht gefüllt werden, wenn der Wert
464 zu groß gewählt wird. Die Option ist zur Zeit nur von dem
465 @code{ly:optimal-breaking}-Algorithmus unterstützt. Standard: nicht gesetzt.
467 @item page-breaking-between-system-padding
469 Überlistet die Seitenumbruchfunktion, indem ihr ein anderer Wert
470 für @code{between-system-padding} mitgeteilt wird, als in Wirklichkeit
471 eingestellt ist. Wenn diese Variable beispielsweise auf einen
472 deutlich größeren Wert als @code{between-system-padding} gesetzt
473 wird, setzt die Seitenumbruchsfunktion weniger Systeme auf eine
474 Seite. Standard: nicht gesetzt.
478 Die Zahl der Seiten, die für eine Partitur benutzt werden sollen.
479 Standard: nicht gesetzt.
481 @item page-limit-inter-system-space
483 Wenn wahr, wird Platz zwischen Systemen eingeschränkt, wenn viel
484 Platz auf der Seite ist. Standard: @code{##f}. Einzelheiten siehe
485 @ref{Vertikale Abstände zwischen Systemen}.
487 @item page-limit-inter-system-space-factor
489 Der Faktor, der von @code{page-limit-inter-system-space} verwendet
490 wird. Standard: @code{1.4}. Einzelheiten siehe
491 @ref{Vertikale Abstände zwischen Systemen}.
493 @item page-spacing-weight
495 Die relative Gewichtung von (vertikalem) Abstand auf der Seite und
496 (horizontalem) Abstand innerhalb der Zeilen. Hohe Werte gewichten
497 die vertikalen Abstände mehr. Standard: @code{#10}.
499 @item print-all-headers
501 Wenn wahr, werden alle Einträge des Titelfeldes (@code{\header}-Umgebung)
502 für jede Partitur ausgegeben. Normalerweise wird nur die
503 Satzbezeichnung und die Opuszahl (@code{piece} und @code{opus})
504 ausgegeben. Standard: @code{##f}.
506 @item print-first-page-number
508 Wenn wahr, wird auch auf der ersten Seite die Seitenzahl ausgegeben.
509 Standard: @code{##f}.
511 @item print-page-number
513 Wenn falsch, werden Seitenzahlen nicht ausgegeben. Standard:
518 Wenn wahr, werden die Systeme nicht gleichmäßig über die Seite
519 verteilt sondern am oberen Seitenrand beginnend eng angeordnet.
520 Das wirkt sich nicht auf die letzte Seite aus. Standard: @code{##f}.
522 Die Variable sollte auf wahr gesetzt werden für Stücke, die nur
523 zwei oder drei Systeme pro Seite haben, wie etwa Orchesterpartituren.
527 Wenn wahr, wird die letzte Notenzeile einer Partitur nicht bis
528 zum Zeilenende durchgezogen, sondern entsprechend mit Noten
529 gefüllt und dann abgebrochen. Standard: @code{##f}.
531 @item ragged-last-bottom
533 Wenn falsch, werden Systeme gleichmäßig über die letzte Seite
534 verteilt. Standard: @code{##t}.
536 Stücke, die zwei oder mehr Seiten gut füllen, sollten die Option auf wahr
539 Sie wirkt sich auch auf die letzte Seite von Buchteilen aus, d.h.
540 Teilen eines Buches, die mit der @code{\bookpart}-Umgebung erstellt werden.
544 Wenn wahr, werden Systeme nicht im Blocksatz gesetzt, sondern erhalten
545 nur ihre normale Breite. Standard: @code{##f}.
547 Wenn eine Partitur nur ein System hat, ist der Standardwert @code{##t}.
549 @item system-separator-markup
551 Ein Beschriftungsobjekt, das zwischen zwei Systeme gesetzt wird. Das
552 wird oft in Orchesterpartituren eingesetzt. Standard: nicht gesetzt.
554 Der Beschriftungsbefehl @code{\slashSeparator} kann für einen Trenner
555 benutzt werden, etwa so:
557 @lilypond[quote,ragged-right]
558 #(set-default-paper-size "a6" 'landscape)
561 \relative { c1 \break c1 }
564 system-separator-markup = \slashSeparator
571 Die Anzahl der Systeme, auf denen eine Partitur gesetzt werden soll.
572 Standard: nicht gesetzt.
574 @item systems-per-page
575 @funindex systems-per-page
577 Die Anzahl an Systemen, die auf jede Seite gesetzt werden sollen.
578 Diese Option wird zur Zeit nur von dem @code{ly:optimal-breaking}-Algorithmus
579 unterstützt. Standard: nicht gesetzt.
591 Die Standard-Kopfzeilendefinition setzt die Seitenzahl und das
592 @code{instrument}-Feld aus der @code{\header}-Umgebung in eine
595 Die Überschriften (aus der @code{\header}-Umgebung) werden als
596 ein System interpretiert, sodass @code{ragged-bottom} und
597 @code{ragged-last-bottom} Platz zwischen die Überschrift und
598 das erste System der Partitur setzen.
603 @translationof Music layout
606 * Die Notensystemgröße einstellen::
611 @node Die Notensystemgröße einstellen
612 @subsection Die Notensystemgröße einstellen
613 @translationof Setting the staff size
615 @cindex Schriftgröße, Einstellung
616 @cindex Systemgröße, Einstellung
617 @cindex Verändern der Schriftgröße
618 @cindex Verändern der Systemgröße
619 @funindex layout file
621 Die Standardgröße der Notensysteme beträgt 20 Punkte (pt).
622 Das kann auf zwei Arten geändert werden:
624 Um die Systemgröße global für alle Partituren einer
625 Datei (bzw. einer @code{\book}-Umgebung) zu verändern,
626 geht man wie folgt vor:
629 #(set-global-staff-size 14)
633 Hiermit wird die Standardhöhe der Notensysteme auf 14 pt
634 gesetzt. Die Schriftarten werden entsprechend verkleinert.
636 Um die Systemhöhe für jede Partitur einzeln zu verändern,
643 #(layout-set-staff-size 15)
651 Die Feta-Schriftart stellt die Noten- und Musiksymbole
652 für acht verschiedene Größen zur Verfügung. Jede
653 Schriftgröße ist einer bestimmten Systemgröße angepasst:
654 für kleinere Schriftgrößen werden die Zeichen etwas
655 schwerer, um mit den ebenfalls dickeren Notenlinien
656 zu harmonieren. Die empfohlenen Notensystemgrößen
657 sind in der Tabelle aufgeführt:
660 @multitable @columnfractions .15 .2 .22 .2
662 @item @b{Schriftbezeichnung}
663 @tab @b{Höhe des Systems (pt)}
664 @tab @b{Höhe des Systems (mm)}
670 @tab Taschenparituren
695 @tab Orchesterstimmen
706 @c modern rental material?
711 Diese Schriftarten sind in allen Größen erhältlich. Die Kontext-Eigenschaft
712 @code{fontSize} und die Layout-Eigenschaft @code{staff-space} (in
713 @code{StaffSymbol}) können benutzt werden, um die Schriftgröße für
714 einzelne Systeme zu verändern. Die Größe von einzelnen Systemen
715 ist relativ zur globalen Systemgröße.
720 @ref{Auswahl der Notations-Schriftgröße}.
728 @code{layout-set-staff-size} verändert nicht den Abstand zwischen den
733 @subsection Partiturlayout
734 @translationof Score layout
736 @cindex Partitur, Layout
737 @cindex Layout, Partitur
741 Während die @code{\paper}-Umgebung Einstellungen für die Formatierung
742 der Seiten eines gesamten Dokuments enthalten, enthält die
743 @code{\layout}-Umgebung Einstellungen für einzelne Partituren.
749 \override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6)
752 \override TextScript #'padding = #1.0
753 \override Glissando #'thickness = #3
760 @ref{Die Standardeinstellungen von Kontexten ändern}.
768 @translationof Breaks
773 * Optimale Seitenumbrüche::
774 * Optimale Umbrüche zum Blättern::
775 * Minimale Seitenumbrüche::
776 * Ausdrückliche Umbrüche::
777 * Eine zusätzliche Stimme für Umbrüche benutzen::
782 @subsection Zeilenumbrüche
783 @translationof Line breaking
785 @cindex Zeilenumbrüche
786 @cindex Umbrüche von Zeilen
788 Zeilenumbrüche werden normalerweise automatisch erstellt. Sie
789 werden so ausgewählt, dass die Zeilen weder gedrängt noch zu
790 weit gespreizt wirken und aufeinander folgende Seiten einen
791 ähnlichen Grauwert haben. In seltenen Fällen kann es jedoch
792 nötig sein, manuell Zeilenumbrüche einzufügen. Das geschieht
793 mit dem Befehl @code{\break}. Hiermit wird direkt nach dem Befehl
794 ein Zeilenumbruch erzwungen. Zeilenumbrüche können jedoch nur
795 am Ende von @qq{vollständigen} Takten stattfinden. Damit sind
796 Takte gemeint, in welchen alle Noten mit der letzten Taktzeit
797 komplett abgeschlossen sind und nicht über das Taktende hinausragen.
798 Wenn Sie einen Zeilenumbruch an einer Stelle benötigen, an der
799 keine Taktlinie vorliegt, können Sie mit @code{\bar ""} eine
800 unsichtbare Taktlinie hinzufügen, die dann den Zeilenumbruch
801 erlaubt. Wiederum gilt, dass keine Noten überstehen dürfen,
802 sonst wird diese unsichtbare Taktlinie ignoriert.
804 Mit dem Befehl @code{\noBreak} wird ein Zeilenumbruch an dem
805 entsprechenden Taktstrich verboten.
807 Die grundlegenden Einstellungen, die Einfluss auf die Zeilenlänge
808 haben, sind @code{indent} (Einzug) und @code{line-width}
809 (Zeilenbreite). Sie werden in der @code{\layout}-Umgebung
810 eingestellt. Der erste Befehl bestimmt den Einzug der ersten
811 Zeile, der zweite die Zeilenlänge der weiteren Notenzeilen.
813 Wenn @code{ragged-right} eingestellt ist (als in der
814 @code{\layout}-Umgebung auf den Wert @code{#t} gesetzt wurde),
815 werden die Systeme linksbündig gesetzt und nicht bis zum
816 rechten Rand hin durchgezogen, sondern den Noten entsprechend
817 gesetzt. Das ist oftmals nützlich für kleine Notenfragmente
818 und um zu überprüfen, wie eng die Noten natürlicherweise
819 gesetzt werden würden.
821 Die Option @code{ragged-last} verhält sich ähnlich zu @code{ragged-right},
822 aber wirkt sich nur auf die letzte Zeile eines Stückes aus.
832 @cindex regelmäßige Zeilenumbrüche
833 @cindex Zeilenumbrüche in Intervallen
835 Um Zeilenumbrüche zu erzwingen, die in festgelegten Intervallen
836 stattfinden, kann der Befehl @code{\break} in Kombination
837 mit unsichtbaren Noten und einer Wiederholung eingesetzt
838 werden. Das folgende Beispiel etwa setzt die nächsten
839 28 Takte (im 4/4-Takt) in Zeilen zu jeweils 4 Takten:
842 << \repeat unfold 7 @{
843 s1 \noBreak s1 \noBreak
844 s1 \noBreak s1 \break @}
845 @notation{Hier die Noten}
849 Eine Zeilenumbruchkonfiguration kann auch als eine @code{.ly}-Datei
850 automatisch gespeichert werden. Damit kann die vertikale Ausrichtung
851 während eines zweiten Programmdurchlaufs angepasst werden um die
852 Seiten besser zu füllen. Diese Eigenschaft ist recht neu und
853 kompliziert. Mehr Einzelheiten finden sich in
865 Referenz der Interna:
866 @rinternals{LineBreakEvent}.
873 Zeilenumbrüche können nur gesetzt werden, wenn eine
874 @qq{richtige} Taktlinie vorliegt. Wenn eine Note
875 über die Taktlinie übersteht, wie etwa in folgendem
878 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
879 c4 c2 << c2 {s4 \break } >> % this does nothing
880 c2 c4 | % a break here would work
881 c4 c2 c4 ~ \break % as does this break
886 kann ein Umbruchbefehl nicht ausgeführt werden. Dieses
887 Verhalten kann jedoch vermieden werden, indem der
888 @code{Forbid_line_break_engraver} aus dem Stimmen-Kontext
891 @lilypond[quote,ragged-right,verbatim]
893 \remove Forbid_line_break_engraver
895 c4 c2 << c2 {s4 \break } >> % now the break is allowed
901 Entsprechend werden Umbrüche auch verhindert, wenn Balken über
902 Taktlinien reichen. Das kann mit folgendem Befehl verhindert
903 werden: @code{\override Beam #'breakable = ##t}.
907 @subsection Seitenumbrüche
908 @translationof Page breaking
910 @cindex Seitenumbrüche
911 @cindex Umbrüche, Seite
913 Die Standardseitenumbrüche können verändert werden, indem
914 man die Befehle @code{\pageBreak} bzw. @code{\noPageBreak}
915 benutzt. Sie verhalten sich analog zu den Befehlen
916 @code{\break} und @code{\noBreak}. Sie sollten an einem
917 Taktstrich notiert werden. Diese Befehle erzwingen bzw.
918 verbieten einen Seitenumbruch. Mit dem @code{\pageBreak}-Befehl
919 wird natürlich gleichzeitig auch ein Zeilenumbruch erzwungen.
921 Die @code{\pageBreak} und @code{\noPageBreak}-Befehle können
922 auch auf der höchsten Ebene einer Datei benutzt werden, etwa
923 zwischen Partituren und Textbeschriftungen.
925 Es gibt auch vertikale Gegenstücke zu den Variablen
926 @code{ragged-right} und @code{ragged-last}:
927 @code{ragged-bottom} und @code{ragged-last-bottom}. Wenn diese
928 Variablen auf @code{##t} gesetzt werden, werden im ersten
929 Fall die Notensysteme auf allen Seiten eng nach oben orientiert
930 gesetzt werden. Im zweiten Fall bezieht sich dies nur auf die
933 Zu Einzelheiten siehe @ref{Vertikale Abstände}.
935 Seitenumbrüche werden von der @code{page-breaking}-Funktion errechnet.
936 LilyPond kennt drei Algorithmen um Seitenumbrüche zu errechnen:
937 @code{ly:optimal-breaking}, @code{ly:page-turn-breaking} und
938 @code{ly:minimal-breaking}. Der Standard ist @code{ly:optimal-breaking},
939 aber der Wert kann in der @code{\paper}-Umgebung geändert werden:
943 #(define page-breaking ly:page-turn-breaking)
949 When a book has many scores and pages, the page breaking problem may be
950 difficult to solve, requiring large processing time and memory. To ease
951 the page breaking process, @code{\bookpart} blocks are used to divide
952 the book into several parts: the page breaking occurs separately on each
953 part. Different page breaking functions may also be used in different
962 %% In einem Abschnitt, der vor allem Text hat,
963 %% funktioniert womöglich ly:minimal-breaking besser
964 #(define page-breaking ly:minimal-breaking)
966 \markup @{ @dots{} @}
970 %% In diesem Abschnitt mit Noten wird
971 %% die Standard-Seitenumbruchsfunktion benutzt.
973 subtitle = "Erster Satz"
981 @funindex \noPageBreak
993 @node Optimale Seitenumbrüche
994 @subsection Optimale Seitenumbrüche
995 @translationof Optimal page breaking
997 @funindex ly:optimal-breaking
999 Die @code{ly:optimal-breaking}-Funktion ist die Standardmethode für
1000 LilyPond, um Seitenumbrüche zu errechnen. Hiermit wird versucht,
1001 Seitenumbrüche zu finden, die das Stauchen oder Strecken von Zeilen
1002 minimieren, sowohl horizontal als auch vertikal. Anders als die
1003 @code{ly:page-turn-breaking}-Funktion hat diese Methode keine
1004 Möglichkeit, Überlegungen zum Umblättern mit einzubeziehen.
1011 @node Optimale Umbrüche zum Blättern
1012 @subsection Optimale Umbrüche zum Blättern
1013 @translationof Optimal page turning
1015 @funindex ly:page-turn-breaking
1017 Es ist oft nötig, die Seiten so umzubrechen, dass sich eine Pause am
1018 Ende jeder zweiten Seite befindet, damit der Musiker es leichter hat,
1019 die Seite umzublättern ohne das Spielen zu Unterbrechen. Die
1020 @code{ly:page-turn-breaking}-Funktion versucht, Seitenumbrüche zu
1021 finden, die das Stauchen oder Strecken von Zeilen minimieren und
1022 gleichzeitig auch noch Seitenumbrüchen an angegebenen Stellen
1023 den Vorrang zu geben.
1025 Die Funktion wird in zwei Schritten eingesetzt. Zunächst muss sie
1026 in der @code{\paper}-Umgebung aktiviert werden, wie gezeigt in
1027 @ref{Seitenumbrüche}. Dann muss noch angegeben werden, welche Stellen
1028 bevorzugt für Seitenumbrüche benutzt werden sollen.
1030 Für diesen zweiten Schritt gibt es zwei Methoden. Am Einfachsten ist
1031 es, die möglichen Seitenumbrüche mit dem Befehl @code{\allowPageTurn}
1032 an jeder Stelle manuell anzugeben.
1034 Wenn Ihnen das zu aufwändig ist, können Sie den @code{Page_turn_engraver}
1035 zu einem @code{Staff}- oder @code{Voice}-Kontext hinzufügen. Dieser
1036 Engraver durchsucht den entsprechenden Kontext nach Stellen ohne Noten.
1037 (Es wird also nicht nach Pausen gesucht, sondern nach Stellen ohne
1038 Noten. Dieses Verhalten verhindert, dass an polyphonen Stellen umgebrochen
1039 wird, wo nur in einer Stimme Pausen vorhanden sind.) Wenn eine
1040 derartige Stelle ohne Noten gefunden wird, fügt der Engraver den
1041 Befehl @code{\allowPageTurn} am letzten Taktstrich des Abschnitts ein. Wenn
1042 in dem Abschnitt ein besonderer Taktstrich vorkommt (wie etwa ein
1043 Doppelstrich), wird der Befehl nach diesem Taktstrich gesetzt.
1045 @funindex minimumPageTurnLength
1047 Der @code{Page_turn_engraver} liest die Kontexteigenschaft
1048 @code{minimumPageTurnLength} um zu erkennen, wie lang eine Stelle
1049 frei von Noten sein muss, damit ein Seitenumbruch in Frage kommt. Der
1050 Standardwert hierfür ist @code{#(ly:make-moment 1 1)}. Wenn Sie
1051 Seitenumbrüche zum Umblättern ausschalten wollen, können Sie
1052 einen sehr großen Wert angeben.
1055 \new Staff \with @{ \consists "Page_turn_engraver" @}
1058 R1 | % Ein Seitenumbruch zum Umblättern erlaubt
1060 \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
1061 R1 | % Seitenumbruch nicht erlaubt
1063 R1*2 | % Seitenumbruch erlaubt
1068 @funindex minimumRepeatLengthForPageTurn
1070 Der @code{Page_turn_engraver} erkennt Wiederholungen vom Typ @code{volta}.
1071 Ein Seitenumbruch zum Umblättern wird nur zugelassen, wenn vor und nach
1072 der Wiederholung genug Zeit ist, um die Seite wieder zurückzublättern.
1073 Wenn die Wiederholung sehr kurz ist, kann auch Umblättern verboten
1074 werden. Wenn Sie die Kontexteigenschaft
1075 @code{minimumRepeatLengthForPageTurn} definieren, erlaubt der
1076 @code{Page_turn_engraver} nur Umblättern in Wiederholungen, deren
1077 Dauer länger als dieser Wert ist.
1079 Die Seitenumblätter-Befehle @code{\pageTurn}, @code{\noPageTurn} und
1080 @code{\allowPageTurn} können auch auf oberster Dateiebene benutzt
1081 werden, etwa zwischen Partituren und Textabschnitten.
1084 @funindex \noPageTurn
1085 @funindex \allowPageTurn
1090 @code{\allowPageTurn}.
1099 In einer Partitur sollte nur ein @code{Page_turn_engraver} vorkommen. Wenn
1100 mehr als einer definiert werden, stören sie sich gegenseitig.
1103 @node Minimale Seitenumbrüche
1104 @subsection Minimale Seitenumbrüche
1105 @translationof Minimal page breaking
1107 @funindex ly:minimal-breaking
1109 Die @code{ly:minimal-breaking}-Funktion benötigt nur minimale Berechnungen,
1110 um die Seitenumbrüche zu bestimmen. Die Seite wird mit möglichst
1111 vielen Systemen gefüllt und dann zur nächsten Seite gewechselt. Die
1112 Funktion kann benutzt werden um Partituren mit vielen Seiten zu
1113 setzen, wenn die anderen Seitenumbruchsfunktionen zu langsam wären
1114 oder zu viel Speicher beanspruchen. Auch für Seiten mit viel Text
1115 ist die Funktion geeignet. Sie wird folgendermaßen aktiviert:
1119 #(define page-breaking ly:minimal-breaking)
1129 @node Ausdrückliche Umbrüche
1130 @subsection Ausdrückliche Umbrüche
1131 @translationof Explicit breaks
1133 Es kann vorkommen, dass LilyPond direkte @code{\break} oder
1134 @code{\pageBreak}-Befehl nicht beachtet. Mit folgenden
1135 Einstellungen kann dieses Verhalten ausgeschaltet werden:
1138 \override NonMusicalPaperColumn #'line-break-permission = ##f
1139 \override NonMusicalPaperColumn #'page-break-permission = ##f
1142 Wenn @code{line-break-permission} die Einstellung falsch
1143 (@code{##f}) hat, werden Zeilenumbrüche nur an den Befehlen
1144 @code{\break} eingefügt und nirgendwo anders. Wenn
1145 @code{page-break-permission} die Einstellung falsch
1146 (@code{##f}) hat, werden Seitenumbrüche nur an den Befehlen
1147 @code{\pageBreak} eingefügt und nirgendwo anders.
1149 @lilypond[quote,verbatim]
1158 \override NonMusicalPaperColumn #'line-break-permission = ##f
1159 \override NonMusicalPaperColumn #'page-break-permission = ##f
1162 \repeat unfold 2 { c'8 c'8 c'8 c'8 } \break
1163 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1164 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1165 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
1166 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \break
1167 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1168 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1169 \repeat unfold 2 { c'8 c'8 c'8 c'8 }
1180 @node Eine zusätzliche Stimme für Umbrüche benutzen
1181 @subsection Eine zusätzliche Stimme für Umbrüche benutzen
1182 @translationof Using an extra voice for breaks
1184 Zeilen- und Seitenumbruchbefehle werden normalerweise direkt
1185 zusammen mit den Noten eingegeben.
1190 \repeat unfold 2 @{ c'4 c'4 c'4 c'4 @}
1192 \repeat unfold 3 @{ c'4 c'4 c'4 c'4 @}
1197 Hierdurch sind zwar die Befehle @code{\break} und @code{\pageBreak}
1198 einfach zu notieren, es werden aber Informationen zur Notation
1199 mit Informationen zur Anordnung auf der Seite vermischt. Man kann
1200 diese Informationen auch voneinander trennen, indem man eine zusätzliche
1201 Stimme einfügt, in der Zeilen- und Seitenumbrüche vorgenommen werden.
1202 Diese zusätzliche Stimme enthält nur unsichtbare Noten und die
1205 @lilypond[quote,verbatim]
1215 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1216 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1217 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1218 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1224 Mit dieser Herangehensweise kann der Code insbesondere
1225 dann klarer notiert werden, wenn man Einstellungen der
1226 @code{line-break-system-details}-Eigenschaft oder
1227 anderer Eigenschaften von
1228 @code{NonMusicalPaperColumnGrob} vornimmt (hierzu auch
1229 @ref{Vertikale Abstände}).
1231 @lilypond[quote,verbatim]
1236 \overrideProperty "Score.NonMusicalPaperColumn"
1237 #'line-break-system-details #'((Y-offset . 0))
1240 \overrideProperty "Score.NonMusicalPaperColumn"
1241 #'line-break-system-details #'((Y-offset . 35))
1244 \overrideProperty "Score.NonMusicalPaperColumn"
1245 #'line-break-system-details #'((Y-offset . 70))
1248 \overrideProperty "Score.NonMusicalPaperColumn"
1249 #'line-break-system-details #'((Y-offset . 105))
1253 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1254 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1255 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1256 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1265 @ref{Vertikale Abstände}.
1271 @node Vertikale Abstände
1272 @section Vertikale Abstände
1273 @translationof Vertical spacing
1275 @cindex vertikale Positionierung
1276 @cindex Positionierung, vertikal
1277 @cindex Abstände, vertikal
1279 Vertikale Abstände werden durch drei Eigenschaften
1280 bestimmt: wieviel Platz frei ist (etwa Papiergröße
1281 und Ränder), wieviel Platz zwischen Systemgruppen
1282 (engl. system) gesetzt werden soll und wieviel
1283 Platz zwischen Notensystemen (engl. staff, Pl. staves)
1284 innerhalb von Gruppen gesetzt wird.
1287 * Vertikale Abstände innerhalb eines Systems::
1288 * Vertikale Abstände zwischen Systemen::
1289 * Explizite Positionierung von Systemen::
1290 * Vertikale Abstände mit zwei Durchgängen::
1291 * Vermeidung von vertikalen Zusammenstößen::
1295 @node Vertikale Abstände innerhalb eines Systems
1296 @subsection Vertikale Abstände innerhalb eines Systems
1297 @translationof Vertical spacing inside a system
1299 @cindex Abstand zwischen Notensystemen
1300 @cindex Notensystemabstand
1301 @cindex Platz zwischen Notensystemen
1302 @cindex Platz innerhalb von Systemgruppen
1303 @cindex Systemgruppen, Abstände innerhalb
1305 Die Höhe jeder Notensystemgruppe (engl. system) wird automatisch errechnet.
1306 Um einzelne Notensysteme daran zu hindern, sich zu überschneiden,
1307 werden Minimalabstände festgelegt. Indem man diese ändert,
1308 können die Systeme enger zusammen gerückt werden. Dadurch
1309 brauchen die Gruppen weniger Platz und es passen mehr Gruppen
1312 Normalerweise werden die Notensysteme vertikal gestapelt. Damit
1313 die Systeme einen bestimmten Abstand einhalten, haben sie
1314 Füllabstände, die in der Eigenschaft @code{minimum-Y-extent}
1315 definiert sind. Wenn diese Eigenschaft für ein
1316 @code{VerticalAxisGroup}-Objekt gesetzt wird, kann eingestellt
1317 werden, wieviel Platz nach unten oder oben die vertikale Linie
1318 (also das Notensystem oder eine Textzeile) einnimmt. Die
1319 Eigenschaft braucht ein Zahlenpaar; der Standardwert ist
1320 @code{#'(-4 . 4)}. Um also ein Notensystem schmaler zu machen,
1324 \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
1328 Damit wird die vertikale Größe des Systems auf jeweils drei
1329 Notenlinienzwischenräume nach oben und unten von der Systemmitte
1330 aus eingestellt. Der Wert @code{(-3 . 3)} wird als ein
1331 Intervall ausgewertet, dessen Zentrum bei 0 liegt; deshalb
1332 ist die erste Zahl immer negativ. Die Zahlen müssen nicht
1333 gleich sein: man kann etwa die Ausdehnung nach unten vergrößern,
1334 indem man @code{(-6 . 4)} setzt.
1337 FIXME: update this section
1339 Nachdem die Seitenumbrüche bestimmt wurden, wird die vertikale
1340 Platzverteilung innerhalb jeder Systemgruppe neu ausgewertet
1341 um die Seite so gleichmäßig wie möglich zu füllen. Wenn auf
1342 einer Seite viel Platz übrigbleibt, werden die Gruppen etwas
1343 gedehnt um die Seite besser auszufüllen. Die Größe dieser
1344 Dehnung kann mit der @code{max-stretch}-Eigenschaft
1345 des @code{VerticalAlignment}-Grobs eingestellt werden.
1346 Standardmäßig hat @code{max-stretch} den Wert 0, sodass
1347 die Dehnung ausgeschaltet ist. Um sie einzuschalten, kann
1348 als guter Wert für @code{max-stretch} der Wert von
1349 @code{ly:align-interface::calc-max-stretch} eingesetzt werden.
1351 In manchen Situationen sollen zwar die meisten Systeme gedehnt
1352 werden, einige Gruppen sollen aber einen festen Abstand einhalten.
1353 Das kann etwa der Fall sein, wenn ein Klaviersystem in der
1354 Mitte einer Orchesterpartitur vorkommt. Mit der
1355 @code{keep-fixed-while-stretching}-Eigenschaft des
1356 @code{VerticalAxisGroup}-Objektes kann das erreicht werden.
1357 Wenn sie auf @code{##t} gesetzt wird, wird das entsprechende
1358 System (oder die Textzeile) nicht von der Zeile entfernt, die
1359 sich direkt darüber befindet. Man müsste diese Einstellung
1360 als beispielsweise für das zweite Notensystem eines Klaviersystems
1364 #(set-default-paper-size "a6")
1365 #(set-global-staff-size 14.0)
1369 ragged-last-bottom = ##f
1374 \override VerticalAlignment #'max-stretch = #ly:align-interface::calc-max-stretch
1381 \new Staff {c' d' e' f'}
1382 \new Staff {c' d' e' f'}
1383 \new Staff {c' d' e' f'}
1388 \new Staff {c' d' e' f'}
1390 \override VerticalAxisGroup #'keep-fixed-while-stretching = ##t
1397 \new Staff {c' d' e' f'}
1398 \new Staff {c' d' e' f'}
1406 Die vertikale Ausrichtung von Notensystemen wird
1407 von dem @code{VerticalAlignment}-Objekt vorgenommen.
1408 Die Kontextparameter für die vertikale Ausdehnung
1409 werden für den @code{Axis_group_engraver} angegeben.
1415 @c @lsr{spacing,page-spacing.ly},
1416 @c @lsr{spacing,alignment-vertical-spacing.ly}.
1418 Referenz der Interna:
1419 @rinternals{VerticalAlignment},
1420 @rinternals{Axis_group_engraver}.
1423 @node Vertikale Abstände zwischen Systemen
1424 @subsection Vertikale Abstände zwischen Systemen
1425 @translationof Vertical spacing between systems
1427 Der Platz zwischen Notensystemgruppen wird von vier
1428 Variablen in der @code{\paper}-Umgebung kontrolliert:
1432 between-system-space = 1.5\cm
1433 between-system-padding = #1
1435 ragged-last-bottom=##f
1439 Wenn nur ein paar schmale Systeme auf eine Seite gesetzt werden,
1440 kann die vertikale Platzverteilung recht negativ ausfallen, so
1441 dass etwa ein System ganz oben auf der Seite und das nächste
1442 unten auf der Seite erscheint, mit einer großen Lücke dazwischen.
1443 Um derartige Situationen zu umgehen, kann der Platz, der zwischen
1444 Gruppen eingefügt wird, begrenzt werden. Dieses Verhalten wird
1445 aktiviert, indem die @code{page-limit-inter-system-space}-Variable
1446 in der @code{\paper}-Umgebung auf @code{##t} gesetzt wird. Die
1447 Variable @code{page-limit-inter-system-space-factor} bestimmt,
1448 um wieviel der Platz zwischen Gruppen gedehnt werden darf: Bei
1449 einem Wert von @code{1.3} etwa darf der Platz 30% größer sein
1450 als er es wäre, wenn die Seite mit der Option @code{ragged-bottom}
1451 gesetzt worden wäre.
1453 Im folgenden Beispiel würde das zweite System der ersten Seite
1454 unten auf der Seite gesetzt werden, wenn der Platz zwischen
1455 den Systemen nicht begrenzt wäre. Weil aber die Begrenzung
1456 eingesetzt wurde, wird das zweite System näher am ersten
1457 platziert. Wenn @code{page-limit-inter-system-space-factor}
1458 auf @code{1} gesetzt wird, wäre die Platzverteilung die gleiche
1459 auf einer Seite mit @code{ragged-bottom}, wie etwa die letzte
1460 Seite einer Partitur.
1463 #(set-default-paper-size "a6")
1466 page-limit-inter-system-space = ##t
1467 page-limit-inter-system-space-factor = 1.3
1469 oddFooterMarkup = \markup "page bottom"
1470 evenFooterMarkup = \markup "page bottom"
1471 oddHeaderMarkup = \markup \fill-line {
1472 "page top" \fromproperty #'page:page-number-string }
1473 evenHeaderMarkup = \markup \fill-line {
1474 "page top" \fromproperty #'page:page-number-string }
1476 \new Staff << \repeat unfold 4 { g'4 g' g' g' \break }
1477 { s1*2 \pageBreak } >>
1487 @node Explizite Positionierung von Systemen
1488 @subsection Explizite Positionierung von Systemen
1489 @translationof Explicit staff and system positioning
1491 Man kann die Einstellungen des @code{VerticalAxisGroup}-Objekts
1492 und der @code{\paper}-Umgebung, wie sie im vorigen Abschnitt
1493 erklärt wurden, als eine Sammlung verschiedenerer Einstellmöglichkeiten
1494 verstehen, die vor allem die Größe des vertikalen Platzes zwischen
1495 Notensystemen und Gruppen auf der Seite kontrollieren.
1497 Die vertikale Platzverteilung kann aber auch auf andere Weise
1498 eingestellt werden: mit den Optionen von
1499 @code{NonMusicalPaperColumn #'line-break-system-details}. Während
1500 Einstellungen in @code{VerticalAxisGroup} und @code{\paper} Füllplatz
1501 definieren, werden mit
1502 @code{NonMusicalPaperColumn #'line-break-system-details} absolute vertikale
1503 Positionen auf der Seite festgelegt.
1505 @code{NonMusicalPaperColumn #'line-break-system-details} akzeptiert eine
1506 Liste aus fünf unterschiedlichen Einstellungen:
1509 @item @code{X-offset}
1510 @item @code{Y-offset}
1511 @item @code{alignment-offsets}
1512 @item @code{alignment-extra-space}
1513 @item @code{fixed-alignment-extra-space}
1516 Veränderungen von Grobs (wozu auch @code{NonMusicalPaperColumn} gehört),
1517 können an drei unterschiedlichen Stellen in der Quelldatei vorgenommen
1521 @item mitten im Notentext
1522 @item in einer @code{\context}-Umgebung
1523 @item in einer @code{\with}-Umgebung
1526 Wenn der Grob @code{NonMusicalPaperColumn} verändert werden soll,
1527 wird der @code{\override}-Befehl in der @code{\context} oder
1528 @code{\with}-Umgebung eingesetzt. Wenn die Veränderungen aber
1529 mitten im Notentext stattfinden sollen, müssen Sie den Befehl
1530 @code{\overrideProperty} einsetzen. Einige Beispiele für eine
1531 Veränderungen von @code{NonMusicalPaperColumn} mit dem
1532 @code{\overrideProperty}-Befehl sind hier aufgelistet:
1535 \overrideProperty NonMusicalPaperColumn
1536 #'line-break-system-details #'((X-offset . 20))
1538 \overrideProperty NonMusicalPaperColumn
1539 #'line-break-system-details #'((Y-offset . 40))
1541 \overrideProperty NonMusicalPaperColumn
1542 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40))
1544 \overrideProperty NonMusicalPaperColumn
1545 #'line-break-system-details #'((alignment-offsets . (0 -15)))
1547 \overrideProperty NonMusicalPaperColumn
1548 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
1549 (alignment-offsets . (0 -15)))
1552 Um zu verstehen, wie jede dieser unterschiedlichen Einstellungen
1553 funktioniert, wollen wir uns ein Beispiel vornehmen, dass überhaupt
1554 keine Einstellungen (d.h. @code{override}-Befehle) enthält:
1556 @c \book { } is required in these examples to ensure the spacing
1557 @c overrides can be seen between systems. -np
1560 \header { tagline = ##f }
1561 \paper { left-margin = 0\mm }
1571 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1574 \repeat unfold 15 { d'4 d' d' d' }
1581 Diese Partitur nimmt Zeilen- und Seitenumbruchinformationen in einer
1582 eigenen Stimme vor. Mit dieser Methode kann die Layout-Information
1583 einfach von den Noten getrennt werden, was sehr hilfreich ist, wenn
1584 das Beispiel komplizierter wird. Siehe auch
1585 @ref{Eine zusätzliche Stimme für Umbrüche benutzen}.
1587 Ausdrückliche @code{\break}-Befehle teilen die Noten in sechs Takte
1588 lange Zeilen. Die vertikale Platzverteilung wird von LilyPond
1589 errechnet. Um den vertikalen Beginn einer jeden Systemgruppe
1590 genau anzugeben, kann @code{Y-offset} in der
1591 @code{line-break-system-details}-Eigenschaft des
1592 @code{NonMusicalPaperColumn}-Grobs wie in dem Beispiel
1593 ersichtlich benutzt werden:
1596 \header { tagline = ##f }
1597 \paper { left-margin = 0\mm }
1603 \overrideProperty #"Score.NonMusicalPaperColumn"
1604 #'line-break-system-details #'((Y-offset . 0))
1606 \overrideProperty #"Score.NonMusicalPaperColumn"
1607 #'line-break-system-details #'((Y-offset . 40))
1609 \overrideProperty #"Score.NonMusicalPaperColumn"
1610 #'line-break-system-details #'((Y-offset . 80))
1613 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1616 \repeat unfold 15 { d'4 d' d' d' }
1623 In der @code{line-break-system-details}-Eigenschaft kann eine Liste
1624 mit vielen Einstellungen eingegeben werden, aber hier wird nur eine
1625 Einstellung angegeben. Die @code{Y-offset}-Eigenschaft bestimmt
1626 hier die exakte vertikale Position auf der Seite, an welcher jede
1627 neue Systemgruppe begonnen wird.
1629 Da jetzt der exakte Beginn eines jeden Systems explizit festgelegt wurde,
1630 können wir auch den exakten Beginn eines jeden Notensystems in der
1631 Gruppe festlegen. Dies geschieht mit der @code{alignment-offsets}-Eigenschaft
1632 von @code{line-break-system-details}.
1635 \header { tagline = ##f }
1636 \paper { left-margin = 0\mm }
1642 \overrideProperty #"Score.NonMusicalPaperColumn"
1643 #'line-break-system-details #'((Y-offset . 20)
1644 (alignment-offsets . (0 -15)))
1646 \overrideProperty #"Score.NonMusicalPaperColumn"
1647 #'line-break-system-details #'((Y-offset . 60)
1648 (alignment-offsets . (0 -15)))
1650 \overrideProperty #"Score.NonMusicalPaperColumn"
1651 #'line-break-system-details #'((Y-offset . 100)
1652 (alignment-offsets . (0 -15)))
1655 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1658 \repeat unfold 15 { d'4 d' d' d' }
1665 Dem @code{line-break-system-details}-Attribut des
1666 @code{NonMusicalPaperColumn}-Grobs werden zwei Eigenschaften
1667 zugewiesen. Auch wenn die Liste (alist) von
1668 @code{line-break-system-details} sehr viel mehr Platzierungsparameter
1669 akzeptiert, müssen hier nu die Parameter @code{Y-offset} und
1670 @code{alignment-offsets} gesetzt werden, um den vertikalen Beginn
1671 jedes Systems und jeder Systemgruppe zu kontrollieren. @code{Y-offset}
1672 bestimmt also die vertikale Position von Systemgruppen und @code{alignment-offsets}
1673 die vertikale Position von einzelnen Notensystemen.
1676 \header { tagline = ##f }
1677 \paper { left-margin = 0\mm }
1683 \overrideProperty #"Score.NonMusicalPaperColumn"
1684 #'line-break-system-details #'((Y-offset . 0)
1685 (alignment-offsets . (0 -30 -40)))
1687 \overrideProperty #"Score.NonMusicalPaperColumn"
1688 #'line-break-system-details #'((Y-offset . 60)
1689 (alignment-offsets . (0 -10 -20)))
1691 \overrideProperty #"Score.NonMusicalPaperColumn"
1692 #'line-break-system-details #'((Y-offset . 100)
1693 (alignment-offsets . (0 -10 -40)))
1696 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1699 \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
1700 \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
1707 Einige Dinge sollten beachtet werden:
1710 @item Wenn @code{alignment-offsets} benutzt wird, werden Gesangtextzeilen
1711 als ein System gezählt.
1713 @item Die Einheiten der Zahlen, die für @code{X-offset},
1714 @code{Y-offset} und @code{alignment-offsets} benutzt werden, werden als
1715 Vielfaches des Abstandes zwischen zwei Notenlinien gewertet. Positive
1716 Werte verschieben Systeme und Gesangstext nach oben, negative Werte nach
1719 @item Weil die Einstellungen von @code{NonMusicalPaperColumn #'line-break-system-details}
1720 es möglich machen, Notensysteme und Gruppen an beliebigen Stellen auf der
1721 Seite zu platzieren, kann man damit auch Ränder überschreiben oder sogar
1722 Notensysteme übereinander platzieren. Sinnvolle Werte für diese
1723 Parameter werden derartiges Verhalten vermeiden.
1732 @node Vertikale Abstände mit zwei Durchgängen
1733 @subsection Vertikale Abstände mit zwei Durchgängen
1734 @translationof Two-pass vertical spacing
1736 @warning{Vertikale Positionierung in zwei Durchgängen ist veraltet
1737 (deprecated) und wird in zukünftigen Versionen von LilyPond entfernt
1738 werden. Systeme werden jetzt automatisch in einem einzigen
1739 Durchlauf gedehnt. Siehe auch @ref{Vertikale Abstände innerhalb eines Systems}.}
1741 Um Systeme zu dehnen, sodass sie den restlichen Platz auf der Seite
1742 auffüllen, kann ein Verfahren benutzt werden, dass die Positionierung
1743 in zwei Durchläufen ermittelt:
1746 @item Im ersten Durchlauf wird der Platz berechnet, um den jede
1747 Systemgruppe gedehnt werden sollte und in eine Datei geschrieben.
1748 @item Im zweiten Durchlauf werden die Systemgruppen anhand der
1749 Daten aus dieser Datei entsprechend gedehnt.
1752 Die @code{ragged-bottom}-Eigenschaft fügt den Platz zwischen
1753 Systemgruppen ein, während mit der Technik in zwei Durchläufen
1754 die Systemgruppen selber gedehnt werden.
1756 Um dieses Verhalten zu erzeugen, muss die @code{tweak-key}-Eigenschaft
1757 in der @code{\layout}-Umgebung jeder Partitur definiert werden und diese
1758 Anpassungen dann in jeder Partitur mit dem Befehl @code{\scoreTweak}
1763 %% die erstellte Layout-Datei einfügen
1764 \includePageLayoutFile
1769 %% Anpassungen für diese Partitur einfügen
1770 \scoreTweak "scoreA"
1771 { \clef french c''1 \break c''1 }
1773 \new Staff { \clef soprano g'1 g'1 }
1774 \new Staff { \clef mezzosoprano e'1 e'1 }
1775 \new Staff { \clef alto g1 g1 }
1776 \new Staff { \clef bass c1 c1 }
1779 piece = "Score with tweaks"
1781 %% Definieren, wie die Anpassungen für diese Datei genannt werden:
1782 \layout { #(define tweak-key "scoreA") }
1787 Für den ersten Durchgang sollte die @code{dump-tweaks}-Option gesetzt
1788 werden, damit die Layout-Datei erstellt wird.
1791 lilypond -dbackend=null -d dump-tweaks <file>.ly
1801 @node Vermeidung von vertikalen Zusammenstößen
1802 @subsection Vermeidung von vertikalen Zusammenstößen
1803 @translationof Vertical collision avoidance
1805 @cindex Vermeidung von vertikalen Zusammenstößen
1806 @cindex Zusammenstöße, vertikal, vermeiden
1807 @cindex vertikale Zusammenstöße, vermeiden
1808 @cindex Kollisionen, vertikal, vermeiden
1810 @funindex outside-staff-priority
1811 @funindex outside-staff-padding
1812 @funindex outside-staff-horizontal-padding
1814 Intuitiv gibt es in der Notation einige Objekte, die zu dem Notensystem
1815 gehören, und einige andere, die immer außerhalb des Notensystems
1816 positioniert werden sollten. Zu diesen letzteren gehören etwa
1817 Übungszeichen, Textbeschriftung und Dynamikbezeichnung (die als
1818 Objekte außerhalb des Systems bezeichnet werden können). LilyPonds
1819 Regeln um diese Objekte zu positionieren lautet: so nah am Notensystem
1820 wie möglich, aber gerade so weit weg, dass sie nicht mit anderen
1821 Objekten zusammenstoßen.
1823 Dabei setzt LilyPond die @code{outside-staff-priority}-Eigenschaft
1824 ein um herauszufinden, ob ein Grob ein Objekt außerhalb des Systems
1825 ist: wenn @code{outside-staff-priority} eine Zahl ist, dann handelt
1826 es sich um ein Objekt außerhalb des Systems. Zusätzlich teilt
1827 @code{outside-staff-priority} noch mit, in welcher Reihenfolge
1828 die Objekte außerhalb des Systems gesetzt werden sollen.
1830 Zuerst werden alle Objekte gesetzt, die nicht außerhalb des Systems
1831 gehören. Dann werden die Objekte außerhalb des Systems nach dem Wert
1832 ihrer @code{outside-staff-priority} (in aufsteigender Anordnung)
1833 sortiert. Eins nach dem anderen werden diese Objekte schließlich
1834 genommen und so platziert, dass sie nicht mit den Objekten zusammenstoßen,
1835 die bereits platziert worden sind. Wenn also zwei Objekte außerhalb
1836 des Systems um den gleichen Platz streiten, wird das mit dem
1837 geringeren Wert von @code{outside-staff-priority} näher an das
1838 entsprechende Notensystem gesetzt.
1840 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1843 \once \override TextScript #'outside-staff-priority = #1
1844 c4_"Text"\pp % this time the text will be closer to the staff
1846 % by setting outside-staff-priority to a non-number,
1847 % we disable the automatic collision avoidance
1848 \once \override TextScript #'outside-staff-priority = ##f
1849 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
1850 c4_"Text"\pp % now they will collide
1853 Der Platz, der zwischen einem Objekt außerhalb des Systems und
1854 dem vorhergehenden Objekt eingefügt werden kann (auch als
1855 padding bezeichnet), kann durch @code{outside-staff-padding}
1856 kontrolliert werden.
1858 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1859 \once \override TextScript #'outside-staff-padding = #0
1860 a'^"This text is placed very close to the note"
1861 \once \override TextScript #'outside-staff-padding = #3
1862 c^"This text is padded away from the previous text"
1863 c^"This text is placed close to the previous text"
1866 Standardmäßig werden Objekte außerhalb des Systems so gesetzt,
1867 dass sie eine horizontale Überschneidung mit einem der
1868 vorher gesetzten Grobs vermeiden. Das kann zu Situationen
1869 führen, in denen Objekte sehr dicht nebeneinander gesetzt
1870 werden. Der vertikale Platz zwischen Notensystemen kann
1871 auch gesetzt werden, sodass Objekte außerhalb des Systems
1872 ineinander greifen. Mit der Eigenschaft
1873 @code{outside-staff-horizontal-padding} können Objekte vertikal
1874 verschoben werden und derartige Situationen kommen nicht
1877 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1878 % the markup is too close to the following note
1882 % setting outside-staff-horizontal-padding fixes this
1884 \once \override TextScript #'outside-staff-horizontal-padding = #1
1895 @node Horizontale Abstände
1896 @section Horizontale Abstände
1897 @translationof Horizontal spacing
1899 @cindex horizontale Platzierung
1900 @cindex horizontale Anordnung
1901 @cindex Anordnung, horizontal
1904 * Überblick über horizontale Abstände::
1905 * Eine neuer Bereich mit anderen Abständen::
1906 * Horizontale Abstände verändern::
1908 * Proportionale Notation::
1912 @node Überblick über horizontale Abstände
1913 @subsection Überblick über horizontale Abstände
1914 @translationof Horizontal spacing overview
1916 Die Setzmaschine interpretiert unterschiedliche Notendauern als
1917 dehnbare Abstände (engl. spring) unterschiedlicher Länge. Längere
1918 Dauern erhalten mehr Platz, kürzere weniger. Die kürzeste Dauer
1919 erhält eine feste Breite (die mit @code{shortest-duration-space}
1920 im @code{SpacingSpanner}-Objekt kontrolliert werden kann). Je
1921 länger die Dauer, umso mehr Platz erhält die Note: wenn ihre
1922 Dauer verdoppelt wird, wird ein bestimmter Platz hinzugefügt
1923 (dessen Breite durch @code{spacing-increment} bestimmt werden
1926 Das folgende Stück beispielsweise enthält Halbe, Viertel und Achtel.
1927 Die Achtelnote wird gefolgt von einem Notenkopfabstand (NKA). Die
1928 Viertel wird von 2 NKA gefolgt, die Halbe von 3 NKA usw.
1930 @lilypond[quote,fragment,verbatim,relative=1]
1931 c2 c4. c8 c4. c8 c4. c8 c8
1935 Normalerweise ist @code{spacing-increment} definiert als 1.2 mal
1936 der Abstand zwischen zwei Notenlinien, was in etwa die Breite eines
1937 Notenkopfes ist. @code{shortest-duration-space} ist definiert als
1938 2.0, was bedeutet, dass die kürzeste Note 2.4 Notenlinienabstände
1939 2.0 mal der Wert von @code{spacing-increment}) horizontalen
1940 Abstand erhält. Der Abstand wird von der linken Kante des Symbols
1941 errechnet, so dass die kürzeste Note üblicherweise von 1 NKA
1942 Abstand gefolgt wird.
1944 Wenn diese Herangehensweise konsequent angewandt würde, würde eine
1945 einzige Zweiunddreißigstel eine Partitur, in der vor allem Achtel und
1946 Sechzehntel vorkommen, sehr weit auseinanderdehnen. Die kürzeste
1947 Note wäre nun keine Sechzehntel mehr, sondern eine Zweiunddreißigstel,
1948 wodurch an jede Note der Wert von 1 NKA hinzugefügt würde. Um das
1949 zu vermeiden, ist die kürzeste Dauer für die Platzverteilung nicht die
1950 kürzeste Note einer Partitur, sondern die, die am häufigsten vorkommt.
1952 Die Notendauer, die am häufigsten vorkommt, wird auf folgende
1953 Weise bestimmt: in jedem Takt wird die kürzeste Note bestimmt. Die
1954 häufigste kürzeste Note wird dann als Grundlage für die Platzverteilung
1955 der Noten herangezogen, mit der Bedingung, dass diese kürzeste
1956 Note immer ein Achtel oder kürzer sein soll. Die kürzeste Dauer
1957 wird ausgegeben, wenn @code{lilypond} mit der Option @code{--verbose}
1960 Diese Dauern können aber auch angepasst werden. Wenn Sie die Eigenschaft
1961 @code{common-shortest-duration} in dem @code{SpacingSpanner} setzen,
1962 dann wird hiermit die Grunddauer für die Platzverteilung eingestellt.
1963 Die maximale Dauer für diesen Grundwert (normalerweise eine Achtel)
1964 wird definiert mit @code{base-shortest-duration}.
1966 @funindex common-shortest-duration
1967 @funindex base-shortest-duration
1968 @funindex stem-spacing-correction
1971 Noten, die noch kürzer sind als die häufigste kürzeste Note, werden
1972 durch einen Platz voneinander getrennt, der proportional zu ihrer
1973 Dauer in Beziehung zur häufigsten kürzesten Note ist. Wenn also
1974 nur ein paar Sechzehntel zu dem obigen Beispiel hinzugefügt werden,
1975 würden sie von 1/2 NKA gefolgt werden:
1977 @lilypond[quote,fragment,verbatim,relative=2]
1978 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
1981 In der Einleitung (siehe @rlearning{Notensatz}) wurde erklärt, dass die
1982 Richtung der Notenhälse die Platzverteilung beeinflusst. Das wird
1983 kontrolliert durch die @code{stem-spacing-correction}-Eigenschaft
1984 in dem @code{NoteSpacing}-Objekt. Dieses Objekt wird für jeden
1985 @code{Voice}-Kontext erstellt. Das @code{StaffSpacing}-Objekt (in
1986 einem @code{Staff}-Kontext erstellt) enthält die gleiche Eigenschaft,
1987 um die Verteilung von Hälsen neben Taktlinien zu kontrollieren. In
1988 dem folgenden Beispiel werden diese Einstellungen gezeigt, einmal
1989 mit den Standardwerten und dann mit größeren Werten, damit man sie
1992 @lilypond[quote,ragged-right]
1996 \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
1997 \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
2003 Proportionale Notation ist unterstützt, siehe @ref{Proportionale Notation}.
2009 Referenz der Interna:
2010 @rinternals{SpacingSpanner},
2011 @rinternals{NoteSpacing},
2012 @rinternals{StaffSpacing},
2013 @rinternals{NonMusicalPaperColumn}.
2017 Es gibt keine sinnvolle Möglichkeit, die horizontale Verteilung der
2018 Noten zu unterdrücken. Die folgende Problemumgehung, mit der
2019 dehnbare Abstände (padding) eingesetzt werden, kann benutzt
2020 werden, um zusätzlichen Platz in eine Partitur einzufügen.
2023 \once \override Score.SeparationItem #'padding = #10
2026 Es gibt derzeit keine Möglichkeit, den Platz zu verringern.
2029 @node Eine neuer Bereich mit anderen Abständen
2030 @subsection Eine neuer Bereich mit anderen Abständen
2031 @translationof New spacing area
2033 @cindex horizontale Notenabstände, Abschnitte definierten
2034 @cindex Notenabstände, Abschnitte definieren
2035 @cindex Abschnitte definieren, Notenabstände
2037 Neue Abschnitte mit unterschiedlichen Notenabstandsparametern
2038 können mit dem Befehl @code{newSpacingSection} begonnen werden.
2039 Das ist hilfreich, wenn in verschiedenen Abschnitten die
2040 Verhältnisse von kurzen und langen Noten sehr unterschiedlich
2043 Im folgenden Beispiel wird durch die neue Taktart ein neuer
2044 Abschnitt begonnen, in dem die Sechzehntel weiter außeinander
2045 gesetzt werden sollen.
2047 @lilypond[relative,fragment,verbatim,quote]
2050 c8 c c4 c16[ c c8] c4
2056 Der @code{\newSpacingSection}-Befehl erstellt ein neues
2057 @code{SpacingSpanner}-Objekt, weshalb auch neue Anpassungen
2058 mit dem @code{\override}-Befehl an dieser Stelle eingesetzt
2065 Referenz der Interna:
2066 @rinternals{SpacingSpanner}.
2069 @node Horizontale Abstände verändern
2070 @subsection Horizontale Abstände verändern
2071 @translationof Changing horizontal spacing
2073 @cindex Notenabstände, horizontal
2074 @cindex horizontale Abstände
2075 @cindex horizontale Notenabstände
2077 Die horizontalen Abstände können mit der
2078 @code{base-shortest-duration}-Eigenschaft
2079 verändert werden. In den folgenden Beispielen
2080 werden die gleichen Noten eingesetzt, zuerst
2081 ohne die Eigenschaft zu verändern, im zweiten
2082 Beispiel dann mit einem anderen Wert. Größere
2083 Werte für @code{ly:make-moment} ergeben dichtere
2084 Noten. @code{ly:make-moment} erstellt eine Dauer,
2085 die als Bruch notiert wird, sodass @code{1 4}
2086 eine größere Dauer ist als @code{1 16}.
2088 @lilypond[verbatim,line-width=12\cm]
2091 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2092 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2093 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2094 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2099 @lilypond[verbatim,line-width=12\cm]
2102 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2103 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2104 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2105 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2110 \override SpacingSpanner
2111 #'base-shortest-duration = #(ly:make-moment 1 16)
2120 Standardmäßig wird die Platzverteilung in Triolen und andern
2121 rhythmischen Aufteilungen nach verschiedenen nicht von der
2122 Dauer abgeleiteten Faktoren (wie Versetzungszeichen,
2123 Schlüsselwechseln usw.) berechnet. Um diese Symbole zu
2124 ignorieren und eine gleichmäßige Verteilung der Noten
2125 zu erzwingen, kann die gleichmäßige Dehnung (engl.
2126 uniform stretching) zu Beginn einer Partitur eingeschaltet
2129 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
2131 \override SpacingSpanner #'uniform-stretching = ##t
2148 Wenn @code{strict-note-spacing} eingestellt ist, werden Noten
2149 gesetzt, ohne dass Schlüssel, Taktlinie oder Verzierungsnoten
2150 zusätzlichen Platz erhalten.
2152 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
2153 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2154 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
2164 @subsection Zeilenlänge
2165 @translationof Line length
2167 @cindex Seitenumbrüche
2168 @cindex Umbrechen von Seiten
2170 @cindex Länge von Zeilen
2173 @funindex line-width
2174 @funindex ragged-right
2175 @funindex ragged-last
2177 @c Although line-width can be set in \layout, it should be set in paper
2178 @c block, to get page layout right.
2179 @c Setting indent in \paper block makes not much sense, but it works.
2181 @c Bit verbose and vague, use examples?
2182 Die grundlegenden Einstellungen, die Einfluss auf die Zeilenlänge
2183 haben, sind @code{indent} (Einzug) und @code{line-width}
2184 (Zeilenbreite). Sie werden in der @code{\layout}-Umgebung
2185 eingestellt. Der erste Befehl bestimmt den Einzug der ersten
2186 Zeile, der zweite die Zeilenlänge der weiteren Notenzeilen.
2188 Wenn @code{ragged-right} eingestellt ist (als in der
2189 @code{\layout}-Umgebung auf den Wert @code{#t} gesetzt wurde),
2190 werden die Systeme linksbündig gesetzt und nicht bis zum
2191 rechten Rand hin durchgezogen, sondern den Noten entsprechend
2192 gesetzt. Das ist oftmals nützlich für kleine Notenfragmente
2193 und um zu überprüfen, wie eng die Noten natürlicherweise
2194 gesetzt werden würden.
2196 Die Option @code{ragged-last} verhält sich ähnlich zu @code{ragged-right},
2197 aber wirkt sich nur auf die letzte Zeile eines Stückes aus.
2198 Für diese letzte Zeile gibt es keine Einschränkungen. Das
2199 Resultat erinnert an Textabsätze im Blocksatz, wo die letzte
2200 Zeile des Absatzes mit ihrer natürlichen Länge gesetzt wird.
2215 @node Proportionale Notation
2216 @subsection Proportionale Notation
2217 @translationof Proportional notation
2219 LilyPond hat Unterstützung für proportionale Notation. Dabei handelt
2220 es sich um eine horizontale Platzverteilung, die jeder Note einen
2221 exakt ihrer Dauer entsprechenden Platz zuordnet. Man kann es vergleichen
2222 mit der Notenplatzierung auf einem Raster. In einigen Partituren
2223 des späten 20. und frühen 21. Jahrhunderts wird dies proportionale
2224 Notation benutzt, um sehr komplizierte rhythmische Verhältnisse
2225 klarer darzustellen, oder um einen Zeitstrahl oder ähnliche Graphiken
2226 direkt in die Partitur zu integrieren.
2228 LilyPond hat Unterstützung für fünf verschiedene Einstellungen der
2229 proportionalen Notation, die alle zusammen oder jede für sich
2230 benutzt werden können:
2233 @item @code{proportionalNotationDuration} (proportionale Notendauer)
2234 @item @code{uniform-stretching} (gleichmäßige Dehnung)
2235 @item @code{strict-note-spacing} (strenge Notenverteilung)
2236 @item @code{\remove Separating_line_group_engraver} (entferne Liniengruppentrennungsengraver)
2237 @item @code{\override PaperColumn #'used = ##t} (PapierSpalte benutzt = wahr)
2240 In den Beispielen unten werden diese fünf unterschiedlichen Einstellungen
2241 für die proportionale Notation vorgestellt und ihre Wirkungen
2242 untereinander illustriert.
2244 Es soll mit diesem 1 Takt langen Beispiel begonnen werden, in welchem
2245 die klassischen Abstände und Flattersatz (ragged-right) eingesetzt werden:
2247 @lilypond[quote,verbatim,ragged-right]
2249 \new RhythmicStaff {
2253 c'16 c'16 c'16 c'16 c'16
2259 Die Halbe, mit der der Takt beginnt, braucht weitaus weniger
2260 Platz als die Hälfte des Taktes. Gleichermaßen haben die
2261 Sechzehntel und die Sechzehntel-Quintolen (oder Zwanzigstel),
2262 mit denen der Takt endet, insgesamt weitaus mehr als die Hälfte
2265 Im klassischen Notensatz kann dieses Verhalten genau das gewünschte
2266 Ergebnis bringen, weil dadurch horizontaler Platz von der Halben
2267 weggenommen werden kann und so insgesamt Platz in dem Takt eingespart
2270 Wenn allerdings ein Zeitstrahl oder andere zeitliche ablaufende
2271 Graphiken über oder unter dem Takt eingefügt werden soll, braucht man
2272 eine Notenplatzierung, die exakt der von ihnen eingenommenen Dauer
2273 entspricht. Auf folgende Art wird die proportionale Notation
2276 @lilypond[quote,verbatim,ragged-right]
2278 proportionalNotationDuration = #(ly:make-moment 1 20)
2280 \new RhythmicStaff {
2284 c'16 c'16 c'16 c'16 c'16
2290 Die Halbe zu Beginn des Taktes und die schnelleren Noten in der zweiten
2291 Takthälfte nehmen jetzt genau den gleichen horizontalen Platz ein. Jetzt
2292 könnte man einen Zeitstrahl mit dem Takt synchronisieren.
2294 Die Einstellung von @code{proportionalNotationDuration} gehört zum
2295 @code{Score}-Kontext. Kontexteinstellungen können an drei verschiedenen
2296 Stellen in der Quelldatei geschrieben werden: in einer @code{\with}-Umgebung,
2297 in einer @code{\context}-Umgebung oder direkt in den Noten mit dem
2298 @code{\set}-Befehl. Alle drei Positionen sind gleichwertig und es hängt
2299 vom Benutzer ab, welche bevorzugt wird.
2301 Die Eigenschaft @code{proportionalNotationDuration} braucht ein Argument,
2302 welches die Referenzdauer ist, anhand welcher alle Noten platziert werden.
2303 Hier wird die LilyPond Scheme-Funktion @code{make-moment} eingesetzt. Sie
2304 braucht zwei Argumente: einen Zähler und einen Nenner, die einen Bruch einer
2305 Ganzen darstellen. Die Funktion @code{#(ly:make-moment 1 20)} ergibt also
2306 eine Referenzdauer von einer Zwanzigstel. Genauso gut können etwa die Dauern
2307 @code{#(ly:make-moment 1 16)}, @code{#(ly:make-moment 1 8)} oder
2308 @code{#(ly:make-moment 3 97)} eingesetzt werden.
2310 Die richtige Referenzdauer, mit der eine vernünftige Verteilung der Noten
2311 proportional möglich ist, muss durch Ausprobieren herausgefunden werden.
2312 Dabei sollte man mit einer Dauer beginnen, die der kleinsten Note des
2313 Stückes nahekommt. Kleine Referenzdauern lassen die Noten sehr gedehnt
2314 erscheinen, größere Referenzdauern zwingen sie dichter zusammen.
2316 @lilypond[quote,verbatim,ragged-right]
2318 proportionalNotationDuration = #(ly:make-moment 1 8)
2320 \new RhythmicStaff {
2324 c'16 c'16 c'16 c'16 c'16
2330 proportionalNotationDuration = #(ly:make-moment 1 16)
2332 \new RhythmicStaff {
2336 c'16 c'16 c'16 c'16 c'16
2342 proportionalNotationDuration = #(ly:make-moment 1 32)
2344 \new RhythmicStaff {
2348 c'16 c'16 c'16 c'16 c'16
2354 Man muss beachten, dass die Referenzdauer nicht zu groß ist
2355 (wie die Achtel in dem Beispiel oben), denn dadurch werden
2356 die Noten so dicht gesetzt, dass sich eventuell sogar Notenköpfe
2357 von sehr kleinen Notenwerten überschneiden können. Die proportionale
2358 Notation nimmt üblicherweise mehr Platz ein als die klassische
2359 Platzverteilung. Der rhythmischen Klarheit muss ein eng gesetztes
2360 Notenbild geopfert werden.
2362 In Folgenden soll betrachtet werden, wie sich überlappende
2363 rhythmische Aufteilungen am besten positioniert werden. Als Referenz
2364 wird das erste Beispiel herangezogen, zu welchem ein zweites
2365 System mit anderen rhythmischen Werten hinzugefügt wird:
2367 @lilypond[quote,verbatim,ragged-right]
2369 \new RhythmicStaff {
2373 c'16 c'16 c'16 c'16 c'16
2376 \new RhythmicStaff {
2378 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2384 Die Platzaufteilung ist schlecht, weil die gleichlangen Noten des
2385 untersten Systems nicht gleichmäßig verteilt sind. Im klassischen
2386 Notensatz kommen komplexe rhythmische Verhältnisse wie dieses sehr
2387 selten vor, sodass der Notensatz nicht in Hinsicht auf sie optimiert
2388 ist. @code{proportionalNotationDuration} hilft in
2389 dieser Situation deutlich:
2391 @lilypond[quote,verbatim,ragged-right]
2393 proportionalNotationDuration = #(ly:make-moment 1 20)
2395 \new RhythmicStaff {
2399 c'16 c'16 c'16 c'16 c'16
2402 \new RhythmicStaff {
2404 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2410 Aber bei sehr genauer Betrachtung sind die Noten der zweiten Hälfte
2411 der Nonole doch immer noch eine Spur weiter gesetzt als die Noten
2412 der ersten Hälfte. Um wirklich gleichmäßige Abstände zu erzwingen,
2413 sollte auch noch die gleichmäßige Dehnung angeschaltet werden:
2415 @lilypond[quote,verbatim,ragged-right]
2417 proportionalNotationDuration = #(ly:make-moment 1 20)
2418 \override SpacingSpanner #'uniform-stretching = ##t
2420 \new RhythmicStaff {
2424 c'16 c'16 c'16 c'16 c'16
2427 \new RhythmicStaff {
2429 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2435 Das Beispiel mit den zwei Systemen ist nun exakt nach den
2436 rhythmischen Werten der Noten gesetzt, sodass ein Zeitstrahl
2437 oder ähnliches eingefügt werden könnte.
2439 Alle Einstellungen zur proportionalen Notation erwarten,
2440 dass die @code{uniform-stretching}-Eigenschaft des
2441 @code{SpacingSpanner}-Objekts auf wahr gesetzt wird. Andernfalls
2442 kann es vorkommen, dass bestimmte Abstände (etwa von
2443 unsichtbaren Noten) nicht richtig gesetzt werden.
2445 Das @code{SpacingSpanner}-Objekt ist ein abstraktes Grob, dass sich im
2446 @code{Score}-Kontext befindet. Genauso wie die Einstellungen
2447 von @code{proportionalNotationDuration} können auch diese
2448 Veränderungen an den drei Stellen in der Quelldatei vorkommen:
2449 in der @code{\with}-Umgebung innerhalb von @code{Score}, in
2450 einer @code{\context}-Umgebung oder direkt im Notentext.
2452 Standardmäßig gibt es nur ein @code{SpacingSpanner} pro @code{Score}.
2453 Das heißt, dass @code{uniform-stretching} für die gesamte Partitur
2454 (d.h. für die Reichweite von @code{Score}) entweder an- oder
2455 ausgeschaltet ist. Man kann allerdings in einer Partitur unterschiedliche
2456 Abschnitte mit verschiedenem Platzierungsverhalten definieren.
2457 Hierzu ist der Befehl @code{\newSpacingSection} da. Siehe auch @ref{Eine neuer Bereich mit anderen Abständen}.
2459 Im Folgenden soll gezeigt werden, wie sich der @code{Separating_line_group_engraver}
2460 auswirkt und warum er normalerweise für proportionale Notation ausgeschaltet wird.
2461 In diesem Beispiel wird verdeutlicht, dass vor jeder ersten Note eines Notensystems
2462 immer etwas zusätzlicher Platz gesetzt wird:
2464 @lilypond[quote,verbatim,ragged-right]
2476 Der gleiche horizontale Platz wird vor eine Noten gesetzt, wenn sie
2477 einer Taktart, einem Schlüssel oder einer Tonartbezeichnung folgt.
2478 Dieser Platz wird durch @code{Separating_line_group_engraver}
2479 eingefügt; wenn wir ihn aus der Partitur entfernen, entfällt
2480 auch dieser zusätzliche Platz:
2482 @lilypond[quote,verbatim,ragged-right]
2488 \remove Separating_line_group_engraver
2496 Nichtmusikalische Elemente wie Takt- und Tonartangaben, Schlüssel und
2497 Versetzungszeichen sind problematisch in proportionaler
2498 Notation. Keine dieser Elemente hat eine rhythmische Dauer, aber
2499 alle brauchen horizontalen Platz. Das Problem wird auf unterschiedliche
2502 Es ist manchmal möglich, Probleme mit Tonarten zu lösen, indem keine
2503 benutzt werden. Das ist durchaus eine ernstzunehmende Option, weil
2504 die meisten Partituren mit proportionaler Notation für heutige
2505 Musik geschrieben werden. Ähnliches gilt für Taktarten, insbesondere,
2506 wenn ein Zeitstrahl in die Partitur eingearbeitet werden soll.
2507 In den meisten Partituren kommt jedoch irgendeine Taktart vor.
2508 Schlüssel und Versetzungszeichen sind noch wichtiger; auf
2509 sie kann selten verzichtet werden.
2511 Eine Lösungsmöglichkeit ist es, die @code{strict-note-spacing}-Eigenschaft
2512 des @code{SpacingSpanner}-Objekts zu benutzen. Zum Vergleich
2513 die beiden Partituren unten:
2515 @lilypond[quote,verbatim,ragged-right]
2517 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
2527 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
2528 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2538 Bei beiden handelt es sich um proportionale Notation, aber
2539 die Platzverteilung im oberen Beispiel ist zu weit wegen
2540 des Schlüsselwechsels. Die Platzverteilung des zweiten
2541 Beispiels dagegen bleibt rhythmisch korrekt.
2542 @code{strict-note-spacing} bewirkt, dass Takt- und
2543 Tonartbezeichnungen, Schlüssel und Versetzungszeichen
2544 keine Rolle bei der Berechnung der Abstände spielen.
2546 Zusätzlich zu den hier vorgestellten Einstellungen gibt es
2547 noch eine Reihe von Möglichkeiten, die oft in proportionaler
2548 Notation benutzt werden. Dazu gehören:
2551 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
2552 @item @code{tupletFullLength = ##t}
2553 @item @code{\override Beam #'breakable = ##t}
2554 @item @code{\override Glissando #'breakable = ##t}
2555 @item @code{\override TextSpanner #'breakable = ##t}
2556 @item @code{\remove Forbid_line_break_engraver in the Voice context}
2559 Diese Einstellungen bewirken, dass auch Verzierungsnoten proportional
2560 gesetzt werden, dass Klammern von rhythmischen Gruppen bis zu den
2561 Anfangs- und Endpunkten ausgedehnt werden und lassen dehnbare
2562 Objekte wie Balken und Glissandi auch über Taktstriche hinweg zu.
2566 @ref{Eine neuer Bereich mit anderen Abständen}.
2572 @node Die Musik auf weniger Seiten zwingen
2573 @section Die Musik auf weniger Seiten zwingen
2574 @translationof Fitting music onto fewer pages
2576 Manchmal kommt es vor, dass nur ein oder zwei Systeme auf die
2577 nächste Seite geraten, obwohl es so aussieht, als ob auf der
2578 vorigen Seite genügend Platz ist, um diese Systeme auch noch
2581 Wenn man derartige Platzierungsprobleme untersucht, ist die
2582 Funktion @code{annotate-spacing} von sehr großer Hilfe. Hiermit
2583 wird in den Musiksatz zusätzlich Information darüber ausgegeben,
2584 wieviel Platz bestimmten Parametern zugewiesen wird. Genaueres
2586 @ref{Abstände anzeigen lassen}.
2589 * Abstände anzeigen lassen::
2590 * Abstände verändern::
2594 @node Abstände anzeigen lassen
2595 @subsection Abstände anzeigen lassen
2596 @translationof Displaying spacing
2598 @cindex Platzierung, Layouteinstellungen
2600 @funindex annotate-spacing
2602 Die Dimensionen von vertikalen und horizontalen Platzierungsvariablen,
2603 die veränderbar sind, lassen sich mit ihren aktuellen Werten im
2604 Notentext anzeigen, wenn man die Funktion
2605 @code{annotate-spacing} in der @code{\paper}-Umgebung einschaltet:
2607 @c need to have \book{} otherwise we get the separate systems. -hwn
2608 @lilypond[verbatim,quote]
2609 #(set-default-paper-size "a6" 'landscape)
2612 \paper { annotate-spacing = ##t }
2617 Alle Layoutdimensionen werden in Notenlinienzwischenräumen
2618 aufgelistet, unabhängig von den Einheiten, mit denen sie in der
2619 @code{\paper}- oder @code{\layout}-Umgebung definiert worden
2620 sind. In dem letzten Beispiel hat @code{paper-height} einen Wert von
2621 59.75 Notenlinienzwischenräumen und @code{staff-size}
2622 Systemhöhe) ist 20 Punkte. Dabei gilt:
2624 @multitable {1 Notenlinienzwischenraum} {Systemgröße)/4 * (25.4/72.27) mm}
2627 @tab = (25.4/72.27) mm
2629 @item 1 Notenlinienzwischenraum
2630 @tab = (@code{staff-size})/4 pts
2632 @tab = (@code{staff-size})/4 * (25.4/72.27) mm
2636 In diesem Fall ist ein @code{staff-space} (Notenlinienzwischenraum)
2637 etwa gleich 1.757 mm. Deshalb entspricht der Wert von 95.75
2638 @code{staff-space} für @code{paper-height} (Papierhöhe) 105 mm,
2639 die Höhe eines quer gelegten A6-Papiers. Die Paare (@var{a},@var{b}) sind
2640 Intervalle, wobei @var{a} der untere Rand und @var{b} der
2641 obere Rand des Intervalls.
2646 @ref{Die Notensystemgröße einstellen}
2652 @node Abstände verändern
2653 @subsection Abstände verändern
2654 @translationof Changing spacing
2656 Die Ausgabe von @code{annotate-spacing} bietet sehr viele
2657 Details zu den vertikalen Dimensionen einer Partitur. Zu Information,
2658 wie Seitenränder und andere Layout-Variablen geändert werden
2659 können, siehe @ref{Seitenformatierung}.
2661 Neben Rändern gibt es einige weitere Optionen, Platz zu sparen:
2665 LilyPond kann die Systeme so dicht wie möglich platzieren (damit
2666 so viele Systeme wie möglich auf eine Seite passen), aber sie
2667 dann so anordnen, dass kein weißer Rand unten auf der Seite entsteht.
2671 between-system-padding = #0.1
2672 between-system-space = #0.1
2673 ragged-last-bottom = ##f
2679 Die Anzahl der Systeme kann reduziert werden. Das kann auf
2680 zwei Arten helfen: wenn einfach nur ein Wert gesetzt wird, auch
2681 wenn es die gleiche Anzahl ist, die auch schon vorher von LilyPond
2682 erstellt wurde, kann manchmal dazu führen, dass mehr Systeme
2683 auf eine Seite gesetzt werden. Das liegt daran, dass ein
2684 Schritt im Notensatz ausgelassen wird, der die Seitenverteilung
2685 nur grob einschätzt, sodass eine bessere Seitenverteilung
2686 entsteht. Auch wenn man eine Verringerung der Anzahl an Systemen
2687 erzwingt, kann oft eine Seite eingespart werden. Wenn LilyPond
2688 die Musik etwa auf 11 Systeme verteilt, kann man die Benutzung von
2689 nur 10 Systemen erzwingen.
2698 Vermeidung von Objekten, die den vertikalen Abstand von Systemen
2699 vergrößern, hilft oft. Die Verwendung von Klammern bei Wiederholungen
2700 etwa braucht mehr Platz. Wenn die Noten innerhalb der Klammern auf
2701 zwei Systeme verteilt sind, brauchen sie mehr Platz, als wenn sie
2702 nur auf einer Zeile gedruckt werden.
2704 Ein anderes Beispiel ist es, Dynamik-Zeichen, die besonders
2705 weit @qq{hervorstehen}, zu verschieben.
2707 @lilypond[verbatim,quote]
2710 \override DynamicText #'extra-offset = #'( -2.2 . 2.0)
2716 Die horizontalen Abstände können mit der
2717 @code{SpacingSpanner}-Eigenschaft verändert werden. Siehe
2718 @ref{Horizontale Abstände verändern} für Einzelheiten. Dieses
2719 Beispiel zeigt die normalen Abstände:
2721 @lilypond[verbatim,quote]
2734 Das nächste Beispiel verändert @code{common-shortest-duration} (die
2735 häufigste kürzeste Note) von @code{1/4} zu @code{1/2}. Die Viertelnote
2736 ist dennoch die häufigste Note in diesem Abschnitt, sodass der
2737 Notentext zusammengedrängt, wird, wenn eine Halbe als Standard
2740 @lilypond[verbatim,quote]
2752 \override SpacingSpanner
2753 #'common-shortest-duration = #(ly:make-moment 1 2)
2760 Die @code{common-shortest-duration}-Eigenschaft kann nicht
2761 dynamisch verändert werden, darum muss sie immer in der
2762 @code{\context}-Umgebung definiert werden und wirkt sich somit
2763 auf eine ganze @code{\score}-Umgebung aus.
2769 @ref{Seitenformatierung},
2770 @ref{Horizontale Abstände verändern}.