@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
+ Translation of GIT committish: a0077273ac8bf29ae472c8712bc78a02d138f898
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.15.10"
+@c \version "2.15.39"
@node Die Ausgabe verändern
@chapter Die Ausgabe verändern
definiert werden muss.
Spätere Abschnitte behandeln umfassend Eigenschaften und ihre
-Werte, aber um ihre Funktion und ihr Format zu demonstrieren,
+Werte, siehe @ref{Typen von Eigenschaften}. Aber um ihre Funktion und ihr
+Format zu demonstrieren,
werden wir hier nur einige einfache Eigenschaften und Werte einsetzen,
die einfach zu verstehen sind.
auftreten wie der @code{\override}-Befehl.
Der @code{\tweak}-Befehl funktioniert anders. Er bezieht sich
-auf das direkt folgende Element in der Eingabe-Datei. Es wirkt
-aber auch nur mit Objekten, die direkt von der Eingabe kreiert
-werden, insbesondere Notenköpfe und Artikulationszeichen.
-Objekte wie etwa Hälse oder Versetzungszeichen werden erst
-später erstellt und lassen sich nicht auf diese Weise ändern.
+auf das direkt folgende Element in der Eingabe-Datei. In seiner
+einfachsten Form ist der Befehl nur an Objekten wirksam, die direkt
+vom vorhergehenden Element erstellt worden sind, insbesondere
+Notenköpfe und Artikulation.
Um also zu unserem Beispiel zurückzukommen, könnte man die
mittlere Note eines Akkordes auf diese Weise ändern:
@end lilypond
Beachten Sie, dass die Syntax des @code{\tweak}-Befehls sich
-von der des @code{\override}-Befehls unterscheidet. Weder
-Kontext noch Layout-Objekt können angegeben werden, denn
-das würde zu einem Fehler führen. Beide Angaben sind
-durch das folgende Element impliziert. Hier sollte auch
+von der des @code{\override}-Befehls unterscheidet. Der
+Kontext dürfen nicht angegeben werden, denn
+das würde zu einem Fehler führen. Sowohl Kontext als auch das Layout-Objekt sind
+durch das folgende Element im Inputstream impliziert. Hier sollte auch
kein Gleichheitszeichen vorhanden sein. Die verallgemeinerte
-Syntax des @code{\tweak}-Befehls ist also einfach
+Syntax des @code{\tweak}-Befehls ist also
@example
\tweak #'@var{layout-eigenschaft} #@var{Wert}
(@code{^} or @code{_}) gilt der Modifikator links außen, weil er als
letzter angefügt wird.
+@cindex @code{\tweak}, Versetzungszeichen
+@cindex @code{\tweak}, bestimmtes Layout-Objekt
+
+Objekte wie Hälse und Versetzungszeichen werden später erstellt und nicht
+direkt aus dem vorhergehenden Ereignis. Es ist dennoch möglich, @code{\tweak}
+mit solchen indirekt erstelltn Objekten zu verwenden, indem man die
+Layout-Objekte direkt benennt, vorausgesetzt dass LilyPond ihre Herkunft
+bis zu dem ursprünglichen Ereignis zurück verfolgen kann:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+<\tweak Accidental #'color #red cis4
+ \tweak Accidental #'color #green es
+ g>
+@end lilypond
+
+Diese Langform des @code{\tweak}-Befehls kann wie folgend beschrieben werden:
+
+@example
+\tweak @var{layout-object} #'@var{layout-property} @var{value}
+@end example
+
@cindex Triolen, geschachtelt
@cindex N-tolen, geschachtelt
@cindex Klammer, Triole
<<
{ c2 aes4. bes8 }
\\
- { aes2 f4 fes }
+ { <ees, c>2 des }
\\
- {
- \voiceFour
- <ees c>2 des
- }
+ \\
+ { aes'2 f4 fes }
>> |
<c ees aes c>1 |
}
@end lilypond
@noindent
-Die unteren zwei Noten des ersten Akkords (also die in der
-dritten Stimme) sollten nicht aus der Notenkolumne der
-oberen zwei Noten weggeschoben werden. Um das zu
-korrigieren, setzen wir @code{force-hshift}, das eine
-Eigenschaft von
-@code{NoteColumn} ist, für diese Noten auf Null.
-Die untere Note des zweiten Akkordes wird am besten
-direkt rechts von den oberen Noten gesetzt. Das erreichen
-wir, indem wir @code{force-hshift} für diese Note auf
-0.5 setzen, also eine halbe Notenkopfbreite nach rechts von
-der Kolumne der oberen Noten aus.
+Die inneren Noten des ersten Akkordes (also das As in der vierten Stimme)
+müssen nicht mit shift verschoben aus der Noten-Kolumne der höheren Stimme
+verschoben werden. Um das zu korrigieren, setzen wir den Wert von
+@code{force-hshift}, einer Eigenschaft von @code{NoteColumn}, auf Null.
+
+Im zweiten Akkord wollen wir, dass das F sich am A orientiert und die
+tiefste Note leicht nach rechts verschoben wird, damit ein Zusammenstoß
+der Hälse vermieden wird. Das erreicht man mit @code{force-hshift} in
+@code{NoteColumn} des unteren Des, um es nach rechts um einen halben
+Notenlinienzwischenraum zu verschieben.
Hier das Endergebnis:
<<
{ c2 aes4. bes8 }
\\
- { aes2 f4 fes }
- \\
{
- \voiceFour
- \once \override NoteColumn #'force-hshift = #0
- <ees c>2
+ <ees, c>2
\once \override NoteColumn #'force-hshift = #0.5
des2
}
+ \\
+ \\
+ {
+ \override NoteColumn #'force-hshift = #0
+ aes'2 f4 fes
+ }
>> |
<c ees aes c>1 |
}
% Stem on the d2 must be down to permit merging
\stemDown
% Stem on the d2 should be invisible
- \once \override Stem #'transparent = ##t
- \once \override Flag #'transparent = ##t
+ \tweak Stem #'transparent = ##t
+ \tweak Flag #'transparent = ##t
d2
}
\new Voice {
% Stem on the d2 must be down to permit merging
\stemDown
% Stem on the d2 should be invisible
- \once \override Stem #'transparent = ##t
- \once \override Flag #'transparent = ##t
+ \tweak Stem #'transparent = ##t
+ \tweak Flag #'transparent = ##t
d2
}
\new Voice {
@lilypond[quote,fragment,relative=2,verbatim]
<<
{
- \once \override Stem #'transparent = ##t
- \once \override Flag #'transparent = ##t
+ \tweak Stem #'transparent = ##t
+ \tweak Flag #'transparent = ##t
b8~ b\noBeam
}
\\
@lilypond[quote,fragment,relative=2,verbatim]
<<
{
- \once \override Stem #'transparent = ##t
- \once \override Flag #'transparent = ##t
- \once \override Stem #'length = #8
+ \tweak Stem #'transparent = ##t
+ \tweak Flag #'transparent = ##t
+ \tweak Stem #'length = #8
b8~ b\noBeam
}
\\
}
@end lilypond
-Es gibt einige Probleme mit sich überschneidender Ausgabe, die wird
-zurechtgerückt mit den Techniken von @ref{Verschieben von Objekten}.
-Aber jetzt zu den Definitionen von @code{mpdolce} und @code{inst}.
+Vielleicht können die Definitionen von @code{mpdolce} und @code{inst} noch
+etwas verbessert werden.
Sie erstellen die gewünschte Ausgabe, aber wir wollen sie vielleicht
auch in einem anderen Stück verwenden. Wir könnten sie immer wieder
kopieren und oben in jedes Stück einfügen, aber das ist sehr aufwändig.