@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: aa632c095138aaaa0f50f73c90e72efb4b61d745
+ Translation of GIT committish: fc1ca638e0b5f66858b9b7a073ceefc1eccb3ed2
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.13.36"
+@c \version "2.15.10"
@node Die Ausgabe verändern
@chapter Die Ausgabe verändern
@funindex once
Sowohl der @code{\override}-Befehl als auch der @code{\set}-Befehl können mit
-dem Präfix @code{\once} (@emph{einmal}) versehen werden. Dadurch wird
+dem Präfix @code{\once} (@emph{einmal}) versehen werden. Dadurch wird
der folgende @code{\override}- oder @code{\set}-Befehl nur für den aktuellen
-Musik-Moment wirksam, bevor sich wieder der Standard einstellt. Am gleichen
+Musik-Moment wirksam, bevor sich wieder der vorherige Zustand herstellt
+(dieser kann sich vom Standard unterscheiden, wenn etwa noch ein anderer
+@code{\override}-Befehl aktiv ist). Am gleichen
Beispiel demonstriert, kann damit die Farbe eines einzelnen Notenkopfes
geändert werden:
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
c4 d
-\once \override NoteHead #'color = #red
+\override NoteHead #'color = #red
e4 f |
\once \override NoteHead #'color = #green
-g4 a b c |
+g4 a
+\revert NoteHead #'color
+b c |
@end lilypond
Es gibt eine andere Form des @code{override}-Befehls,
@code{\overrideProperty} (überschreibe Eigenschaft),
-welcher ab und zu benötigt wird. Es wird hier nur der
+welcher ab und zu benötigt wird. Es wird hier nur der
Vollständigkeit halber erwähnt, sein Einsatz wird demonstriert
in @rextend{Schwierige Korrekturen}.
@c Maybe explain in a later iteration -td
@funindex tweak
Der letzte Optimierungsbefehl in LilyPond ist @code{\tweak}
-(engl. optimieren). Er wird eingesetzt um Eigenschaften
-von Objekten zu verändern, die zum selben Musik-Moment
-auftreten, wie etwa die Noten eines Akkordes. Ein
+(engl. optimieren). Er wird eingesetzt um Eigenschaften
+nur eines Objektes von mehreren Objekten zu verändern,
+die zum selben Musik-Moment
+auftreten, wie etwa die Noten eines Akkordes. Ein
@code{\override} würde alle Noten des Akkords beeinflussen,
während mit @code{\tweak} nur das nächste Objekt der
Eingabe geändert wird.
Hier ein Beispiel. Angenommen, die Größe des mittleren
Notenkopfes (ein E) in einem C-Dur-Akkord soll geändert
-werden. Schauen wir zuerst, was wir mit
+werden. Schauen wir zuerst, was wir mit
@code{\once \override} erhalten:
@cindex Schriftgröße, Beispiel
@end lilypond
Wie man sehen kann, beeinflusst @code{override} @emph{alle}
-Notenköpfe des Akkordes. Das liegt daran, dass alle die Noten
+Notenköpfe des Akkordes. Das liegt daran, dass alle die Noten
eines Akkordes zum selben Musik-Moment auftreten und
die Funktion von @code{\once} ist es, die Optimierung auf
an allen Objekten auszuführen, die zum selben Musik-Moment
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
+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.
-Zusätzlich @emph{müssen} sich etwa Notenköpfe innerhalb
-eines Akkordes befinden, d. h. sie müssen von einfachen spitzen
-Klammern umschlossen sein. Um also eine einzelne Note
-mit @code{\tweak} zu verändern, muss der Befehl innerhalb
-der spitzen Klammern zusammen mit der Note eingegeben werden.
Um also zu unserem Beispiel zurückzukommen, könnte man die
mittlere Note eines Akkordes auf diese Weise ändern:
@end lilypond
@noindent
-Beachten Sie, dass dem @code{\tweak}-Befehl ein Artikulationsmodifikator
-vorangestellt werden muss, ganz als ob er selbst ein Artikulationszeichen
-wäre.
+Beachten Sie, dass ein Artikulationsmodifikator vor dem @code{\tweak}-Befehl
+geschrieben werden muss, weil auch der @code{\tweak}-Ausdruck als
+Artikulation angefügt wird. Im Falle von mehreren Richtungsmodifikatoren
+(@code{^} or @code{_}) gilt der Modifikator links außen, weil er als
+letzter angefügt wird.
@cindex Triolen, geschachtelt
@cindex N-tolen, geschachtelt
@menu
* Eigenschaften von Layoutobjekten::
-* Eigenschaften, die Schnittstellen besitzen können::
+* Eigenschaften die Schnittstellen besitzen können::
* Typen von Eigenschaften::
@end menu
@end example
Das sieht ganz danach aus, als ob damit die Dicke geändert
-werden kann. Es bedeutet, dass der Wert von
+werden kann. Es bedeutet, dass der Wert von
@code{thickness} einfach eine Zahl (@emph{number}) ist,
dass der Standardwert 1.2 ist, und dass die Einheit
für die Dicke eine andere Eigenschaft mit der
Wie schon früher gesagt, gibt es wenig bis gar keine Erklärungen
in der IR, aber wir haben schon genug Informationen, um
-zu versuchen, die Dicke eines Legatobogens zu ändern. Die
-Bezeichnung des Layout-Objekts ist offensichtlich
-@code{Slur} und die Bezeichnung der Eigenschaft, die geändert
-werden soll
-@code{thickness}. Der neue Wert sollte etwas mehr als 1.2 sein,
+zu versuchen, die Dicke eines Legatobogens zu ändern. Die
+Bezeichnung des Layout-Objekts ist offensichtlich @code{Slur}
+und die Bezeichnung der Eigenschaft, die geändert werden soll
+@code{thickness}. Der neue Wert sollte etwas mehr als 1.2 sein,
denn der Bogen soll ja dicker werden.
Den benötigten @code{\override}-Befehl können wir jetzt einfach
konstruieren, indem wir die Werte für die Bezeichnungen in den
-Modellbefehl einfügen und den Kontext auslassen. Setzen wir
+Modellbefehl einfügen und den Kontext auslassen. Setzen wir
einmal einen sehr großen Wert für die Dicke um zu sehen, ob der
-Befehl auch funktioniert. Also:
+Befehl auch funktioniert. Also:
@example
\override Slur #'thickness = #5.0
Schritt für Schritt immer weniger Erklärungen beinhalten.
-@node Eigenschaften, die Schnittstellen besitzen können
+@node Eigenschaften die Schnittstellen besitzen können
@subsection Eigenschaften, die Schnittstellen besitzen können
@translationof Properties found in interfaces
@item Richtung
@tab Eine gültige Richtungskonstante oder das numerische Äquivalent
@tab @code{LEFT}, @code{CENTER}, @code{UP},
- @code{1}, @code{-1}
+ @code{1}, @w{@code{-1}}
@item Integer
@tab Eine positive ganze Zahl
@tab @code{3}, @code{1}
@code{(ly:make-moment 3 8)}
@item Zahl
@tab Eine beliebige positive oder negative Dezimalzahl
- @tab @code{3.5}, @code{-2.45}
+ @tab @code{3.5}, @w{@code{-2.45}}
@item Paar (Zahlenpaar)
@tab Zwei Zahlen getrennt von @qq{Leerzeichen . Leerzeichen}, eingeklammert
und angeführt von einem Apostroph
Bevor wir uns hieran machen, sei daran erinnert, dass
Objekteigenschaften in sogenannten @emph{Schnittstellen}
-- engl. interface -- gruppiert sind, siehe auch
-@ref{Eigenschaften, die Schnittstellen besitzen können}. Das dient ganz einfach
+@ref{Eigenschaften die Schnittstellen besitzen können}. Das dient ganz einfach
dazu, die Eigenschaften zusammenzufassen, die üblicherweise
zusammen benötigt werden -- wenn eine davon für ein Objekt
gilt, dann auch die anderen. Manche Objekte brauchen die
@code{Staff}-Kontext. Beachten Sie auch, dass Sie @code{#'#}
vor der öffnenden Klammer schreiben müssen:
@code{'#} wird benötigt als Teil des Wertes, um einen Vektor zu
-signalisieren, und das erste @code{#} wird benötigt, um
+signalisieren, und das erste@tie{}@code{#} wird benötigt, um
den Wert in einem @code{\override}-Befehl anzuführen.
@cindex Taktlinie, Beispiel zur Veränderung
@end lilypond
Hier werden die Konstanten @code{DOWN} und @code{UP}
-eingesetzt. Sie haben die Werte @code{-1} bzw. @code{+1}, und
+eingesetzt. Sie haben die Werte @w{@code{-1}} bzw. @code{+1}, und
diese numerischen Werte können ebenso benutzt werden. Auch
der Wert @code{0} kann in manchen Fällen benutzt werden. Er
bedeutet für die Hälse das gleiche wie @code{UP}, für einige
kann auch die Schriftgröße (@code{font-size}) verringert
werden. Der Standardwert kann aus dem
@code{Fingering}-Objekt in der IR entnommen werden,
-er ist @code{-5}, versuchen wir es also mit @code{-7}.
+er ist @w{@code{-5}}, versuchen wir es also mit @w{@code{-7}}.
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
\override Fingering #'font-size = #-7
auf falsch (@code{#f}) gesetzt; dieser Wert wird in einen numerischen
Wert dem Objekt entsprechend geändert, wenn das Objekt für die
Notenausgabe erstellt wird. Die Tabelle unten zeigt die
-Standardwerte für die meistbenutzten @code{outside-staff}-Objekte,
-die den Voreinstellungen nach im @code{Staff}- oder
-@code{Voice}-Kontext gesetzt werden.
+Standardwerte für die meistbenutzten @code{outside-staff}-Objekte.
@cindex spanners
@cindex Strecker
@headitem Layout-Objekt
@tab Priorität
@tab Kontrolliert Position von:
-@item @code{MultiMeasureRestText}
- @tab @code{450}
- @tab Text über Ganztaktpausen
+@item @code{RehearsalMark}
+ @tab @code{1500}
+ @tab Übungszeichen
+@item @code{MetronomeMark}
+ @tab @code{1000}
+ @tab Metronomzeichen
+@item @code{VoltaBracketSpanner}
+ @tab @code{600}
+ @tab Volta-Wiederholungsklammern
@item @code{TextScript}
@tab @code{450}
@tab Textbeschriftung
+@item @code{MultiMeasureRestText}
+ @tab @code{450}
+ @tab Text über Ganztaktpausen
@item @code{OttavaBracket}
@tab @code{400}
@tab Ottava (Oktavierungsklammern)
@item @code{DynamicLineSpanner}
@tab @code{250}
@tab Alle Dynamik-Bezeichnungen
-@item @code{VoltaBracketSpanner}
- @tab @code{100}
- @tab Volta-Klammern
+@item @code{BarNumber}
+ @tab @code{ 100}
+ @tab Taktzahlen
@item @code{TrillSpanner}
@tab @code{50}
@tab Triller-Strecker
@cindex Übungszeichenposition verändern
@cindex Verändern der Übungszeichenposition
-Beachten Sie, dass Taktnummern, Metronombezeichnungen
-und Übungszeichen nicht gezeigt werden. Sie werden
-standardmäßig im @code{Score}-(Partitur)-Kontext
-erstellt und ihre @code{outside-staff-priority} wird
-in Bezug auf die Layout-Objekte, die im @code{Staff}-Kontext
-erstellt werden, ignoriert. Wenn Sie Taktnummern,
-Metronombezeichnungen oder Übungszeichen entsprechend
-ihrer Außersystem-Priorität setzen wollen, müssen Sie
-die entsprechenden Engraver (@code{Bar_number_engraver},
-@code{Metronome_mark_engraver} oder @code{Mark_engraver})
-vom @code{Score}-Kontext entfernen und dem
-@code{Staff}-Kontext hinzufügen. Wenn die Engraver so
-geändert werden, erhalten sie folgenden Werte für
-@code{outside-staff-priority}:
-
-@multitable @columnfractions .3 .3
-@headitem Layout-Objekt @tab Priorität
-@item @code{RehearsalMark} @tab @code{1500}
-@item @code{MetronomeMark} @tab @code{1000}
-@item @code{BarNumber} @tab @code{ 100}
-@end multitable
-
Wenn die Standardwerte der @code{outside-staff-priority} nicht
die Positionierung hervorrufen, die Sie wünschen, kann die
Priorität eines jeden Objektes geändert werden. Als Beispiel
c,4 c c c
@end lilypond
+Beachten Sie, dass einige dieser Objekte, insbesondere Taktzahlen,
+Metronomzeichen und Übungszeichen standardmäßig im @code{Score}-Kontext
+zu Hause sind; benutzen Sie also den richtigen Kontext, wenn sie
+deren Einstellungen verändern wollen.
+
@cindex Legatobögen und outside-staff-priority
@cindex Legatobögen und Artikulationszeichen
@cindex Artikulationszeichen und Legatobögen
unterstützen. Das sind üblicherweise Objekte, die Text
enthalten. Die möglichen Werte der Eigenschaft sind @code{LEFT},
@code{RIGHT} oder @code{CENTER}. Alternativ kann ein
-numerischer Wert zwischen @code{-1} und @code{+1}
-bestimmt werden: @code{-1} heißt linksbündig, @code{+1}
+numerischer Wert zwischen @w{@code{-1}} und @code{+1}
+bestimmt werden: @w{@code{-1}} heißt linksbündig, @code{+1}
rechtsbündig und Zahlen dazwischen bewegen den Text
schrittweise von links nach rechts. Zahlen größer als
@code{1} können angegeben werden, um den Text
-noch weiter nach links zu bewegen, oder weniger als @code{-1},
+noch weiter nach links zu bewegen, oder weniger als @w{@code{-1}},
um ihn weiter nach rechts zu schieben. Eine Änderung
um @code{1} des Wertes entspricht einer Bewegung um
die halbe Textbreite.
@code{<<@{...@} \\ @{...@}>>}-Konstruktion) wird die
Position auf dem System (@code{staff-position}) auf -4
für @code{MultiMeasureRest}, in unserem Beispiel muss
-es also bspw. auf die Position @code{-8} gesetzt werden,
+es also bspw. auf die Position @w{@code{-8}} gesetzt werden,
d.h. vier halbe Notenlinienabstände weiter nach unten:
@cindex MultiMeasureRest, Beispiel zur Veränderung
\acciaccatura e8\( d8 c~ c d c d\)
@end lilypond
-Hier noch ein weiteres Beispiel aus der Einleitung von Chopins
-Prelude Op. 28 Nr. 2, das untere System. Wie zu sehen ist,
-stößt der Balken mit den oberen Noten zusammen:
+Hier noch ein weiteres Beispiel. Wie zu sehen ist,
+stößt der Balken mit den oberen Bögen zusammen:
@lilypond[quote,verbatim,fragment,ragged-right]
{
- \clef "bass"
- << { b,8 ais, b, g, } \\ { e, g e, g } >>
- << { b,8 ais, b, g, } \\ { e, g e, g } >>
+ \time 4/2
+ <<
+ { c'1 ~ c'2. e'8 f' }
+ \\
+ { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' }
+ >>
+ <<
+ { c'1 ~ c'2. e'8 f' }
+ \\
+ { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' }
+ >>
}
@end lilypond
@noindent
Das kann manuell gelöst werden, indem beide Enden des Balkens
-von ihrer Position 2 Notenlinienabstände über der Mittellinie
-hochgeschoben werden, etwa auf 3:
+von ihrer Position 1.81 Notenlinienabstände unter der Mittellinie
+hochgeschoben werden, etwa auf 1:
@cindex Balken, Beispiel zur Veränderung
@cindex positions-Eigenschaft, Beispiel
@lilypond[quote,verbatim,fragment,ragged-right]
{
- \clef "bass"
+ \time 4/2
<<
- \override Beam #'positions = #'(3 . 3)
- { b,8 ais, b, g, }
- \\
- { e, g e, g }
+ { c'1 ~ c'2. e'8 f' }
+ \\
+ {
+ \override Beam #'positions = #'(-1 . -1)
+ e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g''
+ }
+ >>
+ <<
+ { c'1 ~ c'2. e'8 f' }
+ \\
+ { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' }
>>
- << { b,8 ais, b, g, } \\ { e, g e, g } >>
}
@end lilypond
@noindent
-Hier ist zu beobachten, dass die Veränderung sich auch auf die
-weiteren Achtelbalken der ersten Stimme auswirkt, während sie keine
+Hier ist zu beobachten, dass die Veränderung sich auch auf den
+die erste Stimme des weiteren Taktes mit Achtelnoten auswirkt, während sie keine
Auswirkung auf die Balken der zweiten Stimme hat.
@subheading force-hshift (vertikale Verschiebunseigenschaft)
c,8~
% Reposition the c2 to the right of the merged note
\once \override NoteColumn #'force-hshift = #1.0
- % Move the c2 out of the main note column so the merge will work
+ % Move the c2 out of the main note column
+ % so the merge will work
\shiftOnn
c2
}
\stemDown
% Stem on the d2 should be invisible
\once \override Stem #'transparent = ##t
+ \once \override Flag #'transparent = ##t
d2
}
\new Voice {
c,8~
% Reposition the c2 to the right of the merged note
\once \override NoteColumn #'force-hshift = #1.0
- % Move the c2 out of the main note column so the merge will work
+ % Move the c2 out of the main note column
+ % so the merge will work
\shiftOnn
c2
}
\stemDown
% Stem on the d2 should be invisible
\once \override Stem #'transparent = ##t
+ \once \override Flag #'transparent = ##t
d2
}
\new Voice {
* Variablen für Optimierungen einsetzen::
* Globale Formatierung::
* Mehr Information::
-* Vermeiden von Optimierungen durch langsamere Übersetzung::
* Fortgeschrittene Optimierungen mit Scheme::
@end menu
<<
{
\once \override Stem #'transparent = ##t
+ \once \override Flag #'transparent = ##t
b8~ b\noBeam
}
\\
<<
{
\once \override Stem #'transparent = ##t
+ \once \override Flag #'transparent = ##t
\once \override Stem #'length = #8
b8~ b\noBeam
}
}
VerseTwo = \lyricmode {
- O | \emphasize Christ, \normal whose voice the | wa -- ters heard,
+ O | \once \emphasize Christ, whose voice the | wa -- ters heard,
}
VerseThree = \lyricmode {
@lilypond[quote,verbatim,ragged-right]
mpdolce =
-#(make-dynamic-script
- (markup #:hspace 0
- #:translate '(5 . 0)
- #:line (#:dynamic "mp"
- #:text #:italic "dolce")))
+ #(make-dynamic-script
+ #{ \markup { \hspace #0
+ \translate #'(5 . 0)
+ \line { \dynamic "mp"
+ \text \italic "dolce" } }
+ #})
inst =
#(define-music-function
(parser location string)
(string?)
- (make-music
- 'TextScriptEvent
- 'direction UP
- 'text (markup #:bold (#:box string))))
+ #{ ^\markup \bold \box #string #})
\relative c'' {
\tempo 4=50
@example
%%% in Datei "definitions.ily" speichern
mpdolce =
-#(make-dynamic-script
- (markup #:hspace 0
- #:translate '(5 . 0)
- #:line (#:dynamic "mp"
- #:text #:italic "dolce")))
+ #(make-dynamic-script
+ #@{ \markup @{ \hspace #0
+ \translate #'(5 . 0)
+ \line @{ \dynamic "mp"
+ \text \italic "dolce" @} @}
+ #@})
inst =
#(define-music-function
(parser location string)
(string?)
- (make-music
- 'TextScriptEvent
- 'direction UP
- 'text (markup #:bold (#:box string))))
+ #@{ ^\markup \bold \box #string #@})
@end example
Diese Datei wir mit dem @code{\include}-Befehl ziemlich weit oben
-in der Datei eingefügt. (Die Erweiterung @code{.ily} wird benutzt,
+in der Datei eingefügt. (Die Erweiterung @file{.ily} wird benutzt,
um diese Datei als eine eingefügte, inkludierte zu kennzeichnen, die
man nicht alleinstehend kompilieren kann.) Jetzt ändern wir die
Noten (in der Datei @file{music.ly}).
@lilypond[quote,ragged-right]
mpdolce =
-#(make-dynamic-script
- (markup #:hspace 0
- #:translate '(5 . 0)
- #:line (#:dynamic "mp"
- #:text #:italic "dolce")))
+ #(make-dynamic-script
+ #{ \markup { \hspace #0
+ \translate #'(5 . 0)
+ \line { \dynamic "mp"
+ \text \italic "dolce" } }
+ #})
inst =
#(define-music-function
(parser location string)
(string?)
- (make-music
- 'TextScriptEvent
- 'direction UP
- 'text (markup #:bold (#:box string))))
+ #{ ^\markup \bold \box #string #})
\relative c'' {
\tempo 4=50
%%% definitions.ily
mpdolce =
#(make-dynamic-script
- (markup #:hspace 0
- #:translate '(5 . 0)
- #:line (#:dynamic "mp"
- #:text #:italic "dolce")))
+ #@{ \markup @{ \hspace #0
+ \translate #'(5 . 0)
+ \line @{ \dynamic "mp"
+ \text \italic "dolce" @} @}
+ #@})
inst =
#(define-music-function
(parser location string)
(string?)
- (make-music
- 'TextScriptEvent
- 'direction UP
- 'text (markup #:bold (#:box string))))
+ #@{ ^\markup \bold \box #string #@})
\layout@{
\context @{
@lilypond[quote,ragged-right]
mpdolce =
#(make-dynamic-script
- (markup #:hspace 0
- #:translate '(5 . 0)
- #:line (#:dynamic "mp"
- #:text #:italic "dolce")))
+ #{ \markup { \hspace #0
+ \translate #'(5 . 0)
+ \line { \dynamic "mp"
+ \text \italic "dolce" } }
+ #})
inst =
#(define-music-function
(parser location string)
(string?)
- (make-music
- 'TextScriptEvent
- 'direction UP
- 'text (markup #:bold (#:box string))))
+ #{ ^\markup \bold \box #string #})
\layout{
\context {
%%% definitions.ily
mpdolce =
#(make-dynamic-script
- (markup #:hspace 0
- #:translate '(5 . 0)
- #:line (#:dynamic "mp"
- #:text #:italic "dolce")))
+ #@{ \markup @{ \hspace #0
+ \translate #'(5 . 0)
+ \line @{ \dynamic "mp"
+ \text \italic "dolce" @} @}
+ #@})
inst =
#(define-music-function
(parser location string)
(string?)
- (make-music
- 'TextScriptEvent
- 'direction UP
- 'text (markup #:bold (#:box string))))
+ #@{ ^\markup \bold \box #string #@})
#(set-global-staff-size 23)
@lilypond[quote,ragged-right]
mpdolce =
#(make-dynamic-script
- (markup #:hspace 0
- #:translate '(5 . 0)
- #:line (#:dynamic "mp"
- #:text #:italic "dolce")))
+ #{ \markup { \hspace #0
+ \translate #'(5 . 0)
+ \line { \dynamic "mp"
+ \text \italic "dolce" } }
+ #})
inst =
#(define-music-function
(parser location string)
(string?)
- (make-music
- 'TextScriptEvent
- 'direction UP
- 'text (markup #:bold (#:box string))))
+ #{ ^\markup \bold \box #string #})
#(set-global-staff-size 23)
@item Linux
Wechseln Sie in das Verzeichnis
+@example
@file{@var{INSTALL_VERZ}/lilypond/usr/@/share/lilypond/current/}
+@end example
@item MacOS X
Wechseln Sie in das Verzeichnis
+@example
@file{@var{INSTALL_VERZ}/LilyPond.app/Contents/@/Resources/share/lilypond/current/}
+@end example
+
indem Sie entweder mit dem Befehl @code{cd} vom Terminal aus
in das Verzeichnis wechseln, oder mit Control-Klick auf das
LilyPond-Programmsymbol gehen und @qq{Show Package Contents}
@item Windows
Wechseln Sie mit dem Windows Explorer ins Verzeichnis
+@example
@file{@var{INSTALL_VERZ}/LilyPond/usr/@/share/lilypond/current/}
+@end example
@end itemize
Schauen wir uns zuerst einige Dateien in @file{ly/} an.
Öffnen Sie @file{ly/property-init.ly} in einem Texteditor.
-Der, den Sie normalerweise für @code{.ly}-Dateien benutzen,
+Der, den Sie normalerweise für @file{.ly}-Dateien benutzen,
genügt. Diese Datei enthält die Definitionen aller vordefinierten
Befehle für LilyPond, wie etwa @code{\stemUp} und
@code{\slurDotted}. Sie können sehen, dass es sich um
@end multitable
-@node Vermeiden von Optimierungen durch langsamere Übersetzung
-@subsection Vermeiden von Optimierungen durch langsamere Übersetzung
-@translationof Avoiding tweaks with slower processing
-
-LilyPond kann einige zusätzliche Tests durchführen, während
-die Noten gesetzt werden. Dadurch braucht das Programm länger,
-um den Notensatz zu produzieren, aber üblicherweise werden
-weniger nachträgliche Anpassungen nötig sein. Wenn eine
-Textsilbe oder eine Beschriftung aus dem Rand der Partitur
-ragt, wird durch diese Tests die Zeile gerade so weit komprimiert,
-dass sie sich innerhalb der Ränder befindet.
-
-Damit diese Tests immer funktionieren, müssen sie aktiviert werden,
-indem die @bs{}@code{override}-Befehle in einer @code{context}-Umgebung
-innerhalb der @code{layout}-Umgebung notiert werden und nicht innerhalb
-der Noten:
-
-@example
-\score @{
- @{ @dots{}Noten@dots{} @}
- \layout @{
- \context @{
- \Score
- % Um sicher zu gehen, dass Texte und Liedtext
- % innerhalb der Papierränder bleiben
- \override PaperColumn #'keep-inside-line = ##t
- \override NonMusicalPaperColumn #'keep-inside-line = ##t
- @}
- @}
-@}
-@end example
-
-@code{keep-inside-line} braucht jedoch sehr viel Berechnungen,
-sodass es sich anbietet, diese Funktion zunächst nicht zu aktivieren
-und erst einzufügen, wenn man die endgültige Version erstellt.
-Auf diese Weise muss man nicht mit der Hand @code{\break}-Befehle
-hinzufügen, um zu vermeiden, dass Text über den rechten Rand der
-Seite hinausragt.
-
-
@node Fortgeschrittene Optimierungen mit Scheme
@subsection Fortgeschrittene Optimierungen mit Scheme
@translationof Advanced tweaks with Scheme