@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Guide, node Updating translation committishes.
@end ignore
-@c \version "2.17.0"
+@c \version "2.17.6"
@c Translators: Till Paala
@ref{Seitenumbrüche},
@ref{Optimale Seitenumbrüche},
@ref{Optimale Umbrüche zum Blättern},
-@ref{Minimale Seitenumbrüche}.
+@ref{Minimale Seitenumbrüche},
+@ref{Eine-Seite-Seitenumbrüche}.
Installierte Dateien:
@file{ly/paper-defaults-init.ly}.
indent = 2\cm
\context @{
\StaffGroup
- \override StaffGrouper #'staff-staff-spacing #'basic-distance = #8
+ \override StaffGrouper.staff-staff-spacing.basic-distance = #8
@}
\context @{
\Voice
- \override TextScript #'padding = #1
- \override Glissando #'thickness = #3
+ \override TextScript.padding = #1
+ \override Glissando.thickness = #3
@}
@}
@end example
+Mehrfache @code{\layout}-Umbgebungen können als Ausdrücke auf höchster
+Ebene eingegeben werden. Das kann beispielsweise nützlich sein, wenn
+unterschiedliche Einstellungen in extra Dateien gespeichert werden und
+optional eingefügt werden. Intern wird eine Kopie der aktuellen
+@code{\layout}-Konfiguration gemacht, wenn eine @code{\layout}-Umgebung
+ausgewertet wird, dann erst werden Änderungen aus der Umgebung angewendet
+und das Ergebnis als die neue aktuelle Konfiguration gespeichert.
+Aus der Sicht des Benutzers werden die @code{\layout}-Umgebungen
+kombiniert, aber in Konfliktsituationen (wenn die gleiche Eigenschaft
+in unterschiedlichen Umgebungen geändert wird), erhält die spätere
+Definition den Vorrang.
+Wenn also diese Umgebung:
+
+@example
+\layout @{
+ \context @{
+ \Voice
+ \override TextScript.color = #magenta
+ \override Glissando.thickness = #1.5
+ @}
+@}
+@end example
+
+nach der Umgebung aus dem vorherigen Beispiel geschrieben wird, werden
+die @code{'padding}- und @code{'color}-Einstellungen für @code{TextScript}
+kombiniert, aber die spätere @code{'thickness}-Einstellung für
+@code{Glissando} ersetzt (oder versteckt) die vorherige.
+
+@code{\layout}-Umgebungen können einer Variable zur späteren Benutzung
+zugewiesen werden, aber die Funktionsweise dieser Zuweisung ist geringfügig
+aber deutlich unterschiedlich von der Variante, sie auszuschreiben.
+
+Wenn eine Variable etwa so definiert wird:
+
+@example
+layoutVariable = \layout @{
+ \context @{
+ \Voice
+ \override NoteHead.font-size = #4
+ @}
+@}
+@end example
+
+@noindent
+dann enthält sie die aktuelle @code{\layout}-Konfiguration mit zusätzlicher
+Veränderung von @code{NoteHead #'font-size} (der Schriftgröße der Notenköpfe),
+aber diese Kombination wird @emph{nicht} als nächste aktuelle
+Konfiguration gespeichert. Man muss sich im klaren sein, dass die
+@qq{aktuelle Konfiguration} gelesen wird, wenn die Variable erstellt
+wird, nicht wenn sie benutzt wird. Darum ist der Inhalt der Variable
+abhängig von ihrer Position in der Partitur.
+
+Die Variable kann dann auch innerhalb einer anderen @code{\layout}-Umgebung
+eingesetzt werden, etwa:
+
+@example
+\layout @{
+ \layoutVariable
+ \context @{
+ \Voice
+ \override NoteHead.color = #red
+ @}
+@}
+@end example
+
+Eine @code{\layout}-Umgebung, die eine Variable enthält wie im Beispiel oben,
+kopiert die aktuelle Konfiguration @emph{nicht}, sondern benützt den
+Inhalt von @code{\layoutVariable} als Basiskonfiguration für die weiteren
+Veränderungen. Das heißt, dass Änderungen, die zwischen der Definition
+der Variable und ihrer Benutzung definiert wurden, verloren gehen.
+
+Wenn @code{layoutVariable} kurz vor ihrer Benutzung definiert wird (oder
+mit @code{\include} eingefügt wird), entspricht ihr Inhalt der
+aktuellen Konfiguration plus die Änderungen, die die Variable definiert.
+Das obige Beispiel, das den Einsatz von @code{\layoutVariable} zeigt,
+würde in seiner finalen Version folgende @code{\layout}-Umgebung haben:
+
+@example
+ TextScript #'padding = #1
+ TextScript #'color = #magenta
+ Glissando #'thickness = #1.5
+ NoteHead #' font-size = #4
+ NoteHead #' color = #red
+@end example
+
+plus die Veränderungen an Einrückung (@code{indent}) und @code{StaffGrouper}.
+
+Aber wenn die Variable vor der ersten @code{\layout}-Umgebung definiert
+wird, würde die aktuelle Konfiguration nur enthalten:
+
+@example
+ NoteHead #' font-size= #4 % (written in the variable definition)
+ NoteHead #' color = #red % (added after the use of the variable)
+@end example
+
+Wenn man sorgfältig plant, können @code{\layout}-Variablen ein wertvolles
+Instrument sein, um das Layout-Design von Quellen zu strukturieren und
+auch dazu dienen, die Layout-Einstellungen an einer bestimmten Stelle
+wieder zurückzusetzen.
@seealso
Notationsreferenz:
* Optimale Seitenumbrüche::
* Optimale Umbrüche zum Blättern::
* Minimale Seitenumbrüche::
+* Eine-Seite-Seitenumbrüche::
* Ausdrückliche Umbrüche::
* Eine zusätzliche Stimme für Umbrüche benutzen::
@end menu
Genauso werden normalerweise Zeilenumbrüche auch verhindert, wenn Balken
über die Taktenden hinausragen. Dieses Verhalten kann verändert werden,
-indem man @code{\override Beam #'breakable = ##t} einstellt:
+indem man @code{\override Beam.breakable = ##t} einstellt:
@lilypond[quote,ragged-right,relative=2,verbatim]
-\override Beam #'breakable = ##t
+\override Beam.breakable = ##t
c2. c8[ c | \break
c8 c] c2. |
@end lilypond
@}
@end example
-
@seealso
Schnipsel:
@rlsr{Spacing}.
+@node Eine-Seite-Seitenumbrüche
+@subsection Eine-Seite-Seitenumbrüche
+@translationof One-line page breaking
+
+@funindex ly:one-line-breaking
+
+Die Funktion @code{ly:one-line-breaking} ist ein besonderer
+Seitenumbruchalgorithmus, der jede Partitur (@code{score}) auf
+eine eigene Seite ausgibt, und in einer einzlenen Zeile. Diese
+Seitenumbruchfunktion gibt keine Titel oder Ränder aus, nur die
+Partitur wird dargestellt.
+
+Die Seitenbreite wird angepasst, sodass die längeste Partitur auf
+eine Zeile passt. Die Variablen @code{paper-width}, @code{line-width}
+und @code{indent} in der @code{\paper}-Umgebung werden ignoriert,
+wenn auch @code{left-margin} und @code{right-margin} noch beachtet
+werden. Die Höhe der Seite wird nicht verändert.
+
+
@node Ausdrückliche Umbrüche
@subsection Ausdrückliche Umbrüche
@translationof Explicit breaks
Einstellungen kann dieses Verhalten ausgeschaltet werden:
@example
-\override NonMusicalPaperColumn #'line-break-permission = ##f
-\override NonMusicalPaperColumn #'page-break-permission = ##f
+\override NonMusicalPaperColumn.line-break-permission = ##f
+\override NonMusicalPaperColumn.page-break-permission = ##f
@end example
Wenn @code{line-break-permission} die Einstellung falsch
\layout {
\context {
\Score
- \override NonMusicalPaperColumn #'line-break-permission = ##f
- \override NonMusicalPaperColumn #'page-break-permission = ##f
+ \override NonMusicalPaperColumn.line-break-permission = ##f
+ \override NonMusicalPaperColumn.page-break-permission = ##f
}
}
}
\score {
\new Staff <<
\new Voice {
- \overrideProperty "Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 0))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 0))
s1 * 2 \break
- \overrideProperty "Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 35))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 35))
s1 * 3 \break
- \overrideProperty "Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 70))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 70))
s1 * 6 \break
- \overrideProperty "Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 105))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 105))
s1 * 5 \break
}
\new Voice {
#(define zero-space '((padding . -inf.0) (basic-distance . 0)))
alignToZero = \with {
- \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = #zero-space
- \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = #zero-space
+ \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #zero-space
+ \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #zero-space
}
lowerCaseChords = \with {
chordNameLowercaseMinor = ##t
}
staffAffinityDown = \with {
- \override VerticalAxisGroup #'staff-affinity = #DOWN
+ \override VerticalAxisGroup.staff-affinity = #DOWN
}
labelContext =
#(define-music-function
\lowerCaseChords }
\context { \FretBoards \alignToZero \staffAffinityDown }
\context { \Score
- \override BarLine #'stencil = ##f
- \override DynamicText #'self-alignment-X = #-1
- \override FretBoard #'X-offset = #1.75
- \override InstrumentName #'minimum-Y-extent = #'(-2 . 2)
- \override InstrumentName #'extra-offset = #'(0 . -0.5)
- \override TextScript #'minimum-Y-extent = #'(-2 . 3)
- \override TimeSignature #'stencil = ##f
+ \override BarLine.stencil = ##f
+ \override DynamicText.self-alignment-X = #-1
+ \override FretBoard.X-offset = #1.75
+ \override InstrumentName.minimum-Y-extent = #'(-2 . 2)
+ \override InstrumentName.extra-offset = #'(0 . -0.5)
+ \override TextScript.minimum-Y-extent = #'(-2 . 3)
+ \override TimeSignature.stencil = ##f
}
}
@example
\new Staff \with @{
- \override VerticalAxisGroup #'default-staff-staff-spacing
- #'basic-distance = #10
+ \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
@} @{ @dots{} @}
\new Staff \with @{
- \override VerticalAxisGroup #'default-staff-staff-spacing =
+ \override VerticalAxisGroup.default-staff-staff-spacing =
#'((basic-distance . 10)
(minimum-distance . 9)
(padding . 1)
\layout @{
\context @{
\Staff
- \override VerticalAxisGroup #'default-staff-staff-spacing
- #'basic-distance = #10
+ \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
@}
@}
@end example
\layout {
\context {
\Staff
- \override VerticalAxisGroup #'default-staff-staff-spacing =
+ \override VerticalAxisGroup.default-staff-staff-spacing =
#'((basic-distance . 8)
(minimum-distance . 7)
(padding . 1))
% By setting 'padding to a negative value, staves can be made to
% collide. The lowest acceptable value for 'basic-distance is 0.
\new Staff \with {
- \override VerticalAxisGroup #'default-staff-staff-spacing =
+ \override VerticalAxisGroup.default-staff-staff-spacing =
#'((basic-distance . 3.5)
(padding . -10))
} { \clef bass g2 r | }
\layout {
\context {
\Score
- \override StaffGrouper #'staff-staff-spacing #'padding = #0
- \override StaffGrouper #'staff-staff-spacing #'basic-distance = #1
+ \override StaffGrouper.staff-staff-spacing.padding = #0
+ \override StaffGrouper.staff-staff-spacing.basic-distance = #1
}
}
<<
\new PianoStaff \with {
- \override StaffGrouper #'staffgroup-staff-spacing #'basic-distance = #20
+ \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #20
} <<
\new Staff { c'1 }
\new Staff { c'1 }
\layout {
\context {
\Lyrics
- \override VerticalAxisGroup
- #'nonstaff-nonstaff-spacing #'stretchability = #1000
+ \override VerticalAxisGroup.nonstaff-nonstaff-spacing.stretchability = #1000
}
}
\new StaffGroup
<<
\new Staff \with {
- \override VerticalAxisGroup #'staff-staff-spacing = #'((basic-distance . 30))
+ \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 30))
} { c'1 }
\new Lyrics \with {
- \override VerticalAxisGroup #'staff-affinity = #UP
+ \override VerticalAxisGroup.staff-affinity = #UP
} \lyricmode { up }
\new Lyrics \with {
- \override VerticalAxisGroup #'staff-affinity = #CENTER
+ \override VerticalAxisGroup.staff-affinity = #CENTER
} \lyricmode { center }
\new Lyrics \with {
- \override VerticalAxisGroup #'staff-affinity = #DOWN
+ \override VerticalAxisGroup.staff-affinity = #DOWN
} \lyricmode { down }
\new Staff { c'1 }
>>
-
-
-
-
-
-
@node Explizite Positionierung von Systemen
@subsection Explizite Positionierung von Systemen
@translationof Explicit staff and system positioning
@code{\overrideProperty}-Befehl sind hier aufgelistet:
@example
-\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((X-offset . 20))
+\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20))
-\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((Y-offset . 40))
+\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 40))
-\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((X-offset . 20)
+\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20)
(Y-offset . 40))
-\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((alignment-distances . (15)))
+\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((alignment-distances . (15)))
-\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((X-offset . 20)
+\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20)
(Y-offset . 40)
(alignment-distances . (15)))
@end example
<<
\new Staff <<
\new Voice {
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 0))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 0))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 40))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 40))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 80))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 80))
s1*5 \break
}
\new Voice { \repeat unfold 15 { c'4 c' c' c' } }
<<
\new Staff <<
\new Voice {
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 20)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 20)
(alignment-distances . (15)))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 60)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 60)
(alignment-distances . (15)))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 100)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 100)
(alignment-distances . (15)))
s1*5 \break
}
<<
\new Staff <<
\new Voice {
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 0)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 0)
(alignment-distances . (30 10)))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 60)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 60)
(alignment-distances . (10 10)))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 100)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 100)
(alignment-distances . (10 30)))
s1*5 \break
}
@lilypond[quote,ragged-right,relative=2,verbatim]
c4_"Text"\pp
r2.
-\once \override TextScript #'outside-staff-priority = #1
+\once \override TextScript.outside-staff-priority = #1
c4_"Text"\pp % this time the text will be closer to the staff
r2.
% by setting outside-staff-priority to a non-number,
% we disable the automatic collision avoidance
-\once \override TextScript #'outside-staff-priority = ##f
-\once \override DynamicLineSpanner #'outside-staff-priority = ##f
+\once \override TextScript.outside-staff-priority = ##f
+\once \override DynamicLineSpanner.outside-staff-priority = ##f
c4_"Text"\pp % now they will collide
@end lilypond
padding bezeichnet), kann durch @code{outside-staff-padding}
kontrolliert werden.
-@lilypond[quote,ragged-right,relative=2,verbatim]
-\once \override TextScript #'outside-staff-padding = #0
+@lilypond[quote,ragged-right,relative=2,verbatim,staffsize=18]
+\once \override TextScript.outside-staff-padding = #0
a'^"This text is placed very close to the note"
-\once \override TextScript #'outside-staff-padding = #3
+\once \override TextScript.outside-staff-padding = #3
c^"This text is padded away from the previous text"
c^"This text is placed close to the previous text"
@end lilypond
c''2
% setting outside-staff-horizontal-padding fixes this
R1
-\once \override TextScript #'outside-staff-horizontal-padding = #1
+\once \override TextScript.outside-staff-horizontal-padding = #1
c,,4^"Text"
c4
c''2
{
c'4 e''4 e'4 b'4 |
b'4 e''4 b'4 e''4 |
- \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
- \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
+ \override Staff.NoteSpacing.stem-spacing-correction = #1.5
+ \override Staff.StaffSpacing.stem-spacing-correction = #1.5
c'4 e''4 e'4 b'4 |
b'4 e''4 b'4 e''4 |
}
werden, um zusätzlichen Platz in eine Partitur einzufügen.
@example
- \override Score.NonMusicalPaperColumn #'padding = #10
+ \override Score.NonMusicalPaperColumn.padding = #10
@end example
Es gibt derzeit keine Möglichkeit, den Platz zu verringern.
\layout {
\context {
\Score
- \override SpacingSpanner
- #'base-shortest-duration = #(ly:make-moment 1 16)
+ \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16)
}
}
}
\layout {
\context {
\Score
- \override SpacingSpanner #'uniform-stretching = ##t
+ \override SpacingSpanner.uniform-stretching = ##t
}
}
}
zusätzlichen Platz erhalten.
@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
-\override Score.SpacingSpanner #'strict-note-spacing = ##t
+\override Score.SpacingSpanner.strict-note-spacing = ##t
\new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
@end lilypond
@item @code{uniform-stretching} (gleichmäßige Dehnung)
@item @code{strict-note-spacing} (strenge Notenverteilung)
@item @code{\remove "Separating_line_group_engraver"} (entferne Liniengruppentrennungsengraver)
-@item @code{\override PaperColumn #'used = ##t} (PapierSpalte benutzt = wahr)
+@item @code{\override PaperColumn.used = ##t} (PapierSpalte benutzt = wahr)
@end itemize
In den Beispielen unten werden diese fünf unterschiedlichen Einstellungen
\context {
\Score
proportionalNotationDuration = #(ly:make-moment 1 20)
- \override SpacingSpanner #'uniform-stretching = ##t
+ \override SpacingSpanner.uniform-stretching = ##t
}
}
}
\new Staff {
\set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
- \override Score.SpacingSpanner #'strict-note-spacing = ##t
+ \override Score.SpacingSpanner.strict-note-spacing = ##t
c''8
c''8
c''8
Notation benutzt werden. Dazu gehören:
@itemize
-@item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
+@item @code{\override SpacingSpanner.strict-grace-spacing = ##t}
@item @code{tupletFullLength = ##t}
-@item @code{\override Beam #'breakable = ##t}
-@item @code{\override Glissando #'breakable = ##t}
-@item @code{\override TextSpanner #'breakable = ##t}
+@item @code{\override Beam.breakable = ##t}
+@item @code{\override Glissando.breakable = ##t}
+@item @code{\override TextSpanner.breakable = ##t}
@item @code{\remove "Forbid_line_break_engraver" in the Voice context}
@end itemize
@lilypond[verbatim,quote,relative=1]
e4 c g\f c
-e4 c g-\tweak #'X-offset #-2.7 -\tweak #'Y-offset #2.5 \f c
+e4 c g-\tweak X-offset #-2.7 -\tweak Y-offset #2.5 \f c
@end lilypond
@item
\layout {
\context {
\Score
- \override SpacingSpanner
- #'common-shortest-duration = #(ly:make-moment 1 2)
+ \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1 2)
}
}
}