1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
4 Translation of GIT committish: d96023d8792c8af202c7cb8508010c0d3648899d
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. See TRANSLATION for details.
15 @translationof Spacing issues
17 Das finale Layout der Seite wird von drei Faktoren bestimmt: dem Layout
18 der Seite, den Zeilenumbrüchen und der Platzverteilung. Jeder Faktor
19 beeinflusst auch die anderen mit. Die Wahl der Platzverteilung
20 entscheidet, wie eng die Notensysteme gesetzt werden. Das wiederum
21 hat Einfluss auf die gewählten Zeilenumbrüche und letztendlich also
22 auch darauf, wieviele Seiten ein Stück beansprucht.
24 Die Verteilung der Musik auf der Seite geschieht grob gesagt in
25 vier Schritten. Zuerst werden flexible Entfernungen (@qq{springs})
26 gewählt, die auf den Notendauern basieren. Alle möglichen
27 Zeilenumbrüche werden getestet und ein @qq{Schlechtigkeitsscore}
28 für die Umbrüche erstellt. Danach wird die mögliche Höhe eines Systems
29 ermittelt und schließlich wird eine bestimmte Kombination aus
30 Seiten- und Zeilenumbruch ausgewählt, sodass weder die horizontale
31 noch die vertikale Platzverteilung zu eng oder zu weit gesetzt wird.
33 Einstellungen, die das Layout beeinflussen, können in zwei Umgebungen
34 gesetzt werden: Die @code{\paper @{...@}}-Umgebung wird außerhalb einer
35 @code{\score @{...@}}-Umgebung geschrieben und enthält Einstellungen,
36 die für das gesamte Dokument gelten. Die @code{\layout @{...@}}-Umgebung
37 wird innerhalb von einer @code{\score @{...@}}-Umgebung notiert und
38 enthält die Einstellungen für eine bestimmte Partitur. Wenn Sie
39 nur eine @code{\score @{...@}}-Umgebung in der Datei haben, haben
40 beide Umgebungen den gleichen Effekt. Die Befehle, die in diesem Abschnitt
41 erklärt werden, können in beiden Umgebungen nach Bedarf gesetzt werden.
47 * Vertikale Abstände::
48 * Horizontale Abstände::
49 * Die Musik auf weniger Seiten zwingen::
53 @node Papier und Seiten
54 @section Papier und Seiten
55 @translationof Paper and pages
57 Dieser Abschnitt behandelt die Grenzen, die Notationsgebiete
62 * Seitenformatierung::
67 @subsection Papierformat
68 @translationof Paper size
75 Zwei Funktionen ermöglichen es, die Papiergröße zu ändern:
76 @code{set-default-paper-size} und @code{set-paper-size}.
77 @code{set-default-paper-size} muss auf der obersten Ebene in
78 der Quelldatei gesetzt werden, @code{set-paper-size} hingegegen
79 muss sich in einer @code{\paper}-Umgebung befinden:
82 #(set-default-paper-size "a4")
87 #(set-paper-size "a4")
92 @code{set-default-paper-size} bestimmt die Größe aller Seiten, während
93 @code{set-paper-size} nur die Seitengröße für die Seiten definiert,
94 auf die sich die aktuelle @code{\paper}-Umgebung bezieht. Wenn die
95 @code{\paper}-Umgebung auf der höchsten Ebene steht, bezieht sich die
96 Papiergröße auf alle Seiten, wenn sie aber innerhalb einer
97 @code{\book}-Umgebung definiert wird, nur auf die Seiten innerhalb
100 Die normalen Papierformate sind definiert, u.A. @code{a4},
101 @code{letter}, @code{legal} und @code{11x17} (auch als
102 Tabloit bekannt). Sehr viel mehr Formate sind unterstützt.
103 Einzelheiten finden sich in der Datei
104 @file{scm/@/paper@/.scm} in der Definition von
107 @warning{Das Standardformat ist @code{a4}.}
109 Weitere Papierformate können hinzugefügt werden, indem die
110 Definition von @code{paper-alist} in der Datei
111 @file{scm/@/paper@/.scm} verändert wird. Derartige
112 Änderungen werden jedoch bei einer Aktualisierung des
113 Programmes überschrieben.
115 @cindex Ausrichtung, Papier
116 @cindex Papier, Ausrichtung
117 @cindex hochkant, Papier
122 Wenn das Symbol @code{'landscape} als Argument an die Funktion
123 @code{set-default-paper-size}gehänt wird, werden die Seiten um
124 90° gedreht und die Notensysteme entsprechend breiter gesetzt.
127 #(set-default-paper-size "a6" 'landscape)
130 Wenn man die Seitengröße setzt, werden einige Variablen der
131 @code{\paper}-Umgebung verändert, wie etwa Seitenränder. Um
132 eine bestimmte Papiergröße mit veränderten @code{\paper}-Variablen
133 zubenuttzen, muss die Papiergröße definiert werden, bevor diese
134 Variablen neu gesetzt werden.
138 Installierte Dateien:
139 @file{scm/@/paper@/.scm}.
145 @node Seitenformatierung
146 @subsection Seitenformatierung
147 @translationof Page formatting
149 Ränder, Kopf- und Fußzeilen und andere Layoutvariablen werden
150 entsprechend dem Papierformat automatisch gesetzt.
152 Dieser Abschnitt zeigt einige der Papiervariablen, die geändert
156 * Vertikale Dimensionen::
157 * Horizontale Dimensionen::
158 * Weitere Layout-Variablen::
162 @node Vertikale Dimensionen
163 @unnumberedsubsubsec Vertikale Dimensionen
164 @translationof Vertical dimensions
166 Diese Variablen werden benutzt um andere vertikale Verhältnisse
167 auf einer Seite zu produzieren:
170 @funindex after-title-space
171 @funindex before-title-space
172 @funindex between-system-padding
173 @funindex between-system-space
174 @funindex between-title-space
175 @funindex bottom-margin
176 @funindex foot-separation
177 @funindex head-separation
178 @funindex page-top-space
179 @funindex paper-height
184 @item after-title-space
186 Die Größe des Abstands zwischen der Überschrift und dem ersten
187 Notensystem. Standard: @code{5\mm}.
189 @item before-title-space
191 Die Größe des Abstands zwischen dem letzten Notensystem einer
192 Partitur und dem Titel der nächsten Partitur. Standard: @code{10\mm}.
194 @item between-system-padding
196 Der Mindestabstand zwischen dem untersten Symbol in einem Notensystem
197 und dem obersten Symbol im sich darunter befindlichen System.
198 Standard: @code{4\mm}.
200 Wenn dieser Wert erhöht wird, werden Systeme, deren @qq{bounding box}
201 sich beinahe berühren, weiter auseinander gezogen.
203 @item between-system-space
205 Der Abstand zwischen Systemen. Das ist der ideale Abstand zwischen
206 der Mitte des eines Systems (bzw. des untersten Systems einer Systemgruppe)
207 und der Mitte des nächsten Systems (bzw. des obersten System der
208 nächsten Systemgruppe). Standard: @code{20\mm}.
210 Wenn dieser Wert erhöhrt wird, erscheinen die Noten auf der Seite gleichmäßiger,
211 wobei sie aber auch mehr Platz einnehmen.
213 @item between-title-space
215 Der Abstand zwischen aufeinanderfolgenden Überschriften (etwa die
216 Überschrift für ein @code{book} und die Überschrift einer Partitur.
217 Standard: @code{2\mm}.
221 Der Rand zwischen der Fußzeile und dem unteren Rand der Seite.
222 Standard: @code{6\mm}.
224 @item foot-separation
226 Der Abstand zwischen dem untersten Notensystem und der Fußzeile.
227 Standard: @code{4\mm}.
229 @item head-separation
231 Der Abstand zwischen dem obersten System und der Kopfzeile. Standard:
236 Der Abstand von der Oberkante des druckbaren Bereichs bis zur
237 Mitte des ersten Notensystems. Das funktioniert nur für Systeme,
238 die nicht vertikal ausgedehnt sind. Hohe Systeme bzw. Systemgruppen
239 werden mit ihrer @qq{bounding box} an der Oberkante des
240 druckbaren Bereichs ausgerichtet. Standard: @code{12\mm}.
244 Die Höhe der Seite. Standard: Die Höhe des aktuellen Papierformats.
245 Zu Einzelheiten siehe @ref{Papierformat}.
249 Der Rand zwischen der Kopfzeile und dem oberen Rand der Seite. Standard:
257 Kopf- und Fußzeile werden von den Funktionen @code{make-footer} und
258 @code{make-header} erstellt, welche in der @code{\paper}-Umgebung definiert
259 werden. Die Standardeinstellungen sind in den Dateien
260 @file{ly/paper-defaults.ly} und @code{ly/titling-init.ly} dargestellt.
262 Das Seitenlayout wird durch zwei Funktionen der @code{\paper}-Umgebung
263 bestimmt: @code{page-music-height} und @code{page-make-stencil}. Die erste
264 teilt dem Zeilenumbruchsalgorithmus mit, wieviel Platz auf einer Seite
265 belegt werden kann, die zweite hingegegen erstellt die konkrete Seite,
266 nachdem sie die Systeme entgegengenommen hat, die auf der Seite platziert
276 ragged-last-bottom = ##t
280 Das nächste Beispiel zentriert Seitenzahlen unten auf jeder Seite:
284 print-page-number = ##t
285 print-first-page-number = ##t
286 oddHeaderMarkup = \markup \fill-line @{ " " @}
287 evenHeaderMarkup = \markup \fill-line @{ " " @}
288 oddFooterMarkup = \markup @{ \fill-line @{
289 \bold \fontsize #3 \on-the-fly #print-page-number-check-first
290 \fromproperty #'page:page-number-string @} @}
291 evenFooterMarkup = \markup @{ \fill-line @{
292 \bold \fontsize #3 \on-the-fly #print-page-number-check-first
293 \fromproperty #'page:page-number-string @} @}
297 Werte der @code{\paper}-Umgebung können in Scheme definiert werden. In diesem
298 Fall sind @code{mm}, @code{in}, @code{pt} und @code{cm} Variablen,
299 die in der Datei @file{paper-defaults.ly} mit Millimeter-Werten definiert
300 sind. Darum muss der Wert 2 cm in dem Beispiel unten multilpliziert werden
305 #(define bottom-margin (* 2 cm))
311 @ref{Vertikale Abstände zwischen Systemen}.
317 @node Horizontale Dimensionen
318 @unnumberedsubsubsec Horizontale Dimensionen
319 @translationof Horizontal dimensions
321 @funindex horizontal-shift
323 @funindex left-margin
325 @funindex paper-width
326 @funindex short-indent
328 @warning{Wenn @code{paper-width} manuell gesetzt wird, müssen
329 möglicherweise auch die Werte von @code{line-width},
330 @code{left-margin}, @code{indent} und @code{short-indent} angepasst
333 Es gibt einige Variablen, die die horizontalen Dimensionen der Seite
338 @item horizontal-shift
340 Der Wert, um den alle Systeme (und auch Überschriften und Systemtrenner)
341 nach rechts verschoben werden. Standard: @code{0.0}.
345 Der Einzug für das erste System einer Partitur. Standard:
346 @code{paper-width} geteilt durch @code{14}, definiert in
347 @code{set-default-paper-size} bzw. @code{set-paper-size}.
351 Der Rand zwischen dem linken Rand der Seite und dem Anfang der Notensysteme.
352 Standard: @code{10\mm}, definiert in
353 @code{set-default-paper-size} oder @code{set-paper-size}.
357 Die Breite der Notensystems. Standard: @code{paper-width} minus
358 @code{20\mm}, dfiniert in @code{set-default-paper-size} bzw.
359 @code{set-paper-size}.
363 Die Breite der Seite. Standard: Die Breite des aktuellen
364 Papierformats. Zu Einzelheiten siehe @ref{Papierformat}.
368 Der Einzug für alle Systeme einer Partitur ausschließlich das
369 erste System. Standard: @code{0}, dfiniert in
370 @code{set-default-paper-size} bzw. @code{set-paper-size}.
382 Die Option @code{right-margin} ist definiert, bestimmt aber nicht den
383 rechten Rand der Seite. Der Wert für den rechten Rand ergibt sich
384 aus den Werten des linken Randes (@code{left-margin}) und der Zeilenbreite
388 @node Weitere Layout-Variablen
389 @unnumberedsubsubsec Weitere Layout-Variablen
390 @translationof Other layout variables
392 Diese Variablen können verwendet werden, um das allgemeine Layout der Seite
395 @funindex auto-first-page-number
396 @funindex blank-last-page-force
397 @funindex blank-page-force
398 @funindex first-page-number
399 @funindex page-breaking-between-system-padding
401 @funindex page-limit-inter-system-space
402 @funindex page-limit-inter-system-space-factor
403 @funindex page-spacing-weight
404 @funindex print-all-headers
405 @funindex print-first-page-number
406 @funindex print-page-number
407 @funindex ragged-bottom
408 @funindex ragged-last
409 @funindex ragged-last-bottom
410 @funindex ragged-right
411 @funindex system-separator-markup
412 @funindex system-count
416 @item auto-first-page-number
418 Der Seitenumbruchsalgorithmus wird davon beeinflusst, ob die erste
419 Seitenzahl gerade oder ungerade ist. Wenn die Variable auf wahr
420 gesetzt wird, entscheidet der Seitenumbruchsalgorithmus selber,
421 ob die Noten auf einer geraden oder ungeraden Seite beginnen sollen.
422 Das hat dann zur Folge, dass die erste Seite entweder bleibt wie
423 sie ist oder um eins erhöht wird. Standard: @code{##f}.
427 FIXME: this variable is used, but I don't know what it does. -pm
428 @item blank-after-score-page-force
429 @funindex blank-after-score-page-force
435 @item blank-last-page-force
437 Die Strafpunkte, wenn eine Partitur auf einer ungeraden Seite
438 beendet wird. Stadnard: @code{0}.
440 @item blank-page-force
442 Die Strafpunkte, wenn eine leere Seite mitten in einer Partitur
443 auftritt. Das wird nicht benutzt von @code{ly:optimal-breaking},
444 weil hiermit niemals leere Seiten mitten in einer Partitur zugelassen
445 werden. Standard: @code{5}.
447 @item first-page-number
449 Der Wert der Seitenzahl auf der ersten Seite. Standard: @code{#1}.
451 @item max-systems-per-page
453 Die maximale Anzahl an Notensystemen, die auf einer Seite gesetzt werden. Das
454 wird zur Zeit nur von dem @code{ly:optimal-breaking}-Alghoritmus
455 unterstützt. Standard: nicht gesetzt.
457 @item min-systems-per-page
459 Die minimale Anzahl an Notensystemen, die auf einer Seite gesetzt werden. Das
460 kann dazu führen, dass Seiten zu dicht gefüllt werden, wenn der Wert
461 zu groß gewählt wird. Die Option ist zur Zeit nur von dem
462 @code{ly:optimal-breaking}-Alghoritmus unterstützt. Standard: nicht gesetzt.
464 @item page-breaking-between-system-padding
466 Überlistet die Seitenumbruchfunktion, indem ihr ein anderer Wert
467 für @code{between-system-padding} mitgeteilt wird, als in Wirklichkeit
468 eingestellt ist. Wenn diese Variable beispielsweise auf einen
469 deutlich größeren Wert als @code{between-system-padding} gesetzt
470 wird, setzt die Seitenumbruchsfunktion weniger Systeme auf eine
471 Seite. Standard: nicht gesetzt.
475 Die Zahl der Seiten, die für eine Partitur benutzt werden sollen.
476 Standard: nicht gesetzt.
478 @item page-limit-inter-system-space
480 Wenn wahr, wird Platz zwischen Systemen eingeschränkt, wenn viel
481 Platz auf der Seite ist. Standard: @code{##f}. Einzelheiten siehe
482 @ref{Vertikale Abstände zwischen Systemen}.
484 @item page-limit-inter-system-space-factor
486 Der Faktor, der von @code{page-limit-inter-system-space} verwendet
487 wird. Standard: @code{1.4}. Einzelheiten siehe
488 @ref{Vertikale Abstände zwischen Systemen}.
490 @item page-spacing-weight
492 Die relative Gewichtung von (vertikalem) Abstand auf der Seite und
493 (horizontalem) Abstand innerhalb der Zeilen. Hohe Werte gewichten
494 die vertikalen Abstände mehr. Standard: @code{#10}.
496 @item print-all-headers
498 Wenn wahr, werden alle Einträge des Titelfeldes (@code{\header}-Umgebung)
499 für jede Partitur ausgegeben. Normalerweise wird nur die
500 Satzbezeichnung und die Opuszahl (@code{piece} und @code{opus})
501 ausgegeben. Standard: @code{##f}.
503 @item print-first-page-number
505 Wenn wahr, wird auch auf der ersten Seite die Seitenzahl ausgegeben.
506 Standard: @code{##f}.
508 @item print-page-number
510 Wenn falsch, werden Seitenzahlen nicht ausgegeben. Standard:
515 Wenn wahr, werden die Systeme nicht gleichmäßig über die Seite
516 verteilt sondern am oberen Seitenrand beginnend eng angeordnet.
517 Das wirkt sich nicht auf die letzte Seite aus. Standard: @code{##f}.
519 Die Variable sollte auf wahr gesetzt werden für Stücke, die nur
520 zwei oder drei Systeme pro Seite haben, wie etwa Orchesterpartituren.
524 Wenn wahr, wird die letzte Notenzeile einer Partitur nicht bis
525 zum Zeilenende durchgezogen, sondern entsprechend mit Noten
526 gefüllt und dann abgebrochen. Standard: @code{##f}.
528 @item ragged-last-bottom
530 Wenn falsch, werden Systeme gleichmäßig über die letzte Seite
531 verteilt. Standard: @code{##t}.
533 Stücke, die zwei oder mehr Seiten gut füllen, sollten die Option auf wahr
536 Sie wirkt sich auch auf die letzte Seite von Buchteilen aus, d.h.
537 Teilen eines Buches, die mit der @code{\bookpart}-Umgebung erstellt werden.
541 Wenn wahr, werden Systeme nicht im Blocksatz gesetzt, sondern erhalten
542 nur ihre normale Breite. Standard: @code{##f}.
544 Wenn eine Partitur nur ein System hat, ist der Standardwert @code{##t}.
546 @item system-separator-markup
548 Ein Beschriftungsobjekt, das zwischen zwei Systeme gesetzt wird. Das
549 wird oft in Orchesterpartituren eingesetzt. Standard: nicht gesetzt.
551 Der Beschriftungsbefehl @code{\slashSeparator} kann für einen Trenner
552 benutzt werden, etwa so:
554 @lilypond[quote,ragged-right]
555 #(set-default-paper-size "a6" 'landscape)
558 \relative { c1 \break c1 }
561 system-separator-markup = \slashSeparator
568 Die Anzahl der Systeme, auf denen eine Partitur gesetzt werden soll.
569 Standard: nicht gesetzt.
571 @item systems-per-page
572 @funindex systems-per-page
574 Die Anzahl an Systemen, die auf jede Seite gesetzt werden sollen.
575 Diese Option wird zur Zeit nur von dem @code{ly:optimal-breaking}-Alghoritmus
576 unterstützt. Standard: nicht gesetzt.
588 Die Standard-Kopfzeilendefinition setzt die Seitenzahl und das
589 @code{instrument}-Feld aus der @code{\header}-Umgebung in eine
592 Die Überschriften (aus der @code{\header}-Umgebung) werden als
593 ein System interpretiert, sodass @code{ragged-bottom} und
594 @code{ragged-last-bottom} Platz zwischen die Überschrift und
595 das erste System der Partitur setzen.
600 @translationof Music layout
603 * Die Notensystemgröße einstellen::
608 @node Die Notensystemgröße einstellen
609 @subsection Die Notensystemgröße einstellen
610 @translationof Setting the staff size
612 @cindex Schriftgröße, Einstellung
613 @cindex Systemgröße, Einstellung
614 @cindex Verändern der Schriftgröße
615 @cindex Verändern der Systemgröße
616 @funindex layout file
618 Die Standardgröße der Notensysteme beträgt 20 Punkte (pt).
619 Das kann auf zwei Arten geändert werden:
621 Um die Systemgröße global für alle Partituren einer
622 Datei (bzw. einer @code{\book}-Umgebung) zu verändern,
623 geht man wie folgt vor:
626 #(set-global-staff-size 14)
630 Hiermit wird die Standardhöhe der Notensysteme auf 14 pt
631 gesetzt. Die Schriftarten werden entsprechend verkleinert.
633 Um die Systemhöhe für jede Partitur einzeln zu verändern,
640 #(layout-set-staff-size 15)
648 Die Feta-Schriftart stellt die Noten- und Musiksymbole
649 für acht verschiedene Größen zur Verfügung. Jede
650 Schriftgröße ist einer bestimmten Systemgröße angepasst:
651 für kleinere Schriftgrößen werden die Zeichen etwas
652 schwerer, um mit den ebenfalls dickeren Notenlinien
653 zu harmonieren. Die empfohlenen Notensystemgrößen
654 sind in der Tabelle aufgeführt:
657 @multitable @columnfractions .15 .2 .22 .2
659 @item @b{Schriftbezeichnung}
660 @tab @b{Höhe des Systems (pt)}
661 @tab @b{Höhe des Systems (mm)}
667 @tab Taschenparituren
692 @tab Orchesterstimmen
703 @c modern rental material?
708 Diese Schriftarten sind in allen Größen erhältlich. Die Kontext-Eigenschaft
709 @code{fontSize} und die Layout-Eigenschaft @code{staff-space} (in
710 @code{StaffSymbol}) können benutzt werden, um die Schriftgröße für
711 einzelne Systeme zu verändern. Die Größe von einzelnen Systemen
712 ist relativ zur globalen Systemgröße.
717 @ref{Auswahl der Notations-Schriftgröße}.
725 @code{layout-set-staff-size} verändert nicht den Abstand zwischen den
730 @subsection Partiturlayout
731 @translationof Score layout
733 @cindex Partitur, Layout
734 @cindex Layout, Partitur
738 Während die @code{\paper}-Umgebung Einstellungen für die Formatierung
739 der Seiten eines gesamten Dokuments enthalten, enthält die
740 @code{\layout}-Umgebung Einstellungen für einzelne Parituren.
746 \override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6)
749 \override TextScript #'padding = #1.0
750 \override Glissando #'thickness = #3
757 @ref{Die Standardeinstellungen von Kontexten ändern}.
765 @translationof Breaks
770 * Optimale Seitenumbrüche::
771 * Optimale Umbrüche zum Blättern::
772 * Minimale Seitenumbrüche::
773 * Ausdrückliche Umbrüche::
774 * Eine zusätzliche Stimme für Umbrüche benutzen::
779 @subsection Zeilenumbrüche
780 @translationof Line breaking
782 @cindex Zeilenumbrüche
783 @cindex Umbrüche von Zeilen
785 Zeilenumbrüche werden normalerweise automatisch erstellt. Sie
786 werden so ausgewählt, dass die Zeilen weder gedrängt nocht zu
787 weit gespreizt wirken und aufeinander folgende Seiten einen
788 ähnlichen Grauwert haben. In seltenen Fällen kann es jedoch
789 nötig sein, manuell Zeilenumbrüche einzufügen. Das geschieht
790 mit dem Befehl @code{\break}. Hiermit wird direkt nach dem Befehl
791 ein Zeilenumbruch erzwungen. Zeilenumbrüche können jedoch nur
792 am Ende von @qq{vollständigen} Takten stattfinden. Damit sind
793 Takte gemeint, in welchen alle Noten mit der letzten Taktzeit
794 komplett abgeschlossen sind und nicht über das Taktende hinausragen.
795 Wenn Sie einen Zeilenumbruch an einer Stelle benötigen, an der
796 keine Taktlinie vorliegt, können Sie mit @code{\bar ""} eine
797 unsichtbare Taktlinie hinzufügen, die dann den Zeilenumbruch
798 erlaubt. Wiederum gilt, dass keine Noten überstehen dürfen,
799 sonst wird diese unsichtbare Taktlinie ignoriert.
801 Mit dem Befehl @code{\noBreak} wird ein Zeilenumbruch an dem
802 entsprechenden Taktstrich verboten.
804 Die grundlegenden Einstellungen, die Einfluss auf die Zeilenlänge
805 haben, sind @code{indent} (Einzug) und @code{line-width}
806 (Zeilenbreite). Sie werden in der @code{\layout}-Umgebung
807 einestellt. Der erste Befehl bestimmt den Einzug der ersten
808 Zeile, der zweite die Zeilenlänge der weiteren Notenzeilen.
810 Wenn @code{ragged-right} eingestellt ist (als in der
811 @code{\layout}-Umgebung auf den Wert @code{#t} gesetzt wurde),
812 werden die Systeme linksbündig gesetzt und nicht bis zum
813 rechten Rand hin durchgezogen, sondern den Noten entsprechend
814 gesetzt. Das ist oftmals nützlich für kleine Notenfragmente
815 und um zu überprüfen, wie eng die Noten natürlicherweise
816 gesetzt werden würden.
818 Die Option @code{ragged-last} verhält sich ähnlich zu @code{ragged-right},
819 aber wirkt sich nur auf die letzte Zeile eines Stückes aus.
829 @cindex regelmäßige Zeilenumbrüche
830 @cindex Zeilenumbrüche in Intervallen
832 Um Zeilenumbrüche zu erzwingen, die in festgelegten Intervallen
833 stattfinden, kann der Befehl @code{\break} in Kombination
834 mit unsichtbaren Noten und einer Wiederholung eingesetzt
835 werden. Das folgende Beispiel etwa setzt die nächsten
836 28 Takte (im 4/4-Takt) in Zeilen zu jeweils 4 Takten:
839 << \repeat unfold 7 @{
840 s1 \noBreak s1 \noBreak
841 s1 \noBreak s1 \break @}
842 @notation{Hier die Noten}
846 Eine Zeilenumbruchkonfiguration kann auch als eine @code{.ly}-Datei
847 automatisch gespeichert werden. Damit kann die vertikale Ausrichtung
848 während eines zweiten Programmdurchlaufs angepasst werden um die
849 Seiten besser zu füllen. Diese Eigenschaft ist recht neu und
850 kompliziert. Mehr Einzelheiten finden sich in
862 Referenz der Interna:
863 @rinternals{LineBreakEvent}.
870 Zeilenumbrüche können nur gesetzt werden, wenn eine
871 @qq{richtige} Taktlinie vorliegt. Wenn eine Note
872 über die Taktlinie übersteht, wie etwa in folgendem
875 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
876 c4 c2 << c2 {s4 \break } >> % this does nothing
877 c2 c4 | % a break here would work
878 c4 c2 c4 ~ \break % as does this break
883 kann ein Umbruchbefehl nicht ausgeführt werden. Dieses
884 Verhalten kann jedoch vermieden werden, indem der
885 @code{Forbid_line_break_engraver} aus dem Stimmen-Kontext
888 @lilypond[quote,ragged-right,verbatim]
890 \remove Forbid_line_break_engraver
892 c4 c2 << c2 {s4 \break } >> % now the break is allowed
898 Entsprechend werden Umbrüche auch verhindert, wenn Balken über
899 Taktlinien reichen. Das kann mit folgendem Befehl verhindert
900 werden: @code{\override Beam #'breakable = ##t}.
904 @subsection Seitenumbrüche
905 @translationof Page breaking
907 @cindex Seiteumbrüche
908 @cindex Umbrüche, Seite
910 Die Standardseitenumbrüche können verändert werden, indem
911 man die Befehle @code{\pageBreak} bzw. @code{\noPageBreak}
912 benutzt. Sie verhalten sich analog zu den Befehlen
913 @code{\break} und @code{\noBreak}. Sie sollten an einem
914 Taktstrich notiert werden. Diese Befehle erzwingen bzw.
915 verbieten einen Seitenumbruch. Mit dem @code{\pageBreak}-Befehl
916 wird natürlich gleichzeitig auch ein Zeilenumbruch erzwungen.
918 Die @code{\pageBreak} und @code{\noPageBreak}-Befehle können
919 auch auf der höchsten Ebene einer Datei benutzt werden, etwa
920 zwischen Partituren und Textbeschriftungen.
922 Es gibt auch vertikale Gegenstücke zu den Variablen
923 @code{ragged-right} und @code{ragged-last}:
924 @code{ragged-bottom} und @code{ragged-last-bottom}. Wenn diese
925 Variablen auf @code{##t} gesetzt werden, werden im ersten
926 Fall die Notensysteme auf allen Seiten eng nach oben orientiert
927 gesetzt werden. Im zweiten Fall bezieht sich dies nur auf die
930 Zu Einzelheiten siehe @ref{Vertikale Abstände}.
932 Seitenumbrüche werden von der @code{page-breaking}-Funktion errechnet.
933 LilyPond kennt drei Algorithmen um Seitenumbrüche zu errechnen:
934 @code{ly:optimal-breaking}, @code{ly:page-turn-breaking} und
935 @code{ly:minimal-breaking}. Der Standard ist @code{ly:optimal-breaking},
936 aber der Wert kann in der @code{\paper}-Umgebung geändert werden:
940 #(define page-breaking ly:page-turn-breaking)
944 Der alte Algorithmus für Umbruch hat die Bezeichnung
945 @code{optimal-page-breaks}. Wenn Sie Problememit der neuen
946 Umbruchsfunktion haben, können sie die alte vorläufig wieder
951 When a book has many scores and pages, the page breaking problem may be
952 difficult to solve, requiring large processing time and memory. To ease
953 the page breaking process, @code{\bookpart} blocks are used to divide
954 the book into several parts: the page breaking occurs separately on each
955 part. Different page breaking functions may also be used in different
964 %% In einem Abschnitt, der vor allem Text hat,
965 %% funktioniert womöglich ly:minimal-breaking besser
966 #(define page-breaking ly:minimal-breaking)
968 \markup @{ @dots{} @}
972 %% In diesem Abschnitt mit Noten wird
973 %% die Standard-Seitenumbruchsfunktion benutzt.
975 subtitle = "Erster Satz"
983 @funindex \noPageBreak
995 @node Optimale Seitenumbrüche
996 @subsection Optimale Seitenumbrüche
997 @translationof Optimal page breaking
999 @funindex ly:optimal-breaking
1001 Die @code{ly:optimal-breaking}-Funktion ist die Standardmethode für
1002 LilyPond, um Seitenumbrüche zu errechnen. Hiermit wird versucht,
1003 Seitenumbrüche zu finden, die das Stauchen oder Strecken von Zeilen
1004 minimieren, sowohl horizontal als auch vertikal. Anders als die
1005 @code{ly:page-turn-breaking}-Funktion hat diese Methode keine
1006 Möglichkeit, Überlegungen zum Umblättern mit einzubeziehen.
1013 @node Optimale Umbrüche zum Blättern
1014 @subsection Optimale Umbrüche zum Blättern
1015 @translationof Optimal page turning
1017 @funindex ly:page-turn-breaking
1019 Es ist oft nötig, die Seiten so umzubrechen, dass sich eine Pause am
1020 Ende jeder zweiten Seite befindet, damit der Musiker es leichter hat,
1021 die Seite umzublättern ohne das Spielen zu Unterbrechen. Die
1022 @code{ly:page-turn-breaking}-Funktion versucht, Seitenumbrüche zu
1023 finden, died das Stauchen oder Strecken von Zeilen minimieren und
1024 gleichzeitig auch noch Seitenumbrüchen an angegebenen Stellen
1025 den Vorrang zu geben.
1027 Die Funktion wird in zwei Schritten eingesetzt. Zunächst muss sie
1028 in der @code{\paper}-Umgebung aktiviert werden, wie gezeigt in
1029 @ref{Seitenumbrüche}. Dann muss noch angegeben werden, welche Stellen
1030 bevorzugt für Seitenumbrüche benutzt werden sollen.
1032 Für diesen zweiten Schritt gibt es zwei Methoden. Am Einfachsten ist
1033 es, die möglichen Seitenumbrüche mit dem Befehl @code{\allowPageTurn}
1034 an jeder Stelle manuell anzugeben.
1036 Wenn Ihnen das zu aufwändig ist, können Sie den @code{Page_turn_engraver}
1037 zu einem @code{Staff}- oder @code{Voice}-Kontext hinzufügen. Dieser
1038 Engraver durchsucht den entsprechenden Kontext nach Stellen ohne Noten.
1039 (Es wird also nicht nach Pausen gesucht, sondern nach Stellen ohne
1040 Noten. Dieses Verhalten verhindert, dass an polyphonen Stellen umgebrochen
1041 wird, wo nur in einer Stimme Pausen vorhanden sind.) Wenn eine
1042 derartige Stelle ohne Noten gefunden wird, fügt der Engraver den
1043 Befehl @code{\allowPageTurn} am letzten Taktstrich des Abschnitts ein. Wenn
1044 in dem Abschnitt ein besonderer Taktstrich vorkommt (wie etwa ein
1045 Doppelstrich), wird der Befehl nach diesem Taktstrich gesetzt.
1047 @funindex minimumPageTurnLength
1049 Der @code{Page_turn_engraver} list die Kontexteigenschaft
1050 @code{minimumPageTurnLength} um zu erkennen, wie lang eine Stelle
1051 frei von Noten sein muss, damit ein Seitenumbruch in Frage kommt. Der
1052 Standardwert hierfür ist @code{#(ly:make-moment 1 1)}. Wenn Sie
1053 Seitenumbrüche zum Umblättern ausschalten wollen, können Sie
1054 einen sehr großen Wert angeben.
1057 \new Staff \with @{ \consists "Page_turn_engraver" @}
1060 R1 | % Ein Seitenumbruch zum Umblättern erlaubt
1062 \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
1063 R1 | % Seitenumbruch nicht erlaubt
1065 R1*2 | % Seitenumbruch erlaubt
1070 @funindex minimumRepeatLengthForPageTurn
1072 Der @code{Page_turn_engraver} erkennt Wiederholungen vom Typ @code{volta}.
1073 Ein Seitenumbruch zum Umblättern wird nur zugelassen, wenn vor und nach
1074 der Wiederholung genug Zeit ist, um die Seite wieder zurückzublättern.
1075 Wenn die Wiederholung sehr kurz ist, kann auch Umblättern verboten
1076 werden. Wenn Sie die Kontexteigenschaft
1077 @code{minimumRepeatLengthForPageTurn} definieren, erlaubt der
1078 @code{Page_turn_engraver} nur Umblättern in Wiederholungen, deren
1079 Dauer länger als dieser Wert ist.
1081 Die Seitenumblätter-Befehle @code{\pageTurn}, @code{\noPageTurn} und
1082 @code{\allowPageTurn} können auch auf oberster Dateiebene benutzt
1083 werden, etwa zwischen Parituren und Textabschnitten.
1086 @funindex \noPageTurn
1087 @funindex \allowPageTurn
1092 @code{\allowPageTurn}.
1101 In einer Partitur sollte nur ein @code{Page_turn_engraver} vorkommen. Wenn
1102 mehr als einer definiert werden, stören sie sich gegenseitig.
1105 @node Minimale Seitenumbrüche
1106 @subsection Minimale Seitenumbrüche
1107 @translationof Minimal page breaking
1109 @funindex ly:minimal-breaking
1111 Die @code{ly:minimal-breaking}-Funktion benötigt nur minimale Berechnungen,
1112 um die Seitenumbrüche zu bestimmen. Die Seite wird mit möglichst
1113 vielen Systemen gefüllt und dann zur nächsten Seite gewechselt. Die
1114 Funktion kann benutzt werden um Partituren mit vielen Seiten zu
1115 setzen, wenn die anderen Seitenumbruchsfunktionen zu langsam wären
1116 oder zu viel Speicher beanspruchen. Auch für Seiten mit viel Text
1117 ist die Funktion geeignet. Sie wird folgendermaßen aktiviert:
1121 #(define page-breaking ly:minimal-breaking)
1131 @node Ausdrückliche Umbrüche
1132 @subsection Ausdrückliche Umbrüche
1133 @translationof Explicit breaks
1135 Es kann vorkommen, dass LilyPond direkte @code{\break} oder
1136 @code{\pageBreak}-Befehl nicht beachtet. Mit folgenden
1137 Einstellungen kann dieses Verhalten ausgeschaltet werden:
1140 \override NonMusicalPaperColumn #'line-break-permission = ##f
1141 \override NonMusicalPaperColumn #'page-break-permission = ##f
1144 Wenn @code{line-break-permission} die Einstellung falsch
1145 (@code{##f}) hat, werden Zeilenumbrüche nur an den Befehlen
1146 @code{\break} eingefügt und nirgendwo anders. Wenn
1147 @code{page-break-permission} die Einstellung falsch
1148 (@code{##f}) hat, werden Seitenumbrüche nur an den Befehlen
1149 @code{\pageBreak} eingefügt und nirgendwo anders.
1151 @lilypond[quote,verbatim]
1160 \override NonMusicalPaperColumn #'line-break-permission = ##f
1161 \override NonMusicalPaperColumn #'page-break-permission = ##f
1164 \repeat unfold 2 { c'8 c'8 c'8 c'8 } \break
1165 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1166 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1167 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak
1168 \repeat unfold 8 { c'8 c'8 c'8 c'8 } \break
1169 \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break
1170 \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break
1171 \repeat unfold 2 { c'8 c'8 c'8 c'8 }
1182 @node Eine zusätzliche Stimme für Umbrüche benutzen
1183 @subsection Eine zusätzliche Stimme für Umbrüche benutzen
1184 @translationof Using an extra voice for breaks
1186 Zeilen- und Seitenumbruchbefehle werden normalerweise direkt
1187 zusammen mit den Noten eingegeben.
1192 \repeat unfold 2 @{ c'4 c'4 c'4 c'4 @}
1194 \repeat unfold 3 @{ c'4 c'4 c'4 c'4 @}
1199 Hierdurch sind zwar die Befehle @code{\break} und @code{\pageBreak}
1200 einfach zu notieren, es werden aber Informationen zur Notation
1201 mit Informationen zur Anordnung auf der Seite vermischt. Man kann
1202 diese Informationen auch voneinander trennen, indem man eine zusätzliche
1203 Stimme einfügt, in der Zeilen- und Seitenumbrüche vorgenommen werden.
1204 Diese zusätzliche Stimme enthält nur unsichtbare Noten und die
1207 @lilypond[quote,verbatim]
1217 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1218 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1219 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1220 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1226 Mit dieser Herangehensweise kann der Code insbesondere
1227 dann klarer notiert werden, wenn man Einstellungen der
1228 @code{line-break-system-details}-Eigenschaft oder
1229 anderer Eigenschaften von
1230 @code{NonMusicalPaperColumnGrob} vornimmt (hierzu auch
1231 @ref{Vertikale Abstände}).
1233 @lilypond[quote,verbatim]
1238 \overrideProperty "Score.NonMusicalPaperColumn"
1239 #'line-break-system-details #'((Y-offset . 0))
1242 \overrideProperty "Score.NonMusicalPaperColumn"
1243 #'line-break-system-details #'((Y-offset . 35))
1246 \overrideProperty "Score.NonMusicalPaperColumn"
1247 #'line-break-system-details #'((Y-offset . 70))
1250 \overrideProperty "Score.NonMusicalPaperColumn"
1251 #'line-break-system-details #'((Y-offset . 105))
1255 \repeat unfold 2 { c'4 c'4 c'4 c'4 }
1256 \repeat unfold 3 { c'4 c'4 c'4 c'4 }
1257 \repeat unfold 6 { c'4 c'4 c'4 c'4 }
1258 \repeat unfold 5 { c'4 c'4 c'4 c'4 }
1267 @ref{Vertikale Abstände}.
1273 @node Vertikale Abstände
1274 @section Vertikale Abstände
1275 @translationof Vertical spacing
1277 @cindex vertikale Positionierung
1278 @cindex Positionierung, vertikal
1279 @cindex Abstände, vertikal
1281 Vertikale Abstände werden durch drei Eigenschaften
1282 bestimmt: wieviel Platz frei ist (etwa Papiergröße
1283 und Ränder), wieviel Platz zwischen Systemgruppen
1284 (engl. system) gesetzt werden soll und wieviel
1285 Platz zwischen Notensystemen (engl. staff, Pl. staves)
1286 innerhalb von Gruppen gesetzt wird.
1289 * Vertikale Abstände innerhalb eines Systems::
1290 * Vertikale Abstände zwischen Systemen::
1291 * Explizite Positionierung von Systemen::
1292 * Vertikale Abstände mit zwei Durchgängen::
1293 * Vermeidung von vertikalen Zusammenstößen::
1297 @node Vertikale Abstände innerhalb eines Systems
1298 @subsection Vertikale Abstände innerhalb eines Systems
1299 @translationof Vertical spacing inside a system
1301 @cindex Abstand zwischen Notensystemen
1302 @cindex Notensystemabstand
1303 @cindex Platz zwischen Notensystemen
1304 @cindex Platz innerhalb von Systemgruppen
1305 @cindex Systemgruppen, Abstände innerhalb
1307 Die Höhe jeder Notensystemgruppe (engl. system) wird automatisch errechnet.
1308 Um einzelne Notensysteme daran zu hindern, sich zu überschneiden,
1309 werden Minimalabstände festgelegt. Indem man diese ändert,
1310 können die Systeme enger zusammen gerückt werden. Dadurch
1311 brauchen die Gruppen weniger Platz und es passen mehr Gruppen
1314 Normalerweise werden die Notensysteme vertikal gestapelt. Damit
1315 die Systeme einen bestimten Abstand einhalten, haben sie
1316 Füllabstände, die in der Eigenschaft @code{minimum-Y-extent}
1317 definiert sind. Wenn diese Eigenschaft für ein
1318 @code{VerticalAxisGroup}-Objekt gesetzt wird, kann eingestellt
1319 werden, wieviel Platz nach unten oder oben die vertikale Linie
1320 (also das Notensystem oder eine Textzeile) einnimmt. Die
1321 Eigenschaft braucht ein Zahlenpaar; der Standardwert ist
1322 @code{#'(-4 . 4)}. Um also ein Notensystem schmaler zu machen,
1326 \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
1330 Damit wird die vertikale Größe des Systems auf jeweils drei
1331 Notenlinienzwischenräume nach oben und unten von der Systemmitte
1332 aus eingestellt. Der Wert @code{(-3 . 3)} wird als ein
1333 Intervall ausgewertet, dessen Zentrum bei 0 liegt; deshalb
1334 ist die erste Zahl immer negativ. Die Zahlen müssen nicht
1335 gleich sein: man kann etwa die Ausdehnung nach unten vergrößern,
1336 indem man @code{(-6 . 4)} setzt.
1338 Nachdem die Seitenumbrüche bestimmt wurden, wird die vertikale
1339 Platzverteilung innerhalb jeder Systemgruppe neu ausgewertet
1340 um die Seite so gleichmäßig wie möglich zu füllen. Wenn auf
1341 einer Seite viel Platz übrigbleibt, werden die Gruppen etwas
1342 gedehnt um die Seite besser auszufüllen. Die Größe dieser
1343 Dehnung kann mit der @code{max-stretch}-Eigenschaft
1344 des @code{VerticalAlignment}-Grobs eingestellt werden.
1345 Standardmäßig hat @code{max-stretch} den Wert 0, sodass
1346 die Dehnung ausgeschaltet ist. Um sie einzuschalten, kann
1347 als guter Wert für @code{max-stretch} der Wert von
1348 @code{ly:align-interface::calc-max-stretch} eingesetzt werden.
1350 In manchen Situationen sollen zwar die meisten Systeme gedehnt
1351 werden, einige Gruppen sollen aber einen festen Abstand einhalten.
1352 Das kann etwa der Fall sein, wenn ein Klaviersystem in der
1353 Mitte einer Orchesterpartitur vorkommt. Mit der
1354 @code{keep-fixed-while-stretching}-Eigenschaft des
1355 @code{VerticalAxisGroup}-Objektes kann das erreicht werden.
1356 Wenn sie auf @code{##t} gesetzt wird, wird das entsprechende
1357 System (oder die Textzeile) nicht von der Zeile entfernt, die
1358 sich direkt darüber befindet. Man müsste diese Einstellung
1359 als beispielsweise für das zweite Notensystem eines Klaviersystems
1363 #(set-default-paper-size "a6")
1364 #(set-global-staff-size 14.0)
1368 ragged-last-bottom = ##f
1373 \override VerticalAlignment #'max-stretch = #ly:align-interface::calc-max-stretch
1380 \new Staff {c' d' e' f'}
1381 \new Staff {c' d' e' f'}
1382 \new Staff {c' d' e' f'}
1387 \new Staff {c' d' e' f'}
1389 \override VerticalAxisGroup #'keep-fixed-while-stretching = ##t
1396 \new Staff {c' d' e' f'}
1397 \new Staff {c' d' e' f'}
1404 Die vertikale Ausrichtung von Notensystemen wird
1405 von dem @code{VerticalAlignment}-Objekt vorgenommen.
1406 Die Kontextparameter für die vertikale Ausdehnung
1407 werden für den @code{Axis_group_engraver} angegeben.
1413 @c @lsr{spacing,page-spacing.ly},
1414 @c @lsr{spacing,alignment-vertical-spacing.ly}.
1416 Referenz der Interna:
1417 @rinternals{VerticalAlignment},
1418 @rinternals{Axis_group_engraver}.
1421 @node Vertikale Abstände zwischen Systemen
1422 @subsection Vertikale Abstände zwischen Systemen
1423 @translationof Vertical spacing between systems
1425 Der Platz zwischen Notensystembruppen wird von vier
1426 Variablen in der @code{\paper}-Umgebung kontrolliert:
1430 between-system-space = 1.5\cm
1431 between-system-padding = #1
1433 ragged-last-bottom=##f
1437 Wenn nur ein paar schmale Systeme auf eine Seite gesetzt werden,
1438 kann die vertikale Platzverteilung recht negativ ausfallen, so
1439 dass etwa ein System ganz oben auf der Seite und das nächste
1440 unten auf der Seite erscheint, mit einer großen Lücke dazwischen.
1441 Um derartige Situationen zu umgehen, kann der Platz, der zwischen
1442 Gruppen eingefügt wird, begrenzt werden. Dieses Verhalten wird
1443 aktiviert, indem die @code{page-limit-inter-system-space}-Variable
1444 in der @code{\paper}-Umgebung auf @code{##t} gesetzt wird. Die
1445 Variable @code{page-limit-inter-system-space-factor} bestimmt,
1446 um wieviel der Platz zwischen Gruppen gedehnt werden darf: Bei
1447 einem Wert von @code{1.3} etwa darf der Platz 30% größer sein
1448 als er es wäre, wenn die Seite mit der Option @code{ragged-bottom}
1449 gesetzt worden wäre.
1451 Im folgenden Beispiel würde das zweite System der ersten Seite
1452 unten auf der Seite gesetzt werden, wenn der Platz zwischen
1453 den Systemen nicht begrenzt wäre. Weil aber die Begrenzung
1454 eingesetzt wurde, wird das zweite System näher am ersten
1455 platziert. Wenn @code{page-limit-inter-system-space-factor}
1456 auf @code{1} gesetzt wird, wäre die Platzverteilung die gleiche
1457 auf einer Seite mit @code{ragged-bottom}, wie etwa die letzte
1458 Seite einer Partitur.
1461 #(set-default-paper-size "a6")
1464 page-limit-inter-system-space = ##t
1465 page-limit-inter-system-space-factor = 1.3
1467 oddFooterMarkup = \markup "page bottom"
1468 evenFooterMarkup = \markup "page bottom"
1469 oddHeaderMarkup = \markup \fill-line {
1470 "page top" \fromproperty #'page:page-number-string }
1471 evenHeaderMarkup = \markup \fill-line {
1472 "page top" \fromproperty #'page:page-number-string }
1474 \new Staff << \repeat unfold 4 { g'4 g' g' g' \break }
1475 { s1*2 \pageBreak } >>
1485 @node Explizite Positionierung von Systemen
1486 @subsection Explizite Positionierung von Systemen
1487 @translationof Explicit staff and system positioning
1489 Man kann die Einstellungen des @code{VerticalAxisGroup}-Objekts
1490 und der @code{\paper}-Umgebung, wie sie im vorigen Abschnitt
1491 erklärt wurden, als eine Sammlung verschiedenerer Einstellmöglichkeiten
1492 verstehen, die vor allem die Größe des vertikalen Platzes zwischen
1493 Notensystemen und Gruppen auf der Seite kontrollieren.
1495 Die vertikale Platzverteilung kann aber auch auf andere Weise
1496 eingestellt werden: mit den Optionen von
1497 @code{NonMusicalPaperColumn #'line-break-system-details}. Während
1498 Einstellungen in @code{VerticalAxisGroup} und @code{\paper} Füllplatz
1499 definieren, werden mit
1500 @code{NonMusicalPaperColumn #'line-break-system-details} absolute vertikale
1501 Positionen auf der Seite festgelegt.
1503 @code{NonMusicalPaperColumn #'line-break-system-details} akzeptiert eine
1504 Liste aus fünf unterschiedlichen Einstellungen:
1507 @item @code{X-offset}
1508 @item @code{Y-offset}
1509 @item @code{alignment-offsets}
1510 @item @code{alignment-extra-space}
1511 @item @code{fixed-alignment-extra-space}
1514 Veränderungen von Grobs (wozu auch @code{NonMusicalPaperColumn} gehört),
1515 können an drei unterschiedlichen Stellen in der Quelldatei vorgenommen
1519 @item mitten im Notentext
1520 @item in einer @code{\context}-Umgebung
1521 @item in einer @code{\with}-Umgebung
1524 Wenn der Grob @code{NonMusicalPaperColumn} verändert werden soll,
1525 wird der @code{\override}-Befehl in der @code{\context} oder
1526 @code{\with}-Umgebung eingesetzt. Wenn die Veränderungen aber
1527 mitten im Notentext stattfinden sollen, müssen Sie den Befehl
1528 @code{\overrideProperty} einsetzen. Einige Beispiele für eine
1529 Veränderungen von @code{NonMusicalPaperColumn} mit dem
1530 @code{\overrideProperty}-Befehl sind hier aufgelistet:
1533 \overrideProperty NonMusicalPaperColumn
1534 #'line-break-system-details #'((X-offset . 20))
1536 \overrideProperty NonMusicalPaperColumn
1537 #'line-break-system-details #'((Y-offset . 40))
1539 \overrideProperty NonMusicalPaperColumn
1540 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40))
1542 \overrideProperty NonMusicalPaperColumn
1543 #'line-break-system-details #'((alignment-offsets . (0 -15)))
1545 \overrideProperty NonMusicalPaperColumn
1546 #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
1547 (alignment-offsets . (0 -15)))
1550 Um zu verstehen, wie jede dieser unterschiedlichen Einstellungen
1551 funktioniert, wollen wir uns ein Beispiel vornehmen, dass überhaupt
1552 keine Einstellungen (d.h. @code{override}-Befehle) enthält:
1554 @c \book { } is required in these examples to ensure the spacing
1555 @c overrides can be seen between systems. -np
1558 \header { tagline = ##f }
1559 \paper { left-margin = 0\mm }
1569 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1572 \repeat unfold 15 { d'4 d' d' d' }
1579 Diese Partitur nimmt Zeilen- und Seitenumbruchinformationen in einer
1580 eigenen Stimme vor. Mit dieser Methode kann die Layout-Information
1581 einfach von den Noten getrennt werden, was sehr hilfreich ist, wenn
1582 das Beispiel komplizierter wird. Siehe auch
1583 @ref{Eine zusätzliche Stimme für Umbrüche benutzen}.
1585 Ausdrückliche @code{\break}-Befehle teilen die Noten in sechs Takte
1586 lange Zeilen. Die vertikale Platzverteilung wird von LilyPond
1587 errechnet. Um den vertikalen Beginn einer jeden Systemgruppe
1588 genau anzugeben, kann @code{Y-offset} in der
1589 @code{line-break-system-details}-Eigenschaft des
1590 @code{NonMusicalPaperColumn}-Grobs wie in dem Beispiel
1591 ersichtlich benutzt werden:
1594 \header { tagline = ##f }
1595 \paper { left-margin = 0\mm }
1601 \overrideProperty #"Score.NonMusicalPaperColumn"
1602 #'line-break-system-details #'((Y-offset . 0))
1604 \overrideProperty #"Score.NonMusicalPaperColumn"
1605 #'line-break-system-details #'((Y-offset . 40))
1607 \overrideProperty #"Score.NonMusicalPaperColumn"
1608 #'line-break-system-details #'((Y-offset . 80))
1611 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1614 \repeat unfold 15 { d'4 d' d' d' }
1621 In der @code{line-break-system-details}-Eigenschaft kann eine Liste
1622 mit vielen Einstellungen eingegeben werden, aber hier wird nur eine
1623 Einstellung angegeben. Die @code{Y-offset}-Eigenschaft bestimmt
1624 hier die exakte vertikale Position auf der Seite, an welcher jede
1625 neue Systemgruppe begonnen wird.
1627 Da jetzt der exakte Beginn eines jeden Systems explizit festgelegt wurde,
1628 können wir auch den exakten Beginn eines jeden Notensystems in der
1629 Gruppe festlegen. Dies geschieht mit der @code{alignment-offsets}-Eigenschaft
1630 von @code{line-break-system-details}.
1633 \header { tagline = ##f }
1634 \paper { left-margin = 0\mm }
1640 \overrideProperty #"Score.NonMusicalPaperColumn"
1641 #'line-break-system-details #'((Y-offset . 20)
1642 (alignment-offsets . (0 -15)))
1644 \overrideProperty #"Score.NonMusicalPaperColumn"
1645 #'line-break-system-details #'((Y-offset . 60)
1646 (alignment-offsets . (0 -15)))
1648 \overrideProperty #"Score.NonMusicalPaperColumn"
1649 #'line-break-system-details #'((Y-offset . 100)
1650 (alignment-offsets . (0 -15)))
1653 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1656 \repeat unfold 15 { d'4 d' d' d' }
1663 Dem @code{line-break-system-details}-Attribut des
1664 @code{NonMusicalPaperColumn}-Grobs werden zwei Eigenschaften
1665 zugewiesen. Auch wenn die Liste (alist) von
1666 @code{line-break-system-details} sehr viel mehr Platzierungsparameter
1667 akzeptiert, müssen hier nu die Parameter @code{Y-offset} und
1668 @code{alignment-offsets} gesetzt werden, um den vertikalen Beginn
1669 jedes Systems und jeder Systemgruppe zu kontrollieren. @code{Y-offset}
1670 bestimmt also die vertikale Position von Systemgruppen und @code{alignment-offsets}
1671 die vertikale Position von einzelnen Notensystemen.
1674 \header { tagline = ##f }
1675 \paper { left-margin = 0\mm }
1681 \overrideProperty #"Score.NonMusicalPaperColumn"
1682 #'line-break-system-details #'((Y-offset . 0)
1683 (alignment-offsets . (0 -30 -40)))
1685 \overrideProperty #"Score.NonMusicalPaperColumn"
1686 #'line-break-system-details #'((Y-offset . 60)
1687 (alignment-offsets . (0 -10 -20)))
1689 \overrideProperty #"Score.NonMusicalPaperColumn"
1690 #'line-break-system-details #'((Y-offset . 100)
1691 (alignment-offsets . (0 -10 -40)))
1694 \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
1697 \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
1698 \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
1705 Einige Dinge sollten beachtet werden:
1708 @item Wenn @code{alignment-offsets} benutzt wird, werden Gesangtextzeilen
1709 als ein System gezählt.
1711 @item Die Einheiten der Zahlen, die für @code{X-offset},
1712 @code{Y-offset} und @code{alignment-offsets} benutzt werden, werden als
1713 Vielfaches des Abstandes zwischen zwei Notenlinien gewertet. Positive
1714 Werte verschieben Systeme und Gesangstext nach oben, negative Werte nach
1717 @item Weil die Einstellungen von @code{NonMusicalPaperColumn #'line-break-system-details}
1718 es möglich machen, Notensysteme und Gruppen an beliebigen Stellen auf der
1719 Seite zu platzieren, kann man damit auch Ränder überschreiben oder sogar
1720 Notensysteme übereinander platzieren. Sinnvolle Werte für diese
1721 Parameter werden derartiges Verhalten vermeiden.
1730 @node Vertikale Abstände mit zwei Durchgängen
1731 @subsection Vertikale Abstände mit zwei Durchgängen
1732 @translationof Two-pass vertical spacing
1734 @warning{Vertikale Positionierung in zwei Durchgängen ist veraltet
1735 (deprecated) und wird in zukünftigen Versionen von LilyPond entfernt
1736 werden. Systeme werden jetzt automatisch in einem einzigen
1737 Durchlauf gedehnt. Siehe auch @ref{Vertikale Abstände innerhalb eines Systems}.}
1739 Um Systeme zu dehnen, sodass sie den restlichen Platz auf der Seite
1740 auffüllen, kann ein Verfahren benutzt werden, dass die Positionierung
1741 in zwei Durchläufen ermittelt:
1744 @item Im ersten Durchlauf wird der Platz berechnet, um den jede
1745 Systemgruppe gedehnt werden sollte und in eine Datei geschrieben.
1746 @item Im zweiten Durchlauf werden die Systemgruppen anhand der
1747 Daten aus dieser Datei entsprechend gedehnt.
1750 Die @code{ragged-bottom}-Eigenschaft fügt den Platz zwischen
1751 Systemgruppen ein, während mit der Technik in zwei Durchläufen
1752 die Systemgruppen selber gedehnt werden.
1754 Um dieses Verhalten zu erzeugen, muss die @code{tweak-key}-Eigenschaft
1755 in der @code{\layout}-Umgebung jeder Partitur definiert werden und diese
1756 Anpassungen dann in jeder Paritur mit dem Befehl @code{\scoreTweak}
1761 %% die erstellte Layout-Datei einfügen
1762 \includePageLayoutFile
1767 %% Anpassungen für diese Partitur einfügen
1768 \scoreTweak "scoreA"
1769 { \clef french c''1 \break c''1 }
1771 \new Staff { \clef soprano g'1 g'1 }
1772 \new Staff { \clef mezzosoprano e'1 e'1 }
1773 \new Staff { \clef alto g1 g1 }
1774 \new Staff { \clef bass c1 c1 }
1777 piece = "Score with tweaks"
1779 %% Definieren, wie die Anpassungen für diese Datei genannt werden:
1780 \layout { #(define tweak-key "scoreA") }
1785 Für den ersten Durchgang sollte die @code{dump-tweaks}-Option gesetzt
1786 werden, damit die Layout-Datei erstellt wird.
1789 lilypond -dbackend=null -d dump-tweaks <file>.ly
1799 @node Vermeidung von vertikalen Zusammenstößen
1800 @subsection Vermeidung von vertikalen Zusammenstößen
1801 @translationof Vertical collision avoidance
1803 @cindex Vermeidung von vertikalen Zusammenstößen
1804 @cindex Zusammenstöße, vertikal, vermeiden
1805 @cindex vertikale Zusammenstöße, vermeiden
1806 @cindex Kollisionen, vertikal, vermeiden
1808 @funindex outside-staff-priority
1809 @funindex outside-staff-padding
1810 @funindex outside-staff-horizontal-padding
1812 Intuitiv gibt es in der Notation einige Objekte, die zu dem Notensystem
1813 gehören, und einige andere, die immer außerhalb des Notensystems
1814 positioniert werden sollten. Zu diesen letzteren gehören etwa
1815 Übungszeichen, Textbeschriftung und Dynamikbezeichnung (die als
1816 Objekte außerhalb des Systems bezeichnet werden können). LilyPonds
1817 Regeln um diese Objekte zu positionieren lautet: so nah am Notensystem
1818 wie möglich, aber gerade so weit weg, dass sie nicht mit anderen
1819 Objekten zusammenstoßen.
1821 Dabei setzt LilyPon die @code{outside-staff-priority}-Eigenschaft
1822 ein um herauszufinden, ob ein Grob ein Objekt außerhalb des Systems
1823 ist: wenn @code{outside-staff-priority} eine Zahl ist, dann handelt
1824 es sich um ein Objekt außerhalb des Systems. Zusätzlich teilt
1825 @code{outside-staff-priority} noch mit, in welcher Reihenfolge
1826 die Objekte außerhalb des Systems gesetzt werden sollen.
1828 Zuerst werden alle Objekte gesetzt, die nicht außerhalb des Systems
1829 gehören. Dann werden die Objekte außerhalb des Systems nach dem Wert
1830 ihrer @code{outside-staff-priority} (in aufsteigender Anordnung)
1831 sortiert. Eins nach dem anderen werden diese Objekte schließlich
1832 genommen und so platziert, dass sie nicht mit den Objekten zusammenstoßen,
1833 die bereits platziert worden sind. Wenn also zwei Objekte außerhalb
1834 des Systems um den gleichen Platz streiten, wird das mit dem
1835 geringeren Wert von @code{outside-staff-priority} näher an das
1836 entsprechende Notensystem gesetzt.
1838 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1841 \once \override TextScript #'outside-staff-priority = #1
1842 c4_"Text"\pp % this time the text will be closer to the staff
1844 % by setting outside-staff-priority to a non-number,
1845 % we disable the automatic collision avoidance
1846 \once \override TextScript #'outside-staff-priority = ##f
1847 \once \override DynamicLineSpanner #'outside-staff-priority = ##f
1848 c4_"Text"\pp % now they will collide
1851 Der Platz, der zwischen einem Objekt außerhalb des Systems und
1852 dem vorhergehenden Objekt eingefügt werden kann (auch als
1853 padding bezeichnet), kann durch @code{outside-staff-padding}
1854 kontrolliert werden.
1856 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1857 \once \override TextScript #'outside-staff-padding = #0
1858 a'^"This text is placed very close to the note"
1859 \once \override TextScript #'outside-staff-padding = #3
1860 c^"This text is padded away from the previous text"
1861 c^"This text is placed close to the previous text"
1864 Standardmäßig werden Objekte außerhalb des Systems so gesetzt,
1865 dass sie eine horizontale Überschneidung mit einem der
1866 vorher gesetzten Grobs vermeiden. Das kann zu Situationen
1867 führen, in denen Objekte sehr dicht nebeneinander gesetzt
1868 werden. Der vertikale Platz zwischen Notensystemen kann
1869 auch gesetzt werden, sodass Objekte außerhalb des Systems
1870 ineinander greifen. Mit der Eigenschaft
1871 @code{outside-staff-horizontal-padding} können Objekte vertikal
1872 verschoben werden und derartige Situationen kommen nicht
1875 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
1876 % the markup is too close to the following note
1880 % setting outside-staff-horizontal-padding fixes this
1882 \once \override TextScript #'outside-staff-horizontal-padding = #1
1893 @node Horizontale Abstände
1894 @section Horizontale Abstände
1895 @translationof Horizontal spacing
1897 @cindex horizontale Platzierung
1898 @cindex horizontale Anordnung
1899 @cindex Anordnung, horizontal
1902 * Überblick über horizontale Abstände::
1903 * Eine neuer Bereich mit anderen Abständen::
1904 * Horizontale Abstände verändern::
1906 * Proportionale Notation::
1910 @node Überblick über horizontale Abstände
1911 @subsection Überblick über horizontale Abstände
1912 @translationof Horizontal spacing overview
1914 Die Setzmaschine interpretiert unterschiedliche Notendauern als
1915 dehnbare Abstände (engl. spring) unterschiedlicher Länge. Längere
1916 Dauern erhalten mehr Platz, kürzere weniger. Die kürzeste Dauer
1917 erhält eine feste Breite (die mit @code{shortest-duration-space}
1918 im @code{SpacingSpanner}-Objekt kontrolliert werden kann). Je
1919 länger die Dauer, umso mehr Platz erhält die Note: wenn ihre
1920 Dauer verdoppelt wird, wird ein bestimmter Platz hinzugefügt
1921 (dessen Breite durch @code{spacing-increment} bestimmt werden
1924 Das folgende Stück beispielsweise enthält Halbe, Viertel und Achtel.
1925 Die Achtelnote wird gefolgt von einem Notenkopfabstand (NKA). Die
1926 Viertel wird von 2 NKA gefolgt, die Halbe von 3 NKA usw.
1928 @lilypond[quote,fragment,verbatim,relative=1]
1929 c2 c4. c8 c4. c8 c4. c8 c8
1933 Normalerweise ist @code{spacing-increment} definiert als 1.2 mal
1934 der Abstand zwischen zwei Notenlinien, was in etwa die Breite eines
1935 Notenkopfes ist. @code{shortest-duration-space} ist definiert als
1936 2.0, was bedeutet, dass die kürzeste Note 2.4 Notenlinienabstände
1937 2.0 mal der Wert von @code{spacing-increment}) horizontalen
1938 Abstand erhält. Der Abstand wirdvon der linken Kande des Symbols
1939 errechnet, so dass die kürzeste Note üblicherweise von 1 NKA
1940 Abstand gefolgt wird.
1942 Wenn diese Herangehensweise konsequent angewandt würde, würde eine
1943 einzige Zweiunddreißigstel eine Partitur, in der vor allem Achtel und
1944 Sechzehntel vorkommen, sehr weit auseinanderdehnen. Die kürzeste
1945 Note wäre nun keine Sechzehntel mehr, sondern eine Zweiunddreißigstel,
1946 wodurch an jede Note der Wert von 1 NKA hinzugefügt würde. Um das
1947 zu vermeiden, ist die kürzeste Dauer für die Platzverteilung nicht die
1948 kürzeste Note einer Partitur, sondern die, die am häufigsten vorkommt.
1950 Die Notendauer, die am häufigsten vorkommt, wird auf folgende
1951 Weise bestimmt: in jedem Takt wird die kürzeste Note bestimmt. Die
1952 häufigste kürzeste Note wird dann als Grundlage für die Platzverteilung
1953 der Noten herangezogen, mit der Bedingung, dass diese kürzeste
1954 Note immer ein Achtel oder kürzer sein soll. Die kürzeste Dauer
1955 wird ausgegeben, wenn @code{lilypond} mit der Option @code{--verbose}
1958 Diese Dauern können aber auch angepasst werden. Wenn Sie die Eigenschaft
1959 @code{common-shortest-duration} in dem @code{SpacingSpanner} setzen,
1960 dann wird hiermit die Grunddauer für die Platzverteilung eingestellt.
1961 Die maximale Dauer für diesen Grundwert (normalerweise eine Achtel)
1962 wird definiert mit @code{base-shortest-duration}.
1964 @funindex common-shortest-duration
1965 @funindex base-shortest-duration
1966 @funindex stem-spacing-correction
1969 Noten, die noch kürzer sind als die häufigste kürzeste Note, werden
1970 durch einen Platz voneinander getrennt, der proportional zu ihrer
1971 Dauer in Beziehung zur häufigsten kürzesten Note ist. Wenn also
1972 nur ein paar Sechszehntel zu dem obigen Beispiel hinzugefügt werden,
1973 würden sie von 1/2 NKA gefolgt werden:
1975 @lilypond[quote,fragment,verbatim,relative=2]
1976 c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
1979 In der Einleitung (siehe @rlearning{Notensatz}) wurde erklärt, dass die
1980 Richtung der Notenhälse die Platzverteilung beeinflusst. Das wird
1981 kontrolliert durch die @code{stem-spacing-correction}-Eigenschaft
1982 in dem @code{NoteSpacing}-Objekt. Dieses Objekt wird für jeden
1983 @code{Voice}-Kontext erstellt. Das @code{StaffSpacing}-Objekt (in
1984 einem @code{Staff}-Kontext erstellt) enthält die gleiche Eigenschaft,
1985 um die Verteilung von Hälsen neben Taktlinien zu kontrollieren. In
1986 dem folgenden Beispiel werden diese Einstellungen gezeigt, einmal
1987 mit den Standardwerten und dann mit größeren Werten, damit man sie
1990 @lilypond[quote,ragged-right]
1994 \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
1995 \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
2001 Proportionale Notation ist unterstützt, siehe @ref{Proportionale Notation}.
2007 Referenz der Interna:
2008 @rinternals{SpacingSpanner},
2009 @rinternals{NoteSpacing},
2010 @rinternals{StaffSpacing},
2011 @rinternals{NonMusicalPaperColumn}.
2015 Es gibt keine sinnvolle Möglichkeit, die horizontale Verteilung der
2016 Noten zu unterdrücken. Die folgende Problemumgehung, mit der
2017 dehnbare Abstände (padding) eingesetzt werden, kann benutzt
2018 werden, um zusätzlichen Platz in eine Partitur einzufügen.
2021 \once \override Score.SeparationItem #'padding = #10
2024 Es gibt derzeit keine Möglichkeit, den Platz zu verringern.
2027 @node Eine neuer Bereich mit anderen Abständen
2028 @subsection Eine neuer Bereich mit anderen Abständen
2029 @translationof New spacing area
2031 @cindex horizontale Notenabstände, Abschnitte definierten
2032 @cindex Notenabstände, Abschnitte definieren
2033 @cindex Abschnitte definieren, Notenabstände
2035 Neue Abschnitte mit unterschiedlichen Notenabstandsparametern
2036 können mit dem Befehl @code{newSpacingSection} begonnen werden.
2037 Das ist hilfreich, wenn in verschiedenen Abschnitten die
2038 Verhältnisse von kurzen und langen Noten sehr unterschiedlich
2041 Im folgenden Beispiel wird durch die neue Taktart ein neuer
2042 Abschnitt begonnen, in dem die Sechszehntel weiter außeinander
2043 gesetzt werden sollen.
2045 @lilypond[relative,fragment,verbatim,quote]
2048 c8 c c4 c16[ c c8] c4
2054 Der @code{\newSpacingSection}-Befehl erstellt ein neues
2055 @code{SpacingSpanner}-Objekt, weshalb auch neue Anpassungen
2056 mit dem @code{\override}-Befehl an dieser Stelle eingesetzt
2063 Referenz der Interna:
2064 @rinternals{SpacingSpanner}.
2067 @node Horizontale Abstände verändern
2068 @subsection Horizontale Abstände verändern
2069 @translationof Changing horizontal spacing
2071 @cindex Notenabstände, horizontal
2072 @cindex horizontale Abstände
2073 @cindex horizontale Notenabstände
2075 Die horizontalen Abstände können mit der
2076 @code{base-shortest-duration}-Eigenschaft
2077 verändert werden. In den folgenden Beispielen
2078 werden die gleichen Noten eingesetzt, zuerst
2079 ohne die Eigenschaft zu verändern, im zweiten
2080 Beispiel dann mit einem anderen Wert. Größere
2081 Werte für @code{ly:make-moment} ergeben dichtere
2082 Noten. @code{ly:make-moment} erstellt eine Dauer,
2083 die als Bruch notiert wird, sodass @code{1 4}
2084 eine größere Dauer ist als @code{1 16}.
2086 @lilypond[verbatim,line-width=12\cm]
2089 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2090 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2091 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2092 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2097 @lilypond[verbatim,line-width=12\cm]
2100 g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
2101 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2102 d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
2103 g4 e e2 | f4 d d2 | c4 e g g | c,1 |
2108 \override SpacingSpanner
2109 #'base-shortest-duration = #(ly:make-moment 1 16)
2118 Standardmäßig wird die Platzverteilung in Triolen und andern
2119 rhythmischen Aufteilungen nach verschiedenen nicht von der
2120 Dauer abgeleiteten Faktoren (wie Versetzungszeichen,
2121 Schlüsselwechseln usw.) berechnet. Um diese Symbole zu
2122 ignorieren und eine gleichmäßige Verteilung der Noten
2123 zu erzwingen, kann die gleichmäßige Dehnung (engl.
2124 uniform stretching) zu Beginn einer Partitur eingeschaltet
2127 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
2129 \override SpacingSpanner #'uniform-stretching = ##t
2146 Wenn @code{strict-note-spacing} eingestellt ist, werden Noten
2147 gesetzt, ohne dass Schlüssel, Taktlinine oder Verzierungsnoten
2148 zusätzlichen Platz erhalten.
2150 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
2151 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2152 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
2162 @subsection Zeilenlänge
2163 @translationof Line length
2165 @cindex Seitenumbrüche
2166 @cindex Umbrechen von Seiten
2168 @cindex Länge von Zeilen
2171 @funindex line-width
2172 @funindex ragged-right
2173 @funindex ragged-last
2175 @c Although line-width can be set in \layout, it should be set in paper
2176 @c block, to get page layout right.
2177 @c Setting indent in \paper block makes not much sense, but it works.
2179 @c Bit verbose and vague, use examples?
2180 Die grundlegenden Einstellungen, die Einfluss auf die Zeilenlänge
2181 haben, sind @code{indent} (Einzug) und @code{line-width}
2182 (Zeilenbreite). Sie werden in der @code{\layout}-Umgebung
2183 einestellt. Der erste Befehl bestimmt den Einzug der ersten
2184 Zeile, der zweite die Zeilenlänge der weiteren Notenzeilen.
2186 Wenn @code{ragged-right} eingestellt ist (als in der
2187 @code{\layout}-Umgebung auf den Wert @code{#t} gesetzt wurde),
2188 werden die Systeme linksbündig gesetzt und nicht bis zum
2189 rechten Rand hin durchgezogen, sondern den Noten entsprechend
2190 gesetzt. Das ist oftmals nützlich für kleine Notenfragmente
2191 und um zu überprüfen, wie eng die Noten natürlicherweise
2192 gesetzt werden würden.
2194 Die Option @code{ragged-last} verhält sich ähnlich zu @code{ragged-right},
2195 aber wirkt sich nur auf die letzte Zeile eines Stückes aus.
2196 Für diese letzte Zeile gibt es keine Einschränkungen. Das
2197 Resultat erinnert an Textabsätze im Blocksatz, wo die letzte
2198 Zeile des Absatzes mit ihrer natürlichen Länge gestzt wird.
2213 @node Proportionale Notation
2214 @subsection Proportionale Notation
2215 @translationof Proportional notation
2217 LilyPond hat Unterstützung für proportionale Notation. Dabei handelt
2218 es sich um eine horizontale Platzverteilung, die jeder Note einen
2219 exakt ihrer Dauer entsprechenden Platz zuordnet. Man kann es vergleichen
2220 mit der Notenplatzierung auf einem Raster. In einigen Partituren
2221 des späten 20. und frühen 21. Jahrhunderts wird dies proportionale
2222 Notation benutzt, um sehr komplizierte rhythmische Verhältnisse
2223 klarer darzustellen, oder um einen Zeitstrahl oder ähnliche Graphiken
2224 direkt in die Partitur zu integrieren.
2226 LilyPond hat Unterstützung für fünf verschiedene Einstellungen der
2227 proportionalen Notation, die alle zusammen oder jede für sich
2228 benutzt werden können:
2231 @item @code{proportionalNotationDuration} (proportionale Notendauer)
2232 @item @code{uniform-stretching} (gleichmäßige Dehnung)
2233 @item @code{strict-note-spacing} (strenge Notenverteilung)
2234 @item @code{\remove Separating_line_group_engraver} (entferne Liniengruppentrennungsengraver)
2235 @item @code{\override PaperColumn #'used = ##t} (PapierSpalte benutzt = wahr)
2238 In den Beispielen unten werden diese fünf unterschiedlichen Einstellungen
2239 für die proportionale Notation vorgestellt und ihre Wirkungen
2240 untereinander illustriert.
2242 Es soll mit diesem 1 Takt langen Beispiel begonnen werden, in welchem
2243 die klassischen Abstände und Flattersatz (ragged-right) eingesetzt werden:
2245 @lilypond[quote,verbatim,ragged-right]
2247 \new RhythmicStaff {
2251 c'16 c'16 c'16 c'16 c'16
2257 Die Halbe, mit der der Takt beginnt, braucht weitaus weniger
2258 Platz als die Hälfte des Taktes. Gleichermaßen haben die
2259 Sechszehntel und die Sechszehntel-Quintolen (oder Zwanzigstel),
2260 mit denen der Takt endet, insgesamt weitaus mehr als die Hälfte
2263 Im klassischen Notensatz kann dieses Verhalten genau das gewünschte
2264 Ergebnis bringen, weil dadurch horizontaler Platz von der Halben
2265 weggenommen werden kann und so insgesamt Platz in dem Takt eingespart
2268 Wenn allerdings ein Zeitstrahl oder andere zeitliche ablaufende
2269 Graphiken über oder unter dem Takt eingefügt werden soll, braucht man
2270 eine Notenplatzierung, die exakt der von ihnen eingenommenen Dauer
2271 entspricht. Auf folgende Art wird die proportionale Notation
2274 @lilypond[quote,verbatim,ragged-right]
2276 proportionalNotationDuration = #(ly:make-moment 1 20)
2278 \new RhythmicStaff {
2282 c'16 c'16 c'16 c'16 c'16
2288 Die Halbe zu Beginn des Taktes und die schnelleren Noten in der zweiten
2289 Takthälfte nehmen jetzt genau den gleichen horizontalen Platz ein. Jetzt
2290 könnte man einen Zeitstrahl mit dem Takt synchronisieren.
2292 Die Einstellung von @code{proportionalNotationDuration} gehört zum
2293 @code{Score}-Kontext. Kontexteinstellungen können an drei verschiedenen
2294 Stellen in der Quelldatei geschrieben werden: in einer @code{\with}-Umgebung,
2295 in einer @code{\context}-Unmgebung oder direkt in den Noten mit dem
2296 @code{\set}-Befehl. Alle drei Positionen sind gleichwertig und es hängt
2297 vom Benutzer ab, welche bevorzugt wird.
2299 Die Eigenschaft @code{proportionalNotationDuration} braucht ein Argument,
2300 welches die Referenzdauer ist, anhand welcher alle Noten platziert werden.
2301 Hier wird die LilyPond Scheme-Funktion @code{make-moment} eingesetzt. Sie
2302 braucht zwei Argumente: einen Zähler und einen Nenner, die einen Bruch einer
2303 Ganzen darstellen. Die Funktion @code{#(ly:make-moment 1 20)} ergibt also
2304 eine Referenzdauer von einer Zwanzigstel. Genauso gut können etwa die Dauern
2305 @code{#(ly:make-moment 1 16)}, @code{#(ly:make-moment 1 8)} oder
2306 @code{#(ly:make-moment 3 97)} eingesetzt werden.
2308 Die richtige Referenzdauer, mit der eine vernünftige Verteilung der Noten
2309 proportional möglich ist, muss durch Ausprobieren herausgefunden werden.
2310 Dabei sollte man mit einer Dauer beginnen, die der kleinsten Note des
2311 Stückes nahekommt. Kleine Referenzdauern lassen die Noten sehr gedehnt
2312 erscheinen, größere Referenzdauern zwingen sie dichter zusammen.
2314 @lilypond[quote,verbatim,ragged-right]
2316 proportionalNotationDuration = #(ly:make-moment 1 8)
2318 \new RhythmicStaff {
2322 c'16 c'16 c'16 c'16 c'16
2328 proportionalNotationDuration = #(ly:make-moment 1 16)
2330 \new RhythmicStaff {
2334 c'16 c'16 c'16 c'16 c'16
2340 proportionalNotationDuration = #(ly:make-moment 1 32)
2342 \new RhythmicStaff {
2346 c'16 c'16 c'16 c'16 c'16
2352 Man muss beachten, dass die Referenzdauer nicht zu groß ist
2353 (wie die Achtel in dem Beispiel oben), denn dadurch werden
2354 die Noten so dicht gesetzt, dass sich eventuell sogar Notenköpfe
2355 von sehr kleinen Notenwerten überschneiden können. Die proportionale
2356 Notation nimmt üblicherweise mehr Platz ein als die klassische
2357 Platzverteilung. Der rhythmischen Klarheit muss ein eng gesetztes
2358 Notenbild geopfert werden.
2360 In Folgenden soll betrachtet werden, wie sich überlappende
2361 rhythmische Aufteilungen am besten positioniert werden. Als Referenz
2362 wird das erste Beispiel herangezogen, zu welchem ein zweites
2363 System mit anderen rhythmischen Werten hinzugefügt wird:
2365 @lilypond[quote,verbatim,ragged-right]
2367 \new RhythmicStaff {
2371 c'16 c'16 c'16 c'16 c'16
2374 \new RhythmicStaff {
2376 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2382 Die Platzaufteilung ist schlecht, weil die gleichlangen Noten des
2383 untersten Systems nicht gleichmäßig verteilt sind. Im klassischen
2384 Notensatz kommen komplexe rhythmische Verhältnisse wie dieses sehr
2385 selten vor, sodass der Notensatz nicht in Hinsicht auf sie optimiert
2386 ist. @code{proportionalNotationDuration} hilft in
2387 dieser Situation deutlich:
2389 @lilypond[quote,verbatim,ragged-right]
2391 proportionalNotationDuration = #(ly:make-moment 1 20)
2393 \new RhythmicStaff {
2397 c'16 c'16 c'16 c'16 c'16
2400 \new RhythmicStaff {
2402 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2408 Aber bei sehr genauer Betrachtung sind die Noten der zweiten Hälfte
2409 der Nonole doch immernoch eine Spur weiter gesetzt als die Noten
2410 der ersten Hälfte. Um wirklich gleichmäßige Abstände zu erzwingen,
2411 sollte auch noch die gleichmäßige Dehnung angeschaltet werden:
2413 @lilypond[quote,verbatim,ragged-right]
2415 proportionalNotationDuration = #(ly:make-moment 1 20)
2416 \override SpacingSpanner #'uniform-stretching = ##t
2418 \new RhythmicStaff {
2422 c'16 c'16 c'16 c'16 c'16
2425 \new RhythmicStaff {
2427 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
2433 Das Beispiel mit den zwei Systemen ist nun exakt nach den
2434 rhythmischen Werten der Noten gesetzt, sodass ein Zeitstrahl
2435 oder ähnliches eingefügt werden könnte.
2437 Alle Einstellungen zur proportionalen Notation erwarten,
2438 dass die @code{uniform-stretching}-Eigenschaft des
2439 @code{SpacingSpanner}-Objekts auf wahr gesetzt wird. Andernfalls
2440 kann es vorkommen, dass bestimmte Abstände (etwa von
2441 unsichtbaren Noten) nicht richtig gesetzt werden.
2443 Das @code{SpacingSpanner}-Objekt ist ein abstraktes Grob, dass sich im
2444 @code{Score}-Kontext befindet. Genauso wie die Einstellungen
2445 von @code{proportionalNotationDuration} können auch diese
2446 Veränderungen an den drei Stellen in der Quelldatei vorkommen:
2447 in der @code{\with}-Umgebung innerhalb von @code{Score}, in
2448 einer @code{\context}-Umgebung oder direkt im Notentext.
2450 Standardmäßig gibt es nur ein @code{SpacingSpanner} pro @code{Score}.
2451 Das heißt, dass @code{uniform-stretching} für die gesamte Partitur
2452 (d.h. für die Reichweite von @code{Score}) entweder an- oder
2453 ausgeschaltet ist. Man kann allerdings in einer Partitur unterschiedliche
2454 Abschnitte mit verschiedenem Platzierungsverhalten definieren.
2455 Hierzu ist der Befehl @code{\newSpacingSection} da. Siehe auch @ref{Eine neuer Bereich mit anderen Abständen}.
2457 Im Folgenden soll gezeigt werden, wie sich der @code{Separating_line_group_engraver}
2458 auswirkt und warum er normalerweise für proportionale Notation ausgeschaltet wird.
2459 In diesem Beispiel wird verdeutlicht, dass vor jeder ersten Note eines Notensystems
2460 immer etwas zusätzlicher Platz gesetzt wird:
2462 @lilypond[quote,verbatim,ragged-right]
2474 Der gleiche horizontale Platz wird vor eine Noten gesetzt, wenn sie
2475 einer Taktart, einem Schlüssel oder einer Tonartbezeichnung folgt.
2476 Dieser Platz wird durch @code{Separating_line_group_engraver}
2477 eingefügt; wenn wir ihn aus der Partitur entfernen, entfällt
2478 auch dieser zusätzliche Platz:
2480 @lilypond[quote,verbatim,ragged-right]
2486 \remove Separating_line_group_engraver
2494 Nichmusikalische Elemente wir Takt- und Tonartangaben, Schlüssel und
2495 Versetzungszeichen sind problematisch in proportionaler
2496 Notation. Keine dieser Elemente hat eine rhythmische Dauer, aber
2497 alle brauchen horizontalen Platz. Das Problem wird auf unterschiedliche
2500 Es ist manchmal möglich, Probleme mit Tonarten zu lösen, indem keine
2501 benutzt werden. Das ist durchaus eine ernstzunehmende Option, weil
2502 die meisten Partituren mit proportionaler Notation für heutige
2503 Musik geschrieben werden. Ähnliches gilt für Taktarten, insbesondere,
2504 wenn ein Zeitstrahl in die Partitur eingearbeitet werden soll.
2505 In den meisten Parituren kommt jedoch irgendeine Taktart vor.
2506 Schlüssel und Versetzungszeichen sind noch wichtiger; auf
2507 sie kann selten verzichtet werden.
2509 Eine Lösungsmöglichkeit ist es, die @code{strict-note-spacing}-Eigenschaft
2510 des @code{SpacingSpanner}-Objekts zu benutzen. Zum Vergleich
2511 die beiden Partituren unten:
2513 @lilypond[quote,verbatim,ragged-right]
2515 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
2525 \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
2526 \override Score.SpacingSpanner #'strict-note-spacing = ##t
2536 Bei beiden handelt es sich um proportionale Notation, aber
2537 die Platzverteilung im oberen Beispiel ist zu weit wegen
2538 des Schlüsselwechsels. Die Platzverteilung des zweiten
2539 Beispiels dagegen bleibt rhythmisch korrekt.
2540 @code{strict-note-spacing} bewirkt, dass Takt- und
2541 Tonartbezeichnungen, Schlüssel und Versetzungszeichen
2542 keine Rolle bei der Berechnung der Abstände spielen.
2544 Zusätzlich zu den hier vorgestellten Einstellungen gibt es
2545 noch eine Reihe von Möglichkteiten, die oft in proportionaler
2546 Notation benutzt werden. Dazu gehören:
2549 @item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
2550 @item @code{tupletFullLength = ##t}
2551 @item @code{\override Beam #'breakable = ##t}
2552 @item @code{\override Glissando #'breakable = ##t}
2553 @item @code{\override TextSpanner #'breakable = ##t}
2554 @item @code{\remove Forbid_line_break_engraver in the Voice context}
2557 Diese Einstellungn bewirken, dass auch Verzierungsnoten proportional
2558 gesetzt werden, dass Klammern von rhythmischen Gruppen bis zu den
2559 Anfangs- und Endpunkten ausgedehnt werden und lassen dehnbare
2560 Objekte wie Balken und Glissandi auch über Taktstriche hinweg zu.
2564 @ref{Eine neuer Bereich mit anderen Abständen}.
2570 @node Die Musik auf weniger Seiten zwingen
2571 @section Die Musik auf weniger Seiten zwingen
2572 @translationof Fitting music onto fewer pages
2574 Manchmal kommt es vor, dass nur ein oder zwei Systeme auf die
2575 nächste Seite geraten, obwohl es so aussieht, als ob auf der
2576 vorigen Seite genügend Platz ist, um diese Systeme auch noch
2579 Wenn man derartige Platzierungsprobleme untersucht, ist die
2580 Funktion @code{annotate-spacing} von sehr großer Hilfe. Hiermit
2581 wird in den Musiksatz zusätzlich Information darüber ausgegeben,
2582 wieviel Platz bestimmten Parametern zugewiesen wird. Genaueres
2584 @ref{Abstände anzeigen lassen}.
2587 * Abstände anzeigen lassen::
2588 * Abstände verändern::
2592 @node Abstände anzeigen lassen
2593 @subsection Abstände anzeigen lassen
2594 @translationof Displaying spacing
2596 @cindex Platzierung, Layouteinstellungen
2598 @funindex annotate-spacing
2600 Die Dimensionen von vertikalen und horizontalen Platzierungsvariablen,
2601 die veränderbar sind, lassen sich mit ihren aktuellen Werten im
2602 Notentext anzeigen, wenn man die Funktion
2603 @code{annotate-spacing} in der @code{\paper}-Umgebung einschaltet:
2605 @c need to have \book{} otherwise we get the separate systems. -hwn
2606 @lilypond[verbatim,quote]
2607 #(set-default-paper-size "a6" 'landscape)
2610 \paper { annotate-spacing = ##t }
2615 Alle Layoutdimensionen werden in Notenlinienzwischenräumen
2616 aufgelistet, unabhängig von den Einheiten, mit denen sie in der
2617 @code{\paper}- oder @code{\layout}-Umgebung definiert worden
2618 sind. In dem letzten Beispiel hat @code{paper-height} einen Wert von
2619 59.75 Notenlinienzwischenräumen und @code{staff-size}
2620 Systemhöhe) ist 20 Punkte. Dabei gilt:
2622 @multitable {1 Notenlinienzwischenraum} {Systemgröße)/4 * (25.4/72.27) mm}
2625 @tab = (25.4/72.27) mm
2627 @item 1 Notenlinienzwischenraum
2628 @tab = (@code{staff-size})/4 pts
2630 @tab = (@code{staff-size})/4 * (25.4/72.27) mm
2634 In diesem Fall ist ein @code{staff-space} (Notenlinienzwischenraum)
2635 etwa gleich 1.757 mm. Deshalb entspricht der Wert von 95.75
2636 @code{staff-space} für @code{paper-height} (Papierhöhe) 105 mm,
2637 die Höhe eines quer gelegten A6-Papiers. Die Paare (@var{a},@var{b}) sind
2638 Intervalle, wobei @var{a} der untere Rand und @var{b} der
2639 obere Rand des Intervalls.
2644 @ref{Die Notensystemgröße einstellen}
2650 @node Abstände verändern
2651 @subsection Abstände verändern
2652 @translationof Changing spacing
2654 Die Ausgabe von @code{annotate-spacing} bietet sehr viele
2655 Details zu den vertikalen Dimensionen einer Paritur. Zu Information,
2656 wie Seitenränder und andere Layout-Variablen geändert werden
2657 können, siehe @ref{Seitenformatierung}.
2659 Neben Rändern gibt es einige weitere Optionen, Platz zu sparen:
2663 LilyPond kann die Systeme so dicht wie möglich platzieren (damit
2664 so viele Systeme wie möglich auf eine Seite passen), aber sie
2665 dann so anordnen, dass kein weißer Rand unten auf der Seite entsteht.
2669 between-system-padding = #0.1
2670 between-system-space = #0.1
2671 ragged-last-bottom = ##f
2677 Die Anzahl der Systeme kann reduziert werden. Das kann auf
2678 zwei Arten helfen: wenn einfach nur ein Wert gesetzt wird, auch
2679 wenn es die gleiche Anzahl ist, die auch schon vorher von LilyPond
2680 erstellt wurde, kann manchmal dazu führen, dass mehr Systeme
2681 auf eine Seite gesetzt werden. Das liegt daran, dass ein
2682 Schritt im Notensatz ausgelassen wird, der die Seitenverteilung
2683 nur grob einschätzt, sodass eine bessere Seitenverteilung
2684 entsteht. Auch wenn man eine Verringerung der Anzahl an Systemen
2685 erzwingt, kann oft eine Seite eingespart werden. Wenn LilyPond
2686 die Musik etwa auf 11 Systeme verteilt, kann man die Benutzung von
2687 nur 10 Systemen erzwingen.
2696 Vermeidung von Objekten, die den vertikalen Abstand von Systemen
2697 vergrößern, hilft oft. Die Verwendung von Klammern bei Wiederholungen
2698 etwa braucht mehr Platz. Wenn die Noten innerhalb der Klammern auf
2699 zwei Systeme verteilt sind, brauchen sie mehr Platz, als wenn sie
2700 nur auf einer Zeile gedruckt werden.
2702 Ein anderes Beispiel ist es, Dynamik-Zeichen, die besonders
2703 weit @qq{hervorstehen}, zu verschieben.
2705 @lilypond[verbatim,quote]
2708 \override DynamicText #'extra-offset = #'( -2.2 . 2.0)
2714 Die horizontalen Abstände können mit der
2715 @code{SpacingSpanner}-Eigenschaft verändert werden. Siehe
2716 @ref{Horizontale Abstände verändern} für Einzelheiten. Dieses
2717 Beispiel zeigt die normalen Abstände:
2719 @lilypond[verbatim,quote]
2732 Das nächste Beispiel verändert @code{common-shortest-duration} (die
2733 häufigste kürzeste Note) von @code{1/4} zu @code{1/2}. Die Viertelnote
2734 ist dennoch die häufigste Note in diesem Abschnitt, sodass der
2735 Notentext zusammengedrängt, wird, wenn eine Halbe als Standard
2738 @lilypond[verbatim,quote]
2750 \override SpacingSpanner
2751 #'common-shortest-duration = #(ly:make-moment 1 2)
2758 Die @code{common-shortest-duration}-Eigenschaft kann nicht
2759 dynamisch verändert werden, darum muss sie immer in der
2760 @code{\context}-Umgebung definiert werden und wirkt sich somit
2761 auf eine ganze @code{\score}-Umgebung aus.
2767 @ref{Seitenformatierung},
2768 @ref{Horizontale Abstände verändern}.