\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: 88b16bead0a1fbd13c5ebae6f3acb6a042ef89f0
+ Translation of GIT committish: 64feeff58e5ce3397de87188a08ac99f7ef8e37b
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..
+ Guide, node Updating translation committishes.
@end ignore
@setfilename lilypond-essay.info
@settitle Aufsatz über den automatischen Musiksatz
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: 88b16bead0a1fbd13c5ebae6f3acb6a042ef89f0
+ Translation of GIT committish: 64feeff58e5ce3397de87188a08ac99f7ef8e37b
When revising a translation, copy the HEAD committish of the
Es gibt noch weitere Unterschiede: in der handgestochenen Version
sind die vertikalen Linien stärker, die Bögen liegen dichter an den
-Notenköpfen und es gibt mehr Vielfalt in der Platzierung der
+Notenköpfen und es gibt mehr Abweichungen in der Steigung der
Balken. Auch wenn derartige Details als Haarspalterei erscheinen,
haben wir trotzdem als Ergebnis einen Satz, der einfacher zu lesen
ist. In der Computerausgabe ist jede Zeile fast identisch mit den
überleitet. In der Finale-Version haben wir der Versuchung
widerstanden, jedwede Anpassungen abweichend vom Standard vorzunehmen,
weil wir zeigen wollen, welche Dinge von den beiden Programmen
-ohne Hilfeleistung richtig gemacht werden. Die einzigen hauptsächlichen
+ohne Hilfeleistung richtig gemacht werden. Die einzigen größeren
Änderungen, die wir vorgenommen haben, war die Anpassung der
Seitengröße an die Seitengröße dieses Aufsatzes und die Begrenzung
der Noten auf zwei Systeme, um den Vergleich einfacher zu machen.
Einige der Mängel des nicht editierten Finale-Satzes beinhalten:
@itemize @bullet
+
@item Die meisten Balken sind zu weit vom Notensystem entfernt.
Ein Balken, der zum Zentrum des Systems zeigt, sollte etwa die
Länge einer Oktave haben, aber Notensetzer verkürzen die Länge,
herauszeigt. Die Bebalkung von Finale kann einfach mit ihrem
Patterson Beams-Plugin verbessert werden, aber wir haben diesen
Schritt für dieses Beispiel ausgelassen.
+
@item Finale passt die Position von ineinander greifenden Notenköpfen
nicht an, sodass die Noten sehr schwer lesbar werden, wenn
die untere und obere Stimme zeitweise ausgetauscht werden:
@end itemize
Dieses Beispiel soll nicht suggerieren, dass man mit Finale nicht
-Notensatz in Publikationsqualität erstellen könnte. Das Programm ist dazu fähig,
-wenn ein erfahrener Benutzer genug Zeit und Fähigkeit mitbringt.
+Notensatz in Publikationsqualität erstellen könnte. Das Programm ist
+durchaus dazu fähig, wenn ein erfahrener Benutzer genug Zeit und Fähigkeit mitbringt.
Einer der fundamentalen Unterschiede zwischen LilyPond und kommerziellen
Notensatzprogrammen ist, dass LilyPond versucht, den Aufwand an
menschlicher Intervention auf ein absolutes Minimum zu reduzieren,
während andere Programme versuchen, ein attraktives Programmfenster
zu bieten, in dem die Anpassungen vorgenommen werden können.
-Z. 859
Einen besonders hervorstechenden Mangel von Finale
ist ein fehlendes b-Vorzeichen in Takt 33:
Wenn Sie diese Beispiel noch detaillierter betrachten wollen,
können Sie den vollen siebentaktigen Ausschnitt am Ende dieses
-Aufsatzes als Notensatz von Finale und LilyPond sowie in vier
+Aufsatzes als Notensatz in vier unterschiedlichen
publizierten Editionen finden. Nähere Betrachtung zeigt, dass
es einige akzeptable Variationen zwischen den handgestochenen
Beispielen gibt, dass LilyPond aber ziemlich guten Notensatz
als unzureichend heraus:
@itemize @bullet
+
@item Wenn LilyPond Fehler macht, muss der Benutzer die
Einstellungen ändern können. Er muss also Zugang zur
Formatierungsmaschinerie haben. Deshalb können die Regeln und
@section LilyPond die Arbeit überlassen
@translationof Putting LilyPond to work
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@node Beispielanwendung
-@unnumberedsubsec Beispielanwendung
-@translationof Example applications
-
@cindex einfaches Beispiel
@cindex Beispiel, einfach
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 88b16bead0a1fbd13c5ebae6f3acb6a042ef89f0
+ Translation of GIT committish: 64feeff58e5ce3397de87188a08ac99f7ef8e37b
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..
+ Guide, node Updating translation committishes.
@end ignore
@c \version "2.12.0"
@c This file is part of community.itexi and ../topdocs/AUTHORS.itexi
@ignore
- Translation of GIT committish: 6235465503c3adde476120e78514fc3feef14ef2
+ Translation of GIT committish: 64feeff58e5ce3397de87188a08ac99f7ef8e37b
When revising a translation, copy the HEAD committish of the
- version that you are working on. See TRANSLATION for details.
+ version that you are working on. For details, see the Contributors'
+ Guide, node Updating translation committishes.
@end ignore
@ignore
@c use commas not colons
+Pál Benkő,
Frédéric Bron,
Hajo Dezelski,
+Richard Gay,
Andrew Hawryluk,
Ian Hulin,
Michael Käppler,
+David Kastrup,
Marek Klein,
Kieren MacMillan,
Thomas Morgan,
@c learning/tutorial.itely
@ignore
- Translation of GIT committish: 6235465503c3adde476120e78514fc3feef14ef2
+ Translation of GIT committish: 64feeff58e5ce3397de87188a08ac99f7ef8e37b
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..
+ Guide, node Updating translation committishes.
@end ignore
@c This is about "compiling" a lilypond file
@subsubheading 2. Schritt: Kompilieren (mit LilyPad)
-Aus den selben Menüs wählen Sie jetzt @w{@code{Compile > Tyepset}}.
+Aus den selben Menüs wählen Sie jetzt @w{@code{Compile > Typeset}}.
@sourceimage{Learning_Macos_Typeset_menu,,,}
\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 88b16bead0a1fbd13c5ebae6f3acb6a042ef89f0
+ Translation of GIT committish: 64feeff58e5ce3397de87188a08ac99f7ef8e37b
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..
+ Guide, node Updating translation committishes.
@end ignore
@documentencoding UTF-8
@documentlanguage de
@omflanguage German
@end ignore
-@c Translators: Till Rettig
+@c Translators: Till Paala
@lilyTitlePage{Learning Manual}
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: a6039d8aa56d66e91952a3b92ca7878d342e6ebe
+ Translation of GIT committish: 64feeff58e5ce3397de87188a08ac99f7ef8e37b
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..
+ Guide, node Updating translation committishes.
@end ignore
@c \version "2.12.0"
die für eine Stimme auf einem System gebraucht werden.
@menu
+* Taktüberprüfung
* Versetzungszeichen und Tonartbezeichnung (Vorzeichen)::
* Bindebögen und Legatobögen::
* Artikulationszeichen und Lautstärke::
@end menu
+@node Taktüberprüfung
+@subsection Taktüberprüfung
+@translationof Bar checks
+
+Wenn sie auch nicht zwingend vorgeschrieben sind, so sollten Taktüberprüfungen
+in der Eingabedatei benutzt werden, um zu zeigen, wo Taktstriche
+normalerweise sein sollten. Sie werden mit dem @qq{Pipe}-Symbol
+( @code{|}) notiert (Taste AltGr + <). Mithilfe der Taktüberprüfungen
+kann das Programm sicherstellen, dass die eingegebenen Notenlängen auch
+volle Takte an den richtigen Stellen ergeben. Taktüberprüfungen erleichtern
+auch das Lesen des Eingabetextes, weil sie Ordnung in den Text bringen.
+
+@lilypond[verbatim,quote,relative=2]
+g1 | e1 | c2. c'4 | g4 c g e | c4 r r2 |
+@end lilypond
+
+@seealso
+Notationsreferenz:
+@ruser{Takt- und Taktzahlüberprüfung}.
+
+
@node Versetzungszeichen und Tonartbezeichnung (Vorzeichen)
@subsection Versetzungszeichen und Tonartbezeichnung (Vorzeichen)
@translationof Accidentals and key signatures
Sprachen zu benutzen, siehe @ruser{Notenbezeichnungen in anderen Sprachen}.
@lilypond[verbatim,quote,relative=2]
-cis1 ees fisis, aeses
+cis4 ees fisis, aeses
@end lilypond
@lilypond[verbatim,quote,relative=2]
\key d \major
-a1
+a1 |
\key c \minor
-a
+a1 |
@end lilypond
@smallspace
@lilypond[verbatim,quote,relative=2]
\key d \major
-d cis fis
+cis4 d e fis
@end lilypond
@noindent
@lilypond[verbatim,quote,relative=2]
\key aes \major
-b
+aes4 c b c
@end lilypond
Alle diese Versetzungszeichen ausdrücklich zu schreiben, bedeutet vielleicht
@seealso
Notationsreferenz:
@ruser{Notenbezeichnungen in anderen Sprachen},
-@ruser{Versetzungszeichen}, @ruser{Automatische Versetzungszeichen},
+@ruser{Versetzungszeichen},
+@ruser{Automatische Versetzungszeichen},
@ruser{Tonartbezeichnung}.
Glossar:
an die erste der zu verbindenden Noten hängt.
@lilypond[verbatim,quote,relative=2]
-g4~ g c2~
-c4~ c8 a8~ a2
+g4~ g c2~ | c4~ c8 a~ a2
@end lilypond
geben.
@lilypond[verbatim,quote,relative=2]
-a8(\( ais b c) cis2 b'2 a4 cis,\)
+g4\( g8( a) b( c) b4\)
@end lilypond
@sp 1
geschachtelt werden.
@lilypond[verbatim,quote,relative=2]
-c2~( c8 fis fis4~ fis2 g2)
+c4~( c8 d~ d4 e)
@end lilypond
(@q{-}) und einem entsprechenden Zeichen eingegeben werden:
@lilypond[verbatim,quote,relative=2]
-c-. c-- c-> c-^ c-+ c-_
+c4-^ c-+ c-- c-|
+c4-> c-. c2-_
@end lilypond
@subheading Fingersatz
werden, indem nach dem Minus (@q{-}) eine Zahl geschrieben wird:
@lilypond[verbatim,quote,relative=2]
-c-3 e-5 b-2 a-1
+c4-3 e-5 b-2 a-1
@end lilypond
Artikulationszeichen und Fingersätze werden normalerweise
Möglichkeit, wie die Artikulationen platziert werden sollen.
@lilypond[verbatim,quote,relative=2]
-c_-^1 d^. f^4_2-> e^-_+
+c4_-^1 d^. f^4_2-> e^-_+
@end lilypond
@subheading Dynamik
die Note hängt:
@lilypond[verbatim,quote,relative=2]
-c\ff c\mf c\p c\pp
+c4\ff c\mf c\p c\pp
@end lilypond
@notation{Crescendi} und @notation{Decrescendi} werden mit dem
Auch mit dem Befehl @code{\!} kann es explizit beendet werden.
@lilypond[verbatim,quote,relative=2]
-c2\< c2\ff\> c2 c2\!
+c4\< c\ff\> c c\!
@end lilypond
Text können Sie auf folgende Art in die Partitur einfügen:
@lilypond[verbatim,quote,relative=2]
-c1^"espr" a_"legato"
+c2^"espr" a_"legato"
@end lilypond
Zusätzliche Formatierung kann eingesetzt werden, wenn Sie den
@code{\markup}-Befehl benutzen:
@lilypond[verbatim,quote,relative=2]
-c1^\markup{ \bold espr }
-a1_\markup{
+c2^\markup { \bold espr }
+a2_\markup {
\dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
}
@end lilypond
@q{]} (AltGr+9).
@lilypond[verbatim,quote,relative=2]
-a8[ ais] d[ ees r d] a b
+a8[ ais] d[ ees r d] c16 b a8
@end lilypond
Wenn Sie die automatischen Balken vollständig oder für
@lilypond[verbatim,quote,relative=2]
\autoBeamOff
-a8 c b4 d8. c16 b4
+a8 c b4 d8. c16 b4 |
\autoBeamOn
-a8 c b4 d8. c16 b4
+a8 c b4 d8. c16 b4 |
@end lilypond
heißt eine Viertelnote Auftakt und @code{\partial 8} eine Achtelnote.
@lilypond[verbatim,quote,relative=2]
-\partial 8
-f8 c2 d
+\partial 8 f8 |
+c2 d |
@end lilypond
@lilypond[verbatim,quote,relative=2]
\times 2/3 { f8 g a }
-\times 2/3 { c r c }
+\times 2/3 { c8 r c }
\times 2/3 { f,8 g16[ a g a] }
\times 2/3 { d4 a8 }
@end lilypond
und Vorschläge mit @code{\acciaccatura}.
@lilypond[verbatim,quote,relative=2]
-c2 \grace { a32[ b] } c2
-c2 \appoggiatura b16 c2
-c2 \acciaccatura b16 c2
+c2 \grace { a32[ b] } c2 |
+c2 \appoggiatura b16 c2 |
+c2 \acciaccatura b16 c2 |
@end lilypond
musikalischer Ausdruck.
@lilypond[verbatim,quote,relative=2]
-{ { a4 g } f g }
+{ { a4 g } f4 g }
@end lilypond
@lilypond[verbatim,quote]
\relative c'' {
<<
- { a4 g }
- { f e }
- { d b }
+ { a2 g }
+ { f2 e }
+ { d2 b }
>>
}
@end lilypond
@lilypond[verbatim,quote]
\relative c'' {
- c2 <<c e>>
- << { e f } { c <<b d>> } >>
+ c2 <<c e>> |
+ << { e f } { c <<b d>> } >> |
}
@end lilypond
@lilypond[verbatim,quote]
\relative c'' {
<<
- \new Staff { \clef treble c }
- \new Staff { \clef bass c,, }
+ \new Staff { \clef "treble" c4 }
+ \new Staff { \clef "bass" c,,4 }
>>
}
@end lilypond
@lilypond[verbatim,quote]
\relative c'' {
<<
- \new Staff { \clef treble \key d \major \time 3/4 c }
- \new Staff { \clef bass c,, }
+ \new Staff { \clef "treble" \key d \major \time 3/4 c4 }
+ \new Staff { \clef "bass" c,,4 }
>>
}
@end lilypond
@lilypond[verbatim,quote]
\relative c'' {
\new PianoStaff <<
- \new Staff { \time 2/4 c4 e g g, }
- \new Staff { \clef bass c,, c' e c }
+ \new Staff { \time 2/4 c4 e | g g, | }
+ \new Staff { \clef "bass" c,,4 c' | e c | }
>>
}
@end lilypond
diese Dauer wird nach der schließenden Klammer geschrieben.
@lilypond[verbatim,quote,relative=2]
-r4 <c e g>4 <c f a>2
+r4 <c e g> <c f a>2
@end lilypond
Akkorde sind im Grunde gleichwertig mit einfachen Noten:
spitzen Klammern gesetzt werden.
@lilypond[verbatim,quote,relative=2]
-r4 <c e g>8[ <c f a>]~ <c f a>2
-r4 <c e g>8( <c e g>\> <c e g>4 <c f a>\!)
+r4 <c e g>8[ <c f a>]~ <c f a>2 |
+r4 <c e g>8( <c e g>\> <c e g>4 <c f a>\!) |
@end lilypond
\relative c'' {
\key g \major
\time 6/8
- d4 b8 c4 a8 d4 b8 g4
+ d4 b8 c4 a8 | d4 b8 g4
}
@end lilypond
\relative c'' {
\key g \major
\time 6/8
- d4 b8 c4 a8 d4 b8 g4
+ d4 b8 c4 a8 | d4 b8 g4
}
\addlyrics {
- Girls and boys come out to play,
+ Girls and boys come | out to play,
}
>>
@end lilypond
\relative c'' {
\key g \major
\time 6/8
- d4 b8 c4 a8 d4 b8 g4
- g8 a4 b8 c b a d4 b8 g4.
+ d4 b8 c4 a8 | d4 b8 g4 g8 |
+ a4 b8 c b a | d4 b8 g4. |
}
\addlyrics {
- Girls and boys come out to play,
- The moon doth shine as bright as day;
+ Girls and boys come | out to play,
+ The | moon doth shine as | bright as day; |
}
>>
@end lilypond
-Die zusätzlichen Noten sind nicht korrekt an den Noten
-positioniert. Das Wort @notation{shine} sollte eigentlich zu
-zwei Noten gesungen werden, nicht nur zu einer. Das wird als
-@notation{Melisma} bezeichnet, wenn eine Silbe zu mehreren
-Noten gesungen wird. Es gibt mehrere Möglichkeiten, eine
-Silbe über mehrere Noten zu erweitern. Die einfachste ist,
-einen Legatobogen über die
-betroffenen Noten zu notieren, zu Einzelheiten siehe
-@ref{Bindebögen und Legatobögen}.
+Wenn dieser Code des obrigen Beispiels kompiliert wird, sollten derartige
+Warnungen in der Ausgabe auf der Konsole/in der Log-Datei auftauchen:
+
+@example
+test.ly:10:29: Warnung: Taktüberprüfung gescheitert bei: 5/8
+ The | moon doth shine as
+ | bright as day; |
+test.ly:10:46: Warnung: Taktüberprüfung gescheitert bei: 3/8
+ The | moon doth shine as | bright as day;
+ |
+@end example
+
+Das ist ein gutes Beispiel für den Nutzen von Taktüberprüfungen. Wenn man
+sich die Noten genauer anschaut, wird klar, dass die neue Textzeile nicht
+korrekt an den Noten ausgerichtet ist. Das Wort @notation{shine} sollte
+zu zwei Noten gesungen werden, nicht nur zu einer. Das nennt man ein
+@notation{Melisma}, eine Silbe Text zu mehreren Noten. Es gibt mehrere
+Möglichkeiten, eine Silbe über mehrere Noten zu verlängern. Die einfachste
+ist es, einen Legatobogen um die betroffenen Noten zu setzen, zu
+Einzelheiten siehe @ref{Bindebögen und Legatobögen}.
@lilypond[verbatim,quote]
<<
\relative c'' {
\key g \major
\time 6/8
- d4 b8 c4 a8 d4 b8 g4
- g8 a4 b8 c( b) a d4 b8 g4.
+ d4 b8 c4 a8 | d4 b8 g4 g8 |
+ a4 b8 c( b) a | d4 b8 g4. |
}
\addlyrics {
- Girls and boys come out to play,
- The moon doth shine as bright as day;
+ Girls and boys come | out to play,
+ The | moon doth shine as | bright as day; |
}
>>
@end lilypond
\relative c'' {
\key g \major
\time 6/8
- d4 b8 c4 a8 d4 b8 g4
- g8 a4 b8 c([ b]) a d4 b8 g4.
+ d4 b8 c4 a8 | d4 b8 g4 g8 |
+ a4 b8 c([ b]) a | d4 b8 g4. |
}
\addlyrics {
- Girls and boys come out to play,
- The moon doth shine as bright as day;
+ Girls and boys come | out to play,
+ The | moon doth shine as | bright as day; |
}
>>
@end lilypond
\relative c'' {
\key g \major
\time 6/8
- d4 b8 c4 a8 d4 b8 g4
- g8 a4 b8 c[ b] a d4 b8 g4.
+ d4 b8 c4 a8 | d4 b8 g4 g8 |
+ a4 b8 c[ b] a | d4 b8 g4. |
}
\addlyrics {
- Girls and boys come out to play,
- The moon doth shine _ as bright as day;
+ Girls and boys come | out to play,
+ The | moon doth shine _ as | bright as day; |
}
>>
@end lilypond
\relative c'' {
\key g \minor
\time 3/2
- g2 a bes bes( a)
- b c4.( bes8 a4. g8 fis4.) g8 fis1
+ g2 a bes | bes2( a) b2 |
+ c4.( bes8 a4. g8 fis4.) g8 | fis1
}
\addlyrics {
- When I am laid,
- am laid __ in earth,
+ When I am | laid,
+ am | laid __ in | earth,
}
>>
@end lilypond
\key g \major
\time 3/4
\partial 4
- d4 g4 g a8( b) g4 g4
- b8( c) d4 d e4 c2
+ d4 | g4 g a8( b) | g4 g b8( c) |
+ d4 d e | c2
}
\addlyrics {
- A -- way in a __ man -- ger,
- no __ crib for a bed, __
+ A -- | way in a __ | man -- ger,
+ no __ | crib for a | bed, __
}
>>
@end lilypond
@lilypond[verbatim,quote,noragged-right]
<<
\relative c' {
- \clef bass
+ \clef "bass"
\key c \major
\time 6/8
- c4.~ c8 d b c([ d]) b c d b c
+ c4.~ c8 d b | c8([ d]) b c d b | c8
}
\addlyrics {
- Lar -- go_al fac -- to -- tum del -- la cit -- tà
+ Lar -- go_al fac -- | to -- tum del -- la cit -- | tà
}
>>
@end lilypond
\key f \major
\time 6/8
\partial 8
- c8 c([ bes]) a a([ g]) f f'4. b, c4.~ c4
+ c8 | c8([ bes]) a a([ g]) f | f'4. b, | c4.~ c4
}
\addlyrics {
- Let flee -- cy flocks the hills a -- dorn, __
+ Let | flee -- cy flocks the | hills a -- | dorn, __
}
\relative c' {
\key f \major
\time 6/8
\partial 8
- r8 r4. r4 c8 a'([ g]) f f([ e]) d e([ d]) c bes'4
+ r8 | r4. r4 c8 | a'8([ g]) f f([ e]) d | e8([ d]) c bes'4
}
\addlyrics {
- Let flee -- cy flocks the hills a -- dorn,
+ Let | flee -- cy flocks the | hills a -- dorn,
}
>>
@end lilypond
}
Cello = \new Staff
{ \relative c {
- \clef bass
+ \clef "bass"
e2 d
}
}
TaktA = { \trioleA \trioleA \trioleA \trioleA }
\relative c'' {
- \TaktA \TaktA
+ \TaktA \TaktA
}
@end lilypond
\aFünfPapier
line-width = \Breite
@}
+
@{
c4^\Name
@}
@example
\version @w{"@version{}"}
+
\header @{
title = "Symphony"
composer = "Ich"
@lilypond[verbatim,quote]
{
- \clef bass
- c' b g, g,
- g, f, f c'
+ \clef "bass"
+ c'4 b g, g, |
+ g,4 f, f c' |
}
@end lilypond
@lilypond[verbatim,quote]
{
- \clef bass
- c, d, e, f,
- g, a, b, c
- d e f g
- a b c' d'
- \clef treble
- e' f' g' a'
- b' c'' d'' e''
- f'' g'' a'' b''
- c'''1
+ \clef "bass"
+ c,4 d, e, f, |
+ g,4 a, b, c |
+ d4 e f g |
+ a4 b c' d' |
+ \clef "treble"
+ e'4 f' g' a' |
+ b'4 c'' d'' e'' |
+ f''4 g'' a'' b'' |
+ c'''1 |
}
@end lilypond
{
\key a \major
\time 6/8
- cis''8. d''16 cis''8 e''4 e''8
- b'8. cis''16 b'8 d''4 d''8
+ cis''8. d''16 cis''8 e''4 e''8 |
+ b'8. cis''16 b'8 d''4 d''8 |
}
@end lilypond
\relative c'' {
\key a \major
\time 6/8
- cis8. d16 cis8 e4 e8
- b8. cis16 b8 d4 d8
+ cis8. d16 cis8 e4 e8 |
+ b8. cis16 b8 d4 d8 |
}
@end lilypond
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: e18531db1f79fb685fbd16d6a2a67bf4b6c09915
+ Translation of GIT committish: 64feeff58e5ce3397de87188a08ac99f7ef8e37b
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..
+ Guide, node Updating translation committishes.
@end ignore
@c \version "2.12.0"
@example
\version @w{"@version{}"}
+
\header @{ @}
+
\score @{
@var{...zusammengesetzter Musik-Ausdruck...} % Die gesamten Noten kommen hier hin!
\layout @{ @}
@cindex Variablen
@cindex Bezeichner
-Eine gute Möglichkeit zur Vereinfachung sind selbst definierte Variablen, wie auch gezeigt in @ref{Organizing pieces with variables}.
+Eine gute Möglichkeit zur Vereinfachung sind selbst definierte Variablen, wie auch gezeigt in @ref{Stücke durch Bezeichner organisieren}.
Alle Vorlagen verwenden diese Möglichkeit:
@example
von @code{melodie} (alles nach dem Gleichheitszeichen) und
fügt ihn immer dann ein, wenn ein @code{\melodie}
vorkommt. Die Namen sind frei wählbar, die Variable kann genauso
-gut @code{melodie}, @code{GLOBAL},
-@code{rechteHandklavier}, oder @code{foofoobarbaz} heißen. Für mehr
-Information siehe
-@ref{Tipparbeit sparen durch Bezeichner und Funktionen}.
+gut @code{melodie}, @code{GLOBAL}, @code{rechteHandKlavier},
+oder @code{foofoobarbaz} heißen.
Als Variablenname kann fast jeder beliebige Name benutzt werden,
allerdings dürfen nur Buchstaben vorkommen (also keine Zahlen, Unterstriche,
Sonderzeichen, etc.) und er darf nicht wie ein LilyPond-Befehl
-lauten. Die genauen Einschränkungen sind beschrieben in
-@ruser{Die Dateistruktur}.
+lauten. Für mehr Information siehe
+@ref{Tipparbeit durch Variablen und Funktionen ersparen}. Die genauen
+Einschränkungen sind beschrieben in @ruser{Die Dateistruktur}.
@seealso
Sie sich nicht erinnern, wie man Gesangstext notiert, lesen
Sie noch einmal @code{\addlyrics} in @ref{Setting simple songs}.
+@c KEEP LY
@lilypond[verbatim,quote,ragged-right]
\score {
<<
Also haben wir, wenn wir ein paar Noten und einen Bassschlüssel
für die linke Hand hinzufügen, folgendes Beispiel:
+@c KEEP LY
@lilypond[verbatim,quote,ragged-right]
melodie = \relative c'' { r4 d8\noBeam g, c4 r }
text = \lyricmode { And God said, }
oben = \relative c'' { <g d g,>2~ <g d g,> }
-unten = \relative c { b2 e2 }
+unten = \relative c { b2 e }
\score {
<<
r4 g8 g c4 c8 d |
e4 r8
<<
- { f c c }
+ { f8 c c }
\new Staff {
f8 f c
}
Der Ossia-Abschnitt kann auch oberhalb der Hauptnotenzeile
gesetzt werden:
+@c KEEP LY
@lilypond[verbatim,quote,ragged-right]
\new Staff = "Hauptzeile" {
\relative g' {
r4 g8 g c4 c8 d |
e4 r8
<<
- { f c c }
+ { f8 c c }
\new Staff \with {
- alignAboveContext = #"Hauptzeile" }
- { f8 f c }
+ alignAboveContext = #"Hauptzeile"
+ }{ f8 f c }
>>
r4 |
}
auch möglich:
@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
- { g8\( a b[ c b\) a] }
+ { g8\( a b[ c b\) a] g4 }
@end lilypond
Im Allgemeinen können die verschiedenen Klammerarten,
@lilypond[quote,verbatim,fragment,ragged-right]
{
- r16[ g16 \times 2/3 {r16 e'8] }
- g16( a \times 2/3 {b d) e' }
- g8[( a \times 2/3 {b d') e'~]}
- \times 4/5 {e'32\( a b d' e'} a'4.\)
+ r16[ g \times 2/3 { r16 e'8] }
+ g16( a \times 2/3 { b16 d) e' }
+ g8[( a \times 2/3 { b8 d') e'~] } |
+ \times 4/5 { e'32\( a b d' e' } a'4.\)
}
@end lilypond
@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
\key g \major
-% Voice "1" Voice "2"
-<< { g4 fis8( g) a4 g } \\ { d4 d d d } >>
+% Voice "1" Voice "2"
+<< { g4 fis8( g) a4 g } \\ { d4 d d d } >>
@end lilypond
Beachte, dass die Hälse der zweiten Stimme nun nach unten zeigen.
\new Staff \relative c' {
% Main voice
c16 d e f
- % Voice "1" Voice "2" Voice "3"
- << { g4 f e } \\ { r8 e4 d c8 ~ } >>
- << { d2 e2 } \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >>
+ % Voice "1" Voice "2" Voice "3"
+ << { g4 f e } \\ { r8 e4 d c8~ } >> |
+ << { d2 e } \\ { c8 b16 a b8 g~ g2 } \\ { s4 b c2 } >> |
}
@end lilypond
\new Staff \relative c' {
% Main voice
c16 d e f
- << % Bar 1
+ << % Bar 1
{
\voiceOneStyle
g4 f e
\voiceTwoStyle
r8 e4 d c8~
}
- >>
+ >> |
<< % Bar 2
% Voice 1 continues
- { d2 e2 }
+ { d2 e }
\\
% Voice 2 continues
- { c8 b16 a b8 g ~ g2 }
+ { c8 b16 a b8 g~ g2 }
\\
{
\voiceThreeStyle
- s4 b4 c2
+ s4 b c2
}
- >>
+ >> |
}
@end lilypond
@cindex relativer Notationsmodus und Polyphonie
Polyphonie ändert nicht die Verhältnisse der Noten innerhalb eines
-@code{\relative @{ @}}-Blocks. Jede Note wird weiterhin relativ zu
+@code{\relative}-Blocks. Jede Note wird weiterhin relativ zu
der vorherigen Note errechnet, oder relativ zur ersten Note des vorigen
Akkords. So ist etwa hier
\new Staff \relative c'' {
\key aes \major
<<
- { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des2 }
- >>
- <c ees aes c>1
+ { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des }
+ >> |
+ <c ees aes c>1 |
}
@end lilypond
<< % erste Stimme
{ c2 aes4. bes8 }
\\ % zweite Stimme
- { aes2 f4 fes }
+ { aes2 f4 fes }
\\ % Stimme drei auslassen
\\ % vierte Stimme
- { <ees c>2 des2 }
+ { <ees c>2 des }
>>
<c ees aes c>1
}
mit Text, Bögen und Dynamikbezeichnung anstellen:
@lilypond[quote,ragged-right,verbatim]
-\relative c'{
+\relative c' {
% Default behavior or behavior after \oneVoice
- c d8~ d e4( f g a) b-> c
+ c4 d8~ d e4( f | g4 a) b-> c |
}
@end lilypond
@lilypond[quote,ragged-right,verbatim]
-\relative c'{
+\relative c' {
\voiceOne
- c d8~ d e4 (f g a) b-> c
+ c4 d8~ d e4( f | g4 a) b-> c |
\oneVoice
- c, d8~ d e4 (f g a) b-> c
+ c,4 d8~ d e4( f | g4 a) b-> c |
}
@end lilypond
@lilypond[quote,ragged-right,verbatim]
-\relative c'{
+\relative c' {
\voiceTwo
- c d8~ d e4 (f g a) b-> c
+ c4 d8~ d e4( f | g4 a) b-> c |
\oneVoice
- c, d8~ d e4 (f g a) b-> c
+ c,4 d8~ d e4( f | g4 a) b-> c |
}
@end lilypond
% Start simultaneous section of three voices
<<
% Continue the main voice in parallel
- { g4 f e | d2 e2) | }
+ { g4 f e | d2 e) | }
% Initiate second voice
\new Voice {
% Set stems, etc., down
\voiceTwo
r8 e4 d c8~
<<
- { c8 b16 a b8 g~ g2 }
+ { c8 b16 a b8 g~ g2 | }
\new Voice {
\voiceThree
- s4 b4 c2
+ s4 b4 c2 |
}
>>
}
% Initiate first voice
\new Voice {
\voiceOne
- c16^( d e f g4 f e | d2 e2) |
+ c16^( d e f g4 f e | d2 e) |
}
% Initiate second voice
\new Voice {
\new Voice {
% Set stems, etc, up
\voiceThree
- s1 | s4 b4 c2 |
+ s1 | s4 b c2 |
}
>>
@end lilypond
@lilypond[quote,verbatim,fragment]
<<
- \new Voice = "one" \relative c'' {
- \autoBeamOff
- \time 2/4
- c4 b8. a16 g4. f8 e4 d c2
+ \new Voice = "one" {
+ \relative c'' {
+ \autoBeamOff
+ \time 2/4
+ c4 b8. a16 | g4. f8 | e4 d | c2 |
+ }
}
\new Lyrics \lyricsto "one" {
- No more let sins and sor -- rows grow.
+ No more let | sins and | sor -- rows | grow. |
}
>>
@end lilypond
nicht als Noten interpretiert werden kann.
@lilypond[quote,verbatim]
-global = { \time 6/8 \partial 8 \key f \major}
+global = { \key f \major \time 6/8 \partial 8 }
+
SopOneMusic = \relative c'' {
- c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 | }
-SopTwoMusic = \relative c' {
- r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' | }
+ c8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ c4
+}
SopOneLyrics = \lyricmode {
- Let | flee -- cy flocks the | hills a -- dorn, __ | }
+ Let | flee -- cy flocks the | hills a -- dorn, __
+}
+SopTwoMusic = \relative c' {
+ r8 | r4. r4 c8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
+}
SopTwoLyrics = \lyricmode {
- Let | flee -- cy flocks the | hills a -- dorn, | }
+ Let | flee -- cy flocks the | hills a -- dorn,
+}
\score {
\new ChoirStaff <<
Variable wird oft auch mit @qq{global} bezeichnet.
@lilypond[quote,verbatim]
-TimeKey = { \time 4/4 \partial 4 \key c \major}
-SopMusic = \relative c' { c4 | e4. e8 g4 g | a a g | }
-AltoMusic = \relative c' { c4 | c4. c8 e4 e | f f e | }
-TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 | }
-BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 | }
-VerseOne = \lyricmode {
- E -- | ter -- nal fa -- ther, | strong to save, | }
-VerseTwo = \lyricmode {
- O | Christ, whose voice the | wa -- ters heard, | }
-VerseThree = \lyricmode {
- O | Ho -- ly Spi -- rit, | who didst brood | }
-VerseFour = \lyricmode {
- O | Tri -- ni -- ty of | love and pow'r | }
+keyTime = { \key c \major \time 4/4 \partial 4 }
+
+SopMusic = \relative c' { c4 | e4. e8 g4 g | a4 a g }
+AltoMusic = \relative c' { c4 | c4. c8 e4 e | f4 f e }
+TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
+BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
+
+VerseOne =
+ \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, }
+VerseTwo =
+ \lyricmode { O | Christ, whose voice the | wa -- ters heard, }
+VerseThree =
+ \lyricmode { O | Ho -- ly Spi -- rit, | who didst brood }
+VerseFour =
+ \lyricmode { O | Tri -- ni -- ty of | love and pow'r }
\score {
\new ChoirStaff <<
\new Staff <<
\clef "treble"
- \new Voice = "Sop" { \voiceOne \TimeKey \SopMusic }
+ \new Voice = "Sop" { \voiceOne \keyTime \SopMusic }
\new Voice = "Alto" { \voiceTwo \AltoMusic }
\new Lyrics \lyricsto "Sop" { \VerseOne }
\new Lyrics \lyricsto "Sop" { \VerseTwo }
>>
\new Staff <<
\clef "bass"
- \new Voice = "Tenor" { \voiceOne \TimeKey \TenorMusic }
+ \new Voice = "Tenor" { \voiceOne \keyTime \TenorMusic }
\new Voice = "Bass" { \voiceTwo \BassMusic }
>>
>>
}
@end lilypond
-@cindex Strophe und Refrain
-@cindex Refrain
-
-Dieser Abschnitt schließt mit einem Beispiel, das eine Solo-Strophe
-mit anschließendem zweistimmigem Refrain auf zwei Systemen zeigt.
-Die Positionierung des einstimmigen Abschnitss und der mehrstimmigen
-Stelle ist etwas kompliziert; es braucht etwas Aufmerksamkeit,
-um der Erklärung folgen zu können.
-
-Beginnen wir mit einer @code{score}-Umgebung, in der eine
-Chorpartitur (@code{ChoirStaff}) gesetzt wird. Die Partitur soll
-schließlich mit der eckigen Klammer beginnen.
-Normalerweise bräuchten wir spitze Klammern im Quelltext
-nach dem @code{\new ChoirStaff}, damit die Systeme paralell
-gesetzt werden, aber hier wollen wir diese Parallelsierung
-ja erst nach dem Solo. Also benutzen wir geschweifte Klammern.
-Innerhalb der Chorpartitur erstellen wir zuerst das System,
-das die Strophe enthält. Es braucht Noten und Text parallel,
-also setzen wir hier die spitzen Klammern um @code{\new Voice}
-und @code{\new Lyrics}.
-
-@lilypond[quote,verbatim,ragged-right]
-versenotes = \relative c'' {
- \clef "treble"
- \key g \major
- \time 3/4
- g g g | b b b |
-}
-versewords = \lyricmode {
- One two three four five six
-}
-\score {
- \new ChoirStaff {
- \new Staff <<
- \new Voice = "verse" {
- \versenotes \break
- }
- \new Lyrics \lyricsto verse {
- \versewords
- }
- >>
- }
-}
-@end lilypond
-
-@noindent
-Damit erhalten wir die Strophe.
-
-Jetzt soll @notation{refrainA} auf dem selben System gesetzt
-werden, während gleichzeitig in einem neuen System darunter
-@notation{refrainB} gesetzt wird. Damit die Oberstimme das
-gleiche System benutzt, muss alles direkt auf den Zeilenumbruchbefehl
-(@code{\break} folgen, innerhalb der @notation{verse}-Stimme.
-Ja, tatsächlich, @emph{innerhalb} der @notation{verse}-Stimme.
-Hier haben wir diese parallele Stelle isoliert. Weitere Systeme
-könnten auf die gleiche Weise hinzugefügt werden.
-
-@example
-<<
- \refrainnotesA
- \new Lyrics \lyricsto verse @{
- \refrainwordsA
- @}
- \new Staff <<
- \new Voice = "refrainB" @{
- \refrainnotesB
- @}
- \new Lyrics \lyricsto "refrainB" @{
- \refrainwordsB
- @}
- >>
->>
-@end example
-
-Nun schließlich das Resultat mit zwei Systemen für den Refrain,
-man kann gut sehen, wie sich die parallele Stelle innherhalb
-der @notation{verse}-Stimme befindet.
-
-@lilypond[quote,verbatim, ragged-right]
-versenotes = \relative c'' {
- \clef "treble"
- \key g \major
- \time 3/4
- g g g | b b b |
-}
-refrainnotesA = \relative c'' {
- \time 2/4
- c c | g g \bar "|."
-}
-refrainnotesB = \relative c {
- \clef "bass"
- \key g \major
- c e | d d |
-}
-versewords = \lyricmode {
- One two three four five six
-}
-refrainwordsA = \lyricmode {
- la la la la
-}
-refrainwordsB = \lyricmode {
- dum dum dum dum
-}
-\score {
- \new ChoirStaff {
- \new Staff <<
- \new Voice = "verse" {
- \versenotes \break
- <<
- \refrainnotesA
- \new Lyrics \lyricsto "verse" {
- \refrainwordsA
- }
- \new Staff <<
- \new Voice = "refrainB" {
- \refrainnotesB
- }
- \new Lyrics \lyricsto "refrainB" {
- \refrainwordsB
- }
- >>
- >>
- }
- \new Lyrics \lyricsto "verse" {
- \versewords
- }
- >>
- }
-}
-@end lilypond
-
-@cindex book, Benutzung von
-@funindex \book
-@funindex book
-
-Dies ist zwar eine interessante und nützliche Übung um zu
-verstehen, wie sequentielle und parallele Notationsumgebungen
-funktionieren, in der Praxis würde man diesen Code aber
-vielleicht eher in zwei @code{\score}-Umgebungen trennnen
-und diese dann innerhalb einer @code{\book}-Umgebung
-einsetzen, wie im folgenden Beispiel demonstriert:
-
-@lilypond[quote,verbatim,ragged-right]
-versenotes = \relative c'' {
- \clef "treble"
- \key g \major
- \time 3/4
- g g g | b b b |
-}
-refrainnotesA = \relative c'' {
- \time 2/4
- c c | g g \bar "|."
-}
-refrainnotesB = \relative c {
- \clef "bass"
- \key g \major
- c e | d d |
-}
-versewords = \lyricmode {
- One two three four five six
-}
-refrainwordsA = \lyricmode {
- la la la la
-}
-refrainwordsB = \lyricmode {
- dum dum dum dum
-}
-\score {
- \new Staff <<
- \new Voice = "verse" {
- \versenotes
- }
- \new Lyrics \lyricsto "verse" {
- \versewords
- }
- >>
-}
-
-\score {
- \new ChoirStaff <<
- \new Staff <<
- \new Voice = "refrainA" {
- \refrainnotesA
- }
- \new Lyrics \lyricsto "refrainA" {
- \refrainwordsA
- }
- >>
- \new Staff <<
- \new Voice = "refrainB" {
- \refrainnotesB
- }
- \new Lyrics \lyricsto "refrainB" {
- \refrainwordsB
- }
- >>
- >>
-}
-@end lilypond
-
@seealso
Notation Reference: @ruser{Notation von Gesang}.
etwa den Quellcode und die Notenausgabe des folgenden Beispiels:
@lilypond[quote,verbatim,relative=2,fragment]
-cis4 cis2. g4
+cis4 cis2. | a4 a2. |
@end lilypond
Der Quellcode ist sehr kurz und knapp, während in der
<< % start of simultaneous staves section
\time 2/4
\new Staff { % create RH staff
- \key g \minor
\clef "treble"
+ \key g \minor
\new Voice { % create voice for RH notes
\relative c'' { % start of RH notes
d4 ees16 c8.
} % end of RH voice
} % end of RH staff
\new Staff << % create LH staff; needs two simultaneous voices
- \key g \minor
\clef "bass"
+ \key g \minor
\new Voice { % create LH voice one
\voiceOne
\relative g { % start of LH voice one notes
<<
\new Staff \relative c'' {
\set Staff.instrumentName = #"Soprano"
- c4 c
+ c2 c
}
\new Staff \relative c' {
- \set instrumentName = #"Alto" % Wrong!
- d4 d
+ \set instrumentName = #"Alto" % Wrong!
+ d2 d
}
>>
@end lilypond
@lilypond[quote,verbatim,ragged-right]
<<
\new Staff \relative c'' {
- ais4 aes
- }
+ ais2 aes
+ }
\new Staff \relative c'' {
\set Staff.extraNatural = ##f
- ais4 aes
- }
+ ais2 aes
+ }
>>
@end lilypond
@lilypond[quote,verbatim,ragged-right]
<<
\new Staff \relative c'' {
- ais4 aes
+ ais2 aes
}
\new Staff \relative c'' {
\set Score.extraNatural = ##f
- ais4 aes
+ ais2 aes
}
>>
@end lilypond
nicht vom letzten gesetzten Wert.
@lilypond[quote,verbatim,ragged-right,relative=1,fragment]
-c4
+c4 d
% make note heads smaller
\set fontSize = #-4
-d e
+e4 f |
% make note heads larger
\set fontSize = #2.5
-f g
+g4 a
% return to default size
\unset fontSize
-a b
+b4 c |
@end lilypond
Wir haben jetzt gesehen, wie sich die Werte von unterschiedlichen
@lilypond[quote,verbatim,ragged-right]
<<
\new Staff
- \relative c'' {
- gis ges aes ais
- }
- \new Staff \with { extraNatural = ##f }
- \relative c'' {
- gis ges aes ais
+ \relative c'' {
+ gis4 ges aes ais
+ }
+ \new Staff \with { extraNatural = ##f } {
+ \relative c'' {
+ gis ges aes ais
+ }
}
>>
@end lilypond
\new Score \with { extraNatural = ##f } <<
\new Staff {
\relative c'' {
- gis ges aes ais
+ gis4 ges aes ais
}
}
\new Staff {
\relative c'' {
- gis ges aes ais
+ gis4 ges aes ais
}
}
>>
\remove Staff_symbol_engraver
}
\relative c' {
- c4
+ c4 d
\set fontSize = #-4 % make note heads smaller
- d e
+ e4 f |
\set fontSize = #2.5 % make note heads larger
- f g
+ g4 a
\unset fontSize % return to default size
- a b
+ b4 c |
}
@end lilypond
\new Staff <<
\new Voice \with {
\consists Ambitus_engraver
+ } {
+ \relative c'' {
+ \voiceOne
+ c4 a b g
+ }
}
- \relative c'' {
- \voiceOne
- c a b g
- }
- \new Voice
- \relative c' {
- \voiceTwo
- c e d f
+ \new Voice {
+ \relative c' {
+ \voiceTwo
+ c4 e d f
+ }
}
>>
@end lilypond
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \consists Ambitus_engraver
- }
- <<
- \new Voice
- \relative c'' {
- \voiceOne
- c a b g
+ \consists Ambitus_engraver
+}
+<<
+ \new Voice {
+ \relative c'' {
+ \voiceOne
+ c4 a b g
+ }
}
- \new Voice
- \relative c' {
- \voiceTwo
- c e d f
+ \new Voice {
+ \relative c' {
+ \voiceTwo
+ c4 e d f
+ }
}
>>
@end lilypond
@lilypond[quote,verbatim,ragged-right]
\score {
<<
- \new Staff <<
+ \new Staff {
\relative c'' {
- c a b g
+ c4 a b g
}
- >>
- \new Staff <<
+ }
+ \new Staff {
\relative c' {
- c a b g
+ c4 a b g
}
- >>
- \new Staff <<
+ }
+ \new Staff {
\clef "G_8"
\relative c' {
- c a b g
+ c4 a b g
}
- >>
- \new Staff <<
+ }
+ \new Staff {
\clef "bass"
\relative c {
- c a b g
+ c4 a b g
}
- >>
+ }
>>
\layout {
\context {
@example
\version @w{"@version{}"}
melody = \relative c' @{
- \clef treble
+ \clef "treble"
\key c \major
\time 4/4
a4 b c d
@example
\version @w{"@version{}"}
+
melody = \relative c' @{
- \clef treble
+ \clef "treble"
\key c \major
\time 4/4
a4 b c d
@example
\version @w{"@version{}"}
+
SopranNoten = \relative c' @{
- \clef treble
+ \clef "treble"
\key c \major
\time 4/4
a4 b c d
@}
CelloNoten = \relative c @{
- \clef bass
+ \clef "bass"
\key c \major
\time 4/4
d4 g fis8 e d4
@lilypond[quote,verbatim,ragged-right,addversion]
sopranoMusic = \relative c' {
- \clef treble
+ \clef "treble"
\key c \major
\time 4/4
a4 b c d
}
celloMusic = \relative c {
- \clef bass
+ \clef "bass"
\key c \major
\time 4/4
d4 g fis8 e d4
@c The following should appear as music without code
@lilypond[quote,ragged-right]
global = { \key d \major \time 4/4 }
+
sopranoMusic = \relative c'' {
\clef "treble"
r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
}
sopranoWords = \lyricmode {
- Wor -- thy is the lamb that was slain
+ Wor -- thy | is the lamb | that was slain |
}
altoMusic = \relative a' {
\clef "treble"
Damit erhalten wir folgenden @code{ChoirStaff}:
@example
- \new ChoirStaff <<
- \new Staff = "sopranos" <<
- \set Staff.instrumentName = #"Sopran"
- \new Voice = "sopranos" @{
- \global
- \SopranNoten
- @}
- >>
- \new Lyrics \lyricsto "sopranos" @{
- \SopranText
- @}
- \new Staff = "altos" <<
- \set Staff.instrumentName = #"Alt"
- \new Voice = "altos" @{
- \global
- \AltNoten
- @}
- >>
- \new Lyrics \lyricsto "altos" @{
- \AltText
- @}
- \new Staff = "tenors" <<
- \set Staff.instrumentName = #"Tenor"
- \new Voice = "tenors" @{
- \global
- \TenorNoten
- @}
- >>
- \new Lyrics \lyricsto "tenors" @{
- \TenorText
- @}
- \new Staff = "basses" <<
- \set Staff.instrumentName = #"Bass"
- \new Voice = "basses" @{
- \global
- \BassNoten
- @}
- >>
- \new Lyrics \lyricsto "basses" @{
- \BassText
- @}
- >> % Ende ChoirStaff
+\new ChoirStaff <<
+ \new Staff = "sopranos" <<
+ \set Staff.instrumentName = #"Sopran"
+ \new Voice = "sopranos" @{
+ \global
+ \sopranoMusic
+ @}
+ >>
+ \new Lyrics \lyricsto "sopranos" @{
+ \sopranoWords
+ @}
+ \new Staff = "altos" <<
+ \set Staff.instrumentName = #"Alt"
+ \new Voice = "altos" @{
+ \global
+ \altoMusic
+ @}
+ >>
+ \new Lyrics \lyricsto "altos" @{
+ \altoWords
+ @}
+ \new Staff = "tenors" <<
+ \set Staff.instrumentName = #"Tenor"
+ \new Voice = "tenors" @{
+ \global
+ \tenorMusic
+ @}
+ >>
+ \new Lyrics \lyricsto "tenors" @{
+ \tenorWords
+ @}
+ \new Staff = "basses" <<
+ \set Staff.instrumentName = #"Bass"
+ \new Voice = "basses" @{
+ \global
+ \bassMusic
+ @}
+ >>
+ \new Lyrics \lyricsto "basses" @{
+ \bassWords
+ @}
+>> % end ChoirStaff
@end example
Als nächstes müssen wir das Klaviersystem bearbeiten.
r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
}
sopranoWords = \lyricmode {
- Wor -- thy is the lamb that was slain
+ Wor -- thy | is the lamb | that was slain |
}
altoMusic = \relative a' {
\clef "treble"
title = "Jesu, meine Freude"
composer = "J. S. Bach"
@}
-TimeKey = @{
- \time 4/4
- \key c \minor
-@}
+keyTime = @{ \key c \minor \time 4/4 @}
ManualOneVoiceOneMusic = @{ s1 @}
ManualOneVoiceTwoMusic = @{ s1 @}
ManualTwoMusic = @{ s1 @}
das zweite nur eine.
@example
- \new PianoStaff <<
- \new Staff = "ManualOne" <<
- \new Voice @{
- \ManualOneVoiceOneMusic
- @}
- \new Voice @{
- \ManualOneVoiceTwoMusic
- @}
- >> % end ManualOne Staff context
- \new Staff = "ManualTwo" <<
- \new Voice @{
- \ManualTwoMusic
- @}
- >> % end ManualTwo Staff context
- >> % end PianoStaff context
+\new PianoStaff <<
+ \new Staff = "ManualOne" <<
+ \new Voice @{
+ \ManualOneVoiceOneMusic
+ @}
+ \new Voice @{
+ \ManualOneVoiceTwoMusic
+ @}
+ >> % Ende ManualOne Systemkontext
+ \new Staff = "ManualTwo" <<
+ \new Voice @{
+ \ManualTwoMusic
+ @}
+ >> % Ende ManualTwo Systemkontext
+>> % Ende PianoStaff Kontext
@end example
Als nächstes soll das System für das Pedal hinzugefügt
kontrollieren, indem die obere Stimme ein
@code{\voiceOne}, die untere dagegen ein @code{\voiceTwo}
erhält. Die Taktart und Tonart werden mit unserer fertigen
-Variable @code{\TimeKey} eingefügt.
+Variable @code{\keyTime} eingefügt.
@example
\score @{
<< % PianoStaff and Pedal Staff must be simultaneous
\new PianoStaff <<
\new Staff = "ManualOne" <<
- \TimeKey % set time signature and key
+ \keyTime % set time signature and key
\clef "treble"
\new Voice @{
\voiceOne
@}
>> % end ManualOne Staff context
\new Staff = "ManualTwo" <<
- \TimeKey
+ \keyTime
\clef "bass"
\new Voice @{
\ManualTwoMusic
>> % end ManualTwo Staff context
>> % end PianoStaff context
\new Staff = "PedalOrgan" <<
- \TimeKey
+ \keyTime
\clef "bass"
\new Voice @{
\PedalOrganMusic
title = "Jesu, meine Freude"
composer = "J S Bach"
}
-TimeKey = {
- \time 4/4
- \key c \minor
-}
+keyTime = { \key c \minor \time 4/4 }
ManualOneVoiceOneMusic = \relative g' {
- g4 g f ees
- d2 c2
+ g4 g f ees |
+ d2 c2 |
}
ManualOneVoiceTwoMusic = \relative c' {
- ees16 d ees8~ ees16 f ees d c8 d~ d c~
- c c4 b8 c8. g16 c b c d
+ ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
+ c8 c4 b8 c8. g16 c b c d |
}
ManualTwoMusic = \relative c' {
- c16 b c8~ c16 b c g a8 g~ g16 g aes ees
- f ees f d g aes g f ees d e8~ ees16 f ees d
+ c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
+ f16 ees f d g aes g f ees d e8~ ees16 f ees d |
}
PedalOrganMusic = \relative c {
- r8 c16 d ees d ees8~ ees16 a, b g c b c8
- r16 g ees f g f g8 c,2
+ r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
+ r16 g ees f g f g8 c,2 |
}
\score {
<< % PianoStaff and Pedal Staff must be simultaneous
\new PianoStaff <<
\new Staff = "ManualOne" <<
- \TimeKey % set time signature and key
+ \keyTime % set time signature and key
\clef "treble"
\new Voice {
\voiceOne
}
>> % end ManualOne Staff context
\new Staff = "ManualTwo" <<
- \TimeKey
+ \keyTime
\clef "bass"
\new Voice {
\ManualTwoMusic
>> % end ManualTwo Staff context
>> % end PianoStaff context
\new Staff = "PedalOrgan" <<
- \TimeKey
+ \keyTime
\clef "bass"
\new Voice {
\PedalOrganMusic
@lilypond[quote,verbatim,ragged-right]
hornNotes = \relative c'' { c4 b dis c }
+
\score {
{
\hornNotes
fragmentA = \relative c'' { a4 a8. b16 }
fragmentB = \relative c'' { a8. gis16 ees4 }
violin = \new Staff {
- \fragmentA
- \fragmentA
- \fragmentB
- \fragmentA
+ \fragmentA \fragmentA |
+ \fragmentB \fragmentA |
}
+
\score {
{
\violin
@lilypond[quote,verbatim,ragged-right]
dolce = \markup { \italic \bold dolce }
padText = { \once \override TextScript #'padding = #5.0 }
-fthenp=_\markup { \dynamic f \italic \small { 2nd } \hspace #0.1 dynamic p }
+fthenp=_\markup {
+ \dynamic f \italic \small { 2nd } \hspace #0.1 dynamic p
+}
+
violin = \relative c'' {
\repeat volta 2 {
c4._\dolce b8 a8 g a b
c,4.\fthenp b8 c4 c-.
}
}
+
\score {
{
\violin
}
-\layout{ragged-right=##t}
+ \layout{ragged-right=##t}
}
@end lilypond
c4._\markup @{ \italic \bold dolce @} b8 a8 g a b
\once \override TextScript #'padding = #5.0
c4.^"hi there!" d8 e' f g d
- c,4.\markup @{ \dynamic f \italic \small @{ 2nd @}
- \hspace #0.1 \dynamic p @} b8 c4 c-.
+ c,4.\markup @{
+ \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
+ @}
+ b8 c4 c-. |
@}
@}
@end example
@lilypond[quote,verbatim,ragged-right]
padText =
-#(define-music-function (parser location padding) (number?)
- #{
- \once \override TextScript #'padding = #$padding
- #})
+#(define-music-function
+ (parser location padding)
+ (number?)
+ #{
+ \once \override TextScript #'padding = $padding
+ #})
\relative c''' {
- c4^"piu mosso" b a b
+ c4^"piu mosso" b a b |
\padText #1.8
- c4^"piu mosso" d e f
+ c4^"piu mosso" d e f |
\padText #2.6
- c4^"piu mosso" fis a g
+ c4^"piu mosso" fis a g |
}
@end lilypond
@example
hornNotes = \relative c @{
\time 2/4
- r4 f8 a cis4 f e d
+ r4 f8 a | cis4 f | e4 d |
@}
@end example
@example
\include "horn-music.ly"
+
\header @{
instrument = "Horn in F"
@}
@lilypond[quote,ragged-right]
\transpose f c' \relative c {
\time 2/4
- r4 f8 a cis4 f e d
+ r4 f8 a | cis4 f | e4 d |
}
@end lilypond
\transpose f c' \relative c {
\time 2/4
\set Score.skipBars = ##t
- R2*3
- r4 f8 a cis4 f e d
+ R2*3 |
+ r4 f8 a | cis4 f | e4 d |
}
@end lilypond
@end example
@noindent
-leading to
+woraus sich ergibt:
@lilypond[quote,ragged-right]
\relative c <<
\new Staff {
+ \clef "treble"
\time 2/4
- R2*3
- r4 f8 a cis4 f e d
+ R2*3 |
+ r4 f8 a | cis4 f | e4 d |
}
\new Staff {
- \clef bass
- r4 d,8 f | gis4 c | b bes |
- a8 e f4 | g d | gis f |
+ \clef "bass"
+ \time 2/4
+ r4 d,8 f | gis4 c | b4 bes |
+ a8 e f4 | g4 d | gis4 f |
}
>>
@end lilypond
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 940a3955254888e14a8c5ef7e835225e5cc3852c
+ Translation of GIT committish: 64feeff58e5ce3397de87188a08ac99f7ef8e37b
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..
+ Guide, node Updating translation committishes.
@end ignore
@c \version "2.12.0"
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
{vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly}
+@appendixsubsec Sologesang und zweistimmiger Refrain
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{vocal-ensemble-template-with-verse-and-refrain.ly}
+
@node Orchestervorlage
@appendixsec Orchestervorlage
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: a6039d8aa56d66e91952a3b92ca7878d342e6ebe
+ Translation of GIT committish: 64feeff58e5ce3397de87188a08ac99f7ef8e37b
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@menu
* Eine Quelldatei übersetzen::
* Arbeiten an Eingabe-Dateien::
+* Mit Fehlern umgehen::
* Wie soll das Handbuch gelesen werden::
@end menu
Handbuch gibt der Abschnitt @ref{Wie soll das Handbuch gelesen werden}.}
Zusätzlich unterscheidet LilyPond @strong{Groß- und Kleinschreibung}.
-@w{@code{ @{ c d e @}}} ist zulässiger Code,
-@w{@code{ @{ C D E @}}} dagegen resultiert in einer Fehlermeldung.
+@w{@samp{ @{ c d e @}}} ist zulässiger Code,
+@w{@samp{ @{ C D E @}}} dagegen resultiert in einer Fehlermeldung.
@smallspace
Um eine Notenhöhe um zwei (oder mehr!) Oktaven zu verändern,
werden sukzessive @code{''} oder @code{,,} benutzt -- es muss
sich dabei wirklich um zwei einzelne Apostrophen und nicht um das
-Anführungszeichen @code{"}@tie{} (Taste Shift+2) handeln! Auch
-die Anfangsoktave für einen @code{@w{\relative c'}}-Abschnitt kann so
-verändert werden.
+Anführungszeichen @code{"}@tie{} (Taste Shift+2) handeln!
@subheading Tondauern (Rhythmen)
@lilypond[verbatim,quote]
\relative c'' {
- a a a4. a8
+ a4 a a4. a8
a8. a16 a a8. a8 a4.
}
@end lilypond
@lilypond[verbatim,quote]
\relative c'' {
- a r r2
+ a4 r r2
r8 a r4 r4. r8
}
@end lilypond
@lilypond[verbatim,quote]
\relative c' {
- \clef treble
+ \clef "treble"
c1
- \clef alto
+ \clef "alto"
c1
- \clef tenor
+ \clef "tenor"
c1
- \clef bass
+ \clef "bass"
c1
}
@end lilypond
@lilypond[verbatim,quote]
\relative c, {
+ \clef "bass"
\time 3/4
- \clef bass
- c2 e8 c' g'2.
- f4 e d c4 c, r4
+ c2 e8 c'
+ g'2.
+ f4 e d
+ c4 c, r4
}
@end lilypond
Programmiersprachen: Sie enthalten eine Versionsbezeichnung,
es ist auf Groß- und Kleinschreibung
zu achten und Leerzeichen werden ignoriert. Ausdrücke werden
-mit geschweiften Klammern @{ @} eingeklammert und Kommentare
+mit geschweiften Klammern @w{@code{@{ @}}} eingeklammert und Kommentare
mit dem Prozentzeichen @code{%} auskommentiert
-oder mit @code{%@{ ... %@}} umgeben.
+oder mit @w{@code{%@{ @dots{} %@}}} umgeben.
Wenn das jetzt unverständlich erscheint, sind hier die Erklärungen:
Die Bedeutung eines Zeichens verändert sich, je
nachdem, ob es groß (@w{@code{A, B, S, T}}) oder klein
(@w{@code{a, b, s, t}}) geschrieben wird. Noten müssen
-immer klein geschrieben werden, @w{@code{@{ c d e @}}} funktioniert,
-während @w{@code{@{ C D E @}}} einen Fehler produziert.
+immer klein geschrieben werden, @w{@samp{@{ c d e @}}} funktioniert,
+während @w{@samp{@{ C D E @}}} einen Fehler produziert.
@item @strong{Leerzeichen:}
Es spielt keine Rolle, wie viele Leerzeichen oder Tabulatoren oder
leere Zeilen sich zwischen den Zeichen der Quelldatei befinden.
-@w{@code{@{ c d e @}}} bedeutet das Gleiche wie
-@w{@code{@{ c @ @ @ @ @ d e @}}} oder
+@w{@samp{@{ c d e @}}} bedeutet das Gleiche wie
+@w{@samp{@{ c @ @ @ @ @ d e @}}} oder
@example
-@{ c d
+@{ c4 d
e @}
@end example
@noindent
Natürlich ist das letzte Beispiel etwas schwer zu lesen. Eine gute Daumenregel
-ist es, Code-Blöcke mit der Tab-Taste oder zwei Leerzeichen einzurücken:
+ist es, Code-Blöcke mit zwei Leerzeichen einzurücken:
@example
@{
- c d e
+ c4 d e
@}
@end example
@item @strong{Ausdrücke:}
Auch der kleinste Abschnitt an LilyPond-Code muss in
-@strong{@{ geschweifte Klammern @}} eingeschlossen werden. Diese
+@strong{@{@tie{}geschweifte@tie{}Klammern@tie{}@}} eingeschlossen werden. Diese
Klammern zeigen LilyPond an, dass es sich um einen zusammengehörenden
musikalischen Ausdruck handelt, genauso wie Klammern @q{()} in der Mathematik.
Die Klammern sollten von jeweils einem Leerzeichen umgeben sein, um
Zweideutigkeiten auszuschließen, es sei denn, sie
befinden sich am Anfang oder Ende einer Zeile.
+
Ein LilyPond-Befehl gefolgt von einem einfachen Ausdruck
-in Klammern (wie etwa @code{\relative @{ @}})
+in Klammern (wie etwa @q{@w{@code{@bs{}relative c' @{ @dots{} @}}}})
wird auch als ein einzelner Musikausdruck gewertet.
@cindex Kommentare
ignoriert, weil sie sich in einem Block-Kommentar
befinden.
- f f e e d d c2
+ f4 f e e d d c2
%@}
@end example
@end itemize
+@node Mit Fehlern umgehen
+@section Mit Fehlern umgehen
+@translationof Dealing with errors
+
+@cindex Fehlerlösung
+
+Manchmal erstellt LlilyPond nicht das Notenbild, das Sie erwarten. Dieser
+Abschnitt stellt einige Links zur Verfügung, um Ihnen bei der Problemlösung
+möglicher Schwierigkeiten zu helfen.
+
+
+@menu
+* Allgemeine Fehlerlösungstipps::
+* Einige häufige Fehler::
+@end menu
+
+@node Allgemeine Fehlerlösungstipps
+@subsection Allgemeine Fehlerlösungstipps
+@translationof General troubleshooting tips
+
+Fehlerlösung für LilyPond-Probleme kann eine große Herausforderung für Menschen
+darstellen, die an eine graphische Benutzeroberfläche gewohnt sind, weil
+ungültige Eingabedateien erstellt werden können. Wenn das geschieht, ist
+eine logische Herangehensweise der beste Weg, das Problem zu identifizieren
+und zu lsöen. Einige Richtlinien, wie Sie diese Problemlösung erlernen
+können, finden sich in @rprogram{Troubleshooting}.
+
+
+@node Einige häufige Fehler
+@subsection Einige häufige Fehler
+@translationof Some common errors
+
+@cindex häufige Fehler
+@cindex Fehler, häufige
+
+Es gibt einige übliche Fehler, die schwierig zu lösen sind, wenn man nur die
+Fehlermeldungen der Log-Datei hat. Sie werden näher erklärt in
+@rprogram{Common errors}.
+
+
@node Wie die Handbücher gelesen werden sollen
@section Wie die Handbücher gelesen werden sollen
@cindex Konstruieren von Dateien, Hinweise
@cindex Hinweise zur Konstruktion von Dateien
-LilyPond-Code muss immer von @{ @} Zeichen oder einem
-@code{@w{\relative c'' @{ ... @}}} umgeben sein, wie
+LilyPond-Code muss immer von @code{@{ @}} Zeichen oder einem
+@w{@code{@bs{}relative c'' @{ @dots{} @}}} umgeben sein, wie
gezeigt in @ref{Arbeiten an Eingabe-Dateien}.
Im Rest dieses Handbuchs werden die meisten Beispiel allerdings darauf
verzichten. Um sie zu reproduzieren, können Sie den entsprechenden
Quellcode kopieren und in eine Textdatei einfügen, aber Sie
@strong{müssen} dabei
-@code{@w{\relative c'' @{ @}}} einfügen, wie hier gezeigt:
+@w{@code{@bs{}relative c'' @{ @dots{} @}}} einfügen, wie hier gezeigt:
@example
\relative c'' @{
- ... hier das Beispiel ...
+ @dots{}hier das Beispiel@dots{}
@}
@end example
Warum werden die Klammern hier meist weggelassen? Die meisten
der Beispiele können in ein längeres Musikstück hineinkopiert
werden, und dann ist es natürlich nicht sinnvoll, wenn auch noch
-@code{@w{\relative c'' @{ @}}} dazukommt; ein @code{\relative} darf
+@w{@code{@bs{}relative c'' @{ @dots{} @}}} dazukommt; ein @code{\relative} darf
nicht innerhalb eines anderen @code{\relative} gesetzt werden,
deshalb wird es hier weggelassen, damit die Beispiele auch innerhalb
eines anderen Kontextes funktionieren. Wenn bei jedem
-Beispiel @code{@w{\relative c'' @{ @}}} eingesetzt würde,
+Beispiel @w{@code{@bs{}relative c'' @{ @dots{} @}}} eingesetzt würde,
könnten Sie die kleinen Beispiele der Dokumentation
nicht einfach zu Ihrem eigenen Notentext hinzufügen.
Die meisten Benutzer wollen
im Handbuch weggelassen.
Denken Sie auch daran, dass jede LilyPond-Datei eine Versionsbezeichnung
-haben sollte. Weil die Beispiele in den Handbüchern Schnipsel
-und keine vollständigen Dateien sind, fehlt hier die Versionsbezeichnung.
-Sie sollten sie aber immer in Ihre eigenen Dateien einfügen.
+mit dem @code{\version}-Befehl haben sollte. Weil die Beispiele in den
+Handbüchern Schnipsel und keine vollständigen Dateien sind, fehlt hier
+die Versionsbezeichnung. Sie sollten sie aber immer in Ihre eigenen
+Dateien einfügen.
@node Anklickbare Beispiele
@c KEEP LY
@lilypond[quote]
\relative c'' {
- c-\markup { \bold \huge { Hier klicken! } }
+ c4-\markup { \bold \huge { Hier klicken! } }
}
@end lilypond
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 940a3955254888e14a8c5ef7e835225e5cc3852c
+ Translation of GIT committish: 64feeff58e5ce3397de87188a08ac99f7ef8e37b
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..
+ Guide, node Updating translation committishes.
@end ignore
@c \version "2.12.0"
@cindex Notenkopf, Beispiel für Veränderung
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-c d
+c4 d
\override NoteHead #'color = #red
-e f g
+e4 f |
\override NoteHead #'color = #green
-a b c
+g4 a b c |
@end lilypond
@cindex Notenkopf, Beispiel für Veränderung
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-c d
+c4 d
\override NoteHead #'color = #red
-e f g
+e4 f |
\override NoteHead #'color = #green
-a
+g4 a
\revert NoteHead #'color
-b c
+b4 c |
@end lilypond
@strong{\once-Präfix}
@cindex Notenkopf, Beispiel für Veränderung
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-c d
+c4 d
\once \override NoteHead #'color = #red
-e f g
+e4 f |
\once \override NoteHead #'color = #green
-a b c
+g4 a b c |
@end lilypond
@cindex Notenkopf, Beispiel für Veränderung
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
- <c e g>4
- \once \override NoteHead #'font-size = #-3
- <c e g>
- <c e g>
+<c e g>4
+\once \override NoteHead #'font-size = #-3
+<c e g>4
+<c e g>4
@end lilypond
Wie man sehen kann, beeinflusst @code{override} @emph{alle}
@cindex @code{\tweak}-Beispiel
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
- <c e g>4
- <c \tweak #'font-size #-3 e g>4
+<c e g>4
+<c \tweak #'font-size #-3 e g>4
@end lilypond
Beachten Sie, dass die Syntax des @code{\tweak}-Befehls sich
@cindex @code{\tweak}-Beispiel
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-a ^Black
- -\tweak #'color #red ^Red
- -\tweak #'color #green _Green
+a4^"Black"
+ -\tweak #'color #red ^"Red"
+ -\tweak #'color #green _"Green"
@end lilypond
@noindent
\tweak #'direction #up
\times 4/3 {
\tweak #'color #red
- \times 2/3 { c8[ c8 c8] }
- \times 2/3 { c8[ c8 c8] }
- \times 2/3 { c8[ c8 c8] }
+ \times 2/3 { c8[ c c] }
+ \times 2/3 { c8[ c c] }
+ \times 2/3 { c8[ c c] }
}
@end lilypond
\once \override TupletNumber
#'text = #tuplet-number::calc-fraction-text
\times 2/3 {
- c[ c]
- c[ c]
+ c8[ c]
+ c8[ c]
\once \override TupletNumber #'transparent = ##t
\times 2/3 { c8[ c c] }
-\times 2/3 { c8[ c c] }
+ \times 2/3 { c8[ c c] }
}
@end lilypond
Das Vorgehen soll an einem konkreten Beispiel einer echten
Komposition demonstriert werden. Hier das Beispiel:
+@c Mozart, Die Zauberflöte Nr. 7 Duett
+
@lilypond[quote,verbatim,relative=2]
{
+ \key es \major
\time 6/8
{
- r4 b8 b[( g]) g
- g4[( e]) e d[( f]) a
- a4 g
+ r4 bes8 bes[( g]) g |
+ g8[( es]) es d[( f]) as |
+ as8 g
}
\addlyrics {
- The man who feels love's sweet e -- mo -- tion
+ The man who | feels love's sweet e -- | mo -- tion
}
}
@end lilypond
@lilypond[quote,verbatim,relative=2]
{
+ \key es \major
\time 6/8
{
% Increase thickness of all following slurs from 1.2 to 5.0
\override Slur #'thickness = #5.0
- r4 b8 b[( g]) g
- g4[( e]) e d[( f]) a
- a4 g
+ r4 bes8 bes[( g]) g |
+ g8[( es]) es d[( f]) as |
+ as8 g
}
\addlyrics {
- The man who feels love's sweet e -- mo -- tion
+ The man who | feels love's sweet e -- | mo -- tion
}
}
@end lilypond
{
\time 6/8
{
- r4 b8
+ \key es \major
+ r4 bes8
% Increase thickness of immediately following slur only
\once \override Slur #'thickness = #5.0
- b4[( g]) g
- g4[( e]) e d[( f]) a
- a4 g
+ bes8[( g]) g |
+ g8[( es]) es d[( f]) as |
+ as8 g
}
\addlyrics {
- The man who feels love's sweet e -- mo -- tion
+ The man who | feels love's sweet e -- | mo -- tion
}
}
@end lilypond
@lilypond[quote,verbatim,relative=2]
{
+ \key es \major
\time 6/8
{
- r4 b8
+ r4 bes8
% Increase thickness of immediately following slur only
\once \override Slur #'thickness = #5.0
- b4[( g]) g
+ bes[( g]) g |
% Increase thickness of immediately following slur only
\once \override Slur #'thickness = #5.0
- g4[( e]) e d[( f]) a
- a4 g
+ g8[( es]) es d[( f]) as |
+ as8 g
}
\addlyrics {
- The man who feels love's sweet e -- mo -- tion
+ The man who | feels love's sweet e -- | mo -- tion
}
}
@end lilypond
@lilypond[quote,verbatim,relative=2]
{
+ \key es \major
\time 6/8
{
- r4 b8
+ r4 bes8
% Increase thickness of all following slurs from 1.2 to 5.0
\override Slur #'thickness = #5.0
- b4[( g]) g
- g4[( e])
+ bes[( g]) g |
+ g8[( es]) es
% Revert thickness of all following slurs to default of 1.2
\revert Slur #'thickness
- e4 d[( f]) a
- a4 g
+ d8[( f]) as |
+ as8 g
}
\addlyrics {
- The man who feels love's sweet e -- mo -- tion
+ The man who | feels love's sweet e -- | mo -- tion
}
}
@end lilypond
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
{
+ \key es \major
\time 6/8
{
- r4 b8 b[( g]) g
- g4[( e]) e d[( f]) a
- a4 g
+ r4 bes8 bes[( g]) g |
+ g8[( es]) es d[( f]) as |
+ as8 g
}
\addlyrics {
\override LyricText #'font-shape = #'italic
- The man who feels love's sweet e -- mo -- tion
+ The man who | feels love's sweet e -- | mo -- tion
}
}
@end lilypond
\time 12/16
\override BarLine #'stencil = ##f
c4 b8 c d16 c d8
- g,8 a16 b8 c d4 e16
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
@lilypond[quote,verbatim,relative=2]
{
- c c
+ c4 c
\once \override NoteHead #'stencil = #point-stencil
- c c
+ c4 c
}
@end lilypond
{
\time 12/16
\override Staff.BarLine #'break-visibility = #'#(#f #f #f)
- c4 b8 c d16 c d8
- g,8 a16 b8 c d4 e16
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
{
\time 12/16
\override Staff.TimeSignature #'transparent = ##t
- c4 b8 c d16 c d8
- g,8 a16 b8 c d4 e16
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
{
\time 12/16
\override Staff.TimeSignature #'stencil = ##f
- c4 b8 c d16 c d8
- g,8 a16 b8 c d4 e16
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
{
\time 12/16
\override Staff.BarLine #'color = #white
- c4 b8 c d16 c d8
- g,8 a16 b8 c d4 e16
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
{
\time 12/16
\override Staff.BarLine #'color = #(x11-color 'white)
- c4 b8 c d16 c d8
- g,8 a16 b8 c d4 e16
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
{
\time 12/16
\override Staff.BarLine #'color = #(rgb-color 1 1 1)
- c4 b8 c d16 c d8
- g,8 a16 b8 c d4 e16
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
\override Voice.NoteHead #'color = #(x11-color 'grey85)
\override Voice.Stem #'color = #(x11-color 'grey85)
\override Staff.BarLine #'color = #(x11-color 'grey10)
- c4 b8 c d16 c d8
- g,8 a16 b8 c d4 e16
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
@cindex direction-Eigenschaft, Beispiel
@lilypond[quote,verbatim,relative=2]
-c-5 a-3 f-1 c'-5
+c4-5 a-3 f-1 c'-5
\override Fingering #'direction = #DOWN
-c-5 a-3 f-1 c'-5
+c4-5 a-3 f-1 c'-5
\override Fingering #'direction = #UP
-c-5 a-3 f-1 c'-5
+c4-5 a-3 f-1 c'-5
@end lilypond
Eine Beeinflussung der @code{direction}-Eigenschaft ist jedoch
@cindex Fingersatz-Beispiel
@lilypond[quote,verbatim,relative=2]
-c-5 a-3 f-1 c'-5
-c_5 a_3 f_1 c'_5
-c^5 a^3 f^1 c'^5
+c4-5 a-3 f-1 c'-5
+c4_5 a_3 f_1 c'_5
+c4^5 a^3 f^1 c'^5
@end lilypond
Die @code{direction}-Eigenschaft wirkt sich nicht auf
@cindex Fingersatz-Beispiel
@lilypond[quote,verbatim,relative=2]
-<c-5 g-3>
-<c-5 g-3 e-2>
-<c-5 g-3 e-2 c-1>
+<c-5 g-3>4
+<c-5 g-3 e-2>4
+<c-5 g-3 e-2 c-1>4
@end lilypond
@noindent
@cindex Fingersatz-Beispiel
@lilypond[quote,verbatim,relative=2]
-<c-5 g-3 e-2 c-1>
-<c^5 g_3 e_2 c_1>
-<c^5 g^3 e^2 c_1>
+<c-5 g-3 e-2 c-1>4
+<c^5 g_3 e_2 c_1>4
+<c^5 g^3 e^2 c_1>4
@end lilypond
Noch bessere Kontrolle über die Positionierung von Fingersatz für
@lilypond[quote,verbatim,relative=1]
\set fingeringOrientations = #'(left)
-<f-2>
+<f-2>4
<c-1 e-2 g-3 b-5>4
\set fingeringOrientations = #'(left)
-<f-2>
+<f-2>4
<c-1 e-2 g-3 b-5>4
\set fingeringOrientations = #'(up left down)
-<f-2>
+<f-2>4
<c-1 e-2 g-3 b-5>4
\set fingeringOrientations = #'(up left)
-<f-2>
+<f-2>4
<c-1 e-2 g-3 b-5>4
\set fingeringOrientations = #'(right)
-<f-2>
+<f-2>4
<c-1 e-2 g-3 b-5>4
@end lilypond
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
\override Fingering #'font-size = #-7
\set fingeringOrientations = #'(left)
-<f-2>
+<f-2>4
<c-1 e-2 g-3 b-5>4
\set fingeringOrientations = #'(left)
-<f-2>
+<f-2>4
<c-1 e-2 g-3 b-5>4
\set fingeringOrientations = #'(up left down)
-<f-2>
+<f-2>4
<c-1 e-2 g-3 b-5>4
\set fingeringOrientations = #'(up left)
-<f-2>
+<f-2>4
<c-1 e-2 g-3 b-5>4
\set fingeringOrientations = #'(right)
-<f-2>
+<f-2>4
<c-1 e-2 g-3 b-5>4
@end lilypond
= \markup { \small \bold Slower }
% Place dynamics above staff
\dynamicUp
-%Place following Ottava Bracket below Text Spanners
+% Place following Ottava Bracket below Text Spanners
\once \override Staff.OttavaBracket #'outside-staff-priority = #340
% Start Ottava Bracket
\ottava #1
Hier ein Beispiel, das die beiden Möglichkeiten veranschaulicht:
@lilypond[quote,verbatim,relative=2]
-c4( c^\markup { \tiny\sharp } d4.) c8
+c4( c^\markup { \tiny \sharp } d4.) c8
c4(
\once \override TextScript #'avoid-slur = #'inside
\once \override TextScript #'outside-staff-priority = ##f
-c4^\markup { \tiny\sharp } d4.) c8
+c4^\markup { \tiny \sharp } d4.) c8
\once \override Slur #'outside-staff-priority = #500
-c4( c^\markup\tiny\sharp d4.) c8
+c4( c^\markup { \tiny \sharp } d4.) c8
@end lilypond
Eine Änderung der @code{outside-staff-priority} kann auch dazu
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
c2^"Text1"
-c2^"Text2"
+c2^"Text2" |
\once \override TextScript #'outside-staff-priority = #500
c2^"Text3"
-c2^"Text4"
+c2^"Text4" |
@end lilypond
Damit wird zwar @qq{Text3} ganz richtig über @qq{Text4}
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\textLengthOn % Cause notes to space out to accommodate text
c2^"Text1"
-c2^"Text2"
+c2^"Text2" |
c2^"Text3"
-c2^"Text4"
+c2^"Text4" |
@end lilypond
Dieses Verhalten wird mit dem @code{\textLengthOff}-Befehl
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
% This markup is short enough to fit without collision
-c2^"Tex"
-c''2
-R1
+c2^"Tex" c'' |
+R1 |
+
% This is too long to fit, so it is displaced upwards
-c,,2^"Text"
-c''2
-R1
+c,,2^"Text" c'' |
+R1 |
+
% Turn off collision avoidance
\once \override TextScript #'outside-staff-priority = ##f
-c,,2^"Long Text "
-c''2
-R1
+c,,2^"Long Text " c'' |
+R1 |
+
% Turn off collision avoidance
\once \override TextScript #'outside-staff-priority = ##f
-\textLengthOn % and turn on textLengthOn
+\textLengthOn % and turn on textLengthOn
c,,2^"Long Text " % Spaces at end are honored
-c''2
+c''2 |
@end lilypond
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\dynamicUp
-a4\f b\mf c\mp b\p
+a4\f b\mf c\mp b\p |
@end lilypond
@noindent
% This will not work, see below
\override MetronomeMark #'padding = #3
\tempo 4=120
-c1
+c1 |
% This works
\override Score.MetronomeMark #'padding = #3
\tempo 4=80
-d1
+d1 |
@end lilypond
Im zweiten Beispiel können Sie sehen, wie wichtig es ist den richtigen
@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
r4
\once \override PhrasingSlur #'positions = #'(-4 . -3)
-\acciaccatura
-e8\( d8 c~ c d c d\)
+\acciaccatura e8\( d8 c~ c d c d\)
@end lilypond
Hier noch ein weiteres Beispiel aus der Einleitung von Chopins
@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 } >>
+ \clef "bass"
+ << { b,8 ais, b, g, } \\ { e, g e, g } >>
+ << { b,8 ais, b, g, } \\ { e, g e, g } >>
}
@end lilypond
\new Staff \relative c'' {
\key aes \major
<<
- { c2 aes4. bes8 } \\
- { aes2 f4 fes } \\
- { \voiceFour
- <ees c>2
- des2
+ { c2 aes4. bes8 }
+ \\
+ { aes2 f4 fes }
+ \\
+ {
+ \voiceFour
+ <ees c>2 des
}
>> |
<c ees aes c>1 |
\new Staff \relative c'' {
\key aes \major
<<
- { c2 aes4. bes8 } \\
- { aes2 f4 fes } \\
- { \voiceFour
- \once \override NoteColumn #'force-hshift = #0 <ees c>2
- \once \override NoteColumn #'force-hshift = #0.5 des2
+ { c2 aes4. bes8 }
+ \\
+ { aes2 f4 fes }
+ \\
+ {
+ \voiceFour
+ \once \override NoteColumn #'force-hshift = #0
+ <ees c>2
+ \once \override NoteColumn #'force-hshift = #0.5
+ des2
}
>> |
<c ees aes c>1 |
@c This example should not be indexed
@lilypond[quote,ragged-right,line-width=5.5\in]
rhMusic = \relative c'' {
- r2
- c4.\( g8 |
+ r2 c4.\( g8 |
\once \override Tie #'staff-position = #3.5
bes1~ |
\bar "||"
\time 6/4
\mergeDifferentlyHeadedOn
\mergeDifferentlyDottedOn
- bes2.^\markup {\bold "Moderato"} r8
+ bes2.^\markup { \bold "Moderato"} r8
<<
- {c,8 d fis bes a | }
+ { c,8 d fis bes a | }
\\
- % Reposition the c2 to the right of the merged note
- {c,8~ \once \override NoteColumn #'force-hshift = #1.0
- % Move the c2 out of the main note column so the merge will work
- \shiftOnn c2}
+ {
+ % Reposition the c2 to the right of the merged note
+ c,8~ \once \override NoteColumn #'force-hshift = #1.0
+ % Move the c2 out of the main note column so the merge will work
+ \shiftOnn c2
+ }
\\
- % Stem on the d2 must be down to permit merging
- {s8 \stemDown \once \override Stem #'transparent = ##t d2}
+ {
+ % Stem on the d2 must be down to permit merging
+ s8 \stemDown
+ \once \override Stem #'transparent = ##t
+ d2
+ }
\\
- {s4 fis4.}
- >>
+ { s4 fis4.}
+ >> |
\mergeDifferentlyHeadedOff
\mergeDifferentlyDottedOff
g2.\)
bes2. r8
% Start polyphonic section of four voices
<<
- {c,8 d fis bes a | }
+ { c,8 d fis bes a | }
\\
- {c,8~ c2 | }
+ { c,8~ c2 | }
\\
- {s8 d2 | }
+ { s8 d2 | }
\\
- {s4 fis4. | }
- >>
- g2.
+ { s4 fis4. | }
+ >> |
+ g2. |
}
lhMusic = \relative c' {
bes2. r8
% Start polyphonic section of four voices
<<
- {c,8 d fis bes a | }
+ { c,8 d fis bes a | }
\\
- {c,8~ c2 | }
+ { c,8~ c2 | }
\\
- {s8 d2 | }
+ { s8 d2 | }
\\
- {s4 fis4. | }
- >>
- g2.\)
+ { s4 fis4. | }
+ >> |
+ g2.\) |
}
lhMusic = \relative c' {
bes2. r8
% Start polyphonic section of four voices
<<
- {c,8 d fis bes a | }
+ { c,8 d fis bes a | }
\\
- {c,8~ c2 | }
+ { c,8~ c2 | }
\\
- {s8 d2 | }
+ { s8 d2 | }
\\
- {s4 fis4. | }
- >>
- g2.\)
+ { s4 fis4. | }
+ >> |
+ g2.\) |
}
lhMusic = \relative c' {
bes1~ |
\bar "||"
\time 6/4
- bes2.^\markup {\bold "Moderato"} r8
+ bes2.^\markup { \bold "Moderato"} r8
\mergeDifferentlyHeadedOn
\mergeDifferentlyDottedOn
% Start polyphonic section of four voices
<<
- {c,8 d fis bes a | }
+ { c,8 d fis bes a | }
\\
- {c,8~ c2 | }
+ { c,8~ c2 | }
\\
- {s8 d2 | }
+ { s8 d2 | }
\\
- {s4 fis4. | }
- >>
+ { s4 fis4. | }
+ >> |
\mergeDifferentlyHeadedOff
\mergeDifferentlyDottedOff
- g2.\)
+ g2.\) |
}
lhMusic = \relative c' {
bes1~ |
\bar "||"
\time 6/4
- bes2.^\markup {\bold "Moderato"} r8
+ bes2.^\markup { \bold "Moderato"} r8
\mergeDifferentlyHeadedOn
\mergeDifferentlyDottedOn
% Start polyphonic section of four voices
<<
- {c,8 d fis bes a | }
+ { c,8 d fis bes a | }
\\
- % Move the c2 out of the main note column so the merge will work
- {c,8~ \shiftOnn c2 | }
+ {
+ % Move the c2 out of the main note column so the merge will work
+ c,8~ \shiftOnn c2
+ }
\\
- % Stem on the d2 must be down to permit merging
- {s8 \stemDown d2 | }
+ {
+ % Stem on the d2 must be down to permit merging
+ s8 \stemDown d2
+ }
\\
- {s4 fis4. | }
- >>
+ { s4 fis4. }
+ >> |
\mergeDifferentlyHeadedOff
\mergeDifferentlyDottedOff
- g2.\)
+ g2.\) |
}
lhMusic = \relative c' {
@lilypond[quote,verbatim,ragged-right,line-width=5.5\in]
rhMusic = \relative c'' {
- r2
- c4.\( g8 |
+ r2 c4.\( g8 |
\once \override Tie #'staff-position = #3.5
bes1~ |
\bar "||"
\time 6/4
- bes2.^\markup {\bold "Moderato"} r8
+ bes2.^\markup { \bold "Moderato"} r8
\mergeDifferentlyHeadedOn
\mergeDifferentlyDottedOn
<<
- {c,8 d fis bes a | }
- \\
- % Reposition the c2 to the right of the merged note
- {c,8~ \once \override NoteColumn #'force-hshift = #1.0
- % Move the c2 out of the main note column so the merge will work
- \shiftOnn c2}
+ { c,8 d fis bes
+ % Reposition the c2 to the right of the merged note
+ c,8~ \once \override NoteColumn #'force-hshift = #1.0
+ % Move the c2 out of the main note column so the merge will work
+ \shiftOnn c2
+ }
\\
- % Stem on the d2 must be down to permit merging
- {s8 \stemDown \once \override Stem #'transparent = ##t d2}
+ {
+ % Stem on the d2 must be down to permit merging
+ s8 \stemDown
+ \once \override Stem #'transparent = ##t
+ d2
+ }
\\
{s4 fis4.}
- >>
+ >> |
\mergeDifferentlyHeadedOff
\mergeDifferentlyDottedOff
- g2.\)
+ g2.\) |
}
lhMusic = \relative c' {
@menu
* Andere Benutzung von Optimierungen::
* Variablen für Optimierungen einsetzen::
+* Globale Formatierung::
* Mehr Information::
* Vermeiden von Optimierungen durch langsamere Übersetzung::
* Fortgeschrittene Optimierungen mit Scheme::
sich in der selben befinden,
@lilypond[quote,fragment,relative=2]
-<< { b8~ b8\noBeam }
-\\ { b[ g8] }
->>
+<< { b8~ b8\noBeam } \\ { b[ g8] } >>
@end lilypond
@noindent
<<
{
\once \override Stem #'transparent = ##t
- b8~ b8\noBeam
+ b8~ b\noBeam
}
\\
- { b[ g8] }
+ { b8[ g] }
>>
@end lilypond
{
\once \override Stem #'transparent = ##t
\once \override Stem #'length = #8
- b8~ b8\noBeam
+ b8~ b\noBeam
}
\\
{ b[ g8] }
\once \override Score.MetronomeMark #'transparent = ##t
% Invisible tempo marking to lengthen fermata in MIDI
\tempo 4=80
- a\fermata
+ a4\fermata
% New tempo for next section
\tempo 4=100
- a a a a
+ a4 a a a
}
\layout { }
\midi { }
\once \override Score.MetronomeMark #'stencil = ##f
% Invisible tempo marking to lengthen fermata in MIDI
\tempo 4=80
- a\fermata
+ a4\fermata
% New tempo for next section
\tempo 4=100
- a a a a
+ a4 a a a
}
\layout { }
\midi { }
\revert Lyrics.LyricText #'font-series
}
-global = { \time 4/4 \partial 4 \key c \major}
-SopranoMusic = \relative c' { c4 | e4. e8 g4 g | a a g }
-AltoMusic = \relative c' { c4 | c4. c8 e4 e | f f e }
-TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
-BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
-VerseOne = \lyrics { E -- | ter -- nal \emphasize Fa -- ther, \normal | strong to save, }
-VerseTwo = \lyricmode { O | \emphasize Christ, \normal whose voice the | wa -- ters heard, }
-VerseThree = \lyricmode { O | \emphasize Ho -- ly Spi -- rit, \normal | who didst brood }
-VerseFour = \lyricmode { O | \emphasize Tri -- ni -- ty \normal of | love and pow'r }
+global = { \key c \major \time 4/4 \partial 4 }
+
+SopranoMusic = \relative c' { c4 | e4. e8 g4 g | a4 a g }
+AltoMusic = \relative c' { c4 | c4. c8 e4 e | f4 f e }
+TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
+BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
+
+VerseOne = \lyrics {
+ E -- | ter -- nal \emphasize Fa -- ther, | \normal strong to save,
+}
+
+VerseTwo = \lyricmode {
+ O | \emphasize Christ, \normal whose voice the | wa -- ters heard,
+}
+
+VerseThree = \lyricmode {
+ O | \emphasize Ho -- ly Spi -- rit, | \normal who didst brood
+}
+
+VerseFour = \lyricmode {
+ O | \emphasize Tri -- ni -- ty \normal of | love and pow'r
+}
\score {
\new ChoirStaff <<
\clef "treble"
\new Voice = "Soprano" { \voiceOne \global \SopranoMusic }
\new Voice = "Alto" { \voiceTwo \AltoMusic }
- \new Lyrics \lyricsto "Soprano" { \VerseOne }
- \new Lyrics \lyricsto "Soprano" { \VerseTwo }
+ \new Lyrics \lyricsto "Soprano" { \VerseOne }
+ \new Lyrics \lyricsto "Soprano" { \VerseTwo }
\new Lyrics \lyricsto "Soprano" { \VerseThree }
- \new Lyrics \lyricsto "Soprano" { \VerseFour }
+ \new Lyrics \lyricsto "Soprano" { \VerseFour }
>>
\new Staff <<
\clef "bass"
\new Voice = "Tenor" { \voiceOne \TenorMusic }
- \new Voice = "Bass" { \voiceTwo \BassMusic }
+ \new Voice = "Bass" { \voiceTwo \BassMusic }
>>
>>
}
@end lilypond
+@node Globale Formatierung
+@subsection Globale Formatierung
+@translationof Style sheets
+
+Die Ausgabe von LilyPond kann sehr stark verändert werden, siehe
+zu Einzelheiten @ref{Die Ausgabe verändern}. Aber was ist,
+wenn man mehrere Eingabedateien hat, die die gleichen Anpassungen
+erfahren sollen? Oder wenn Sie einfach nur die Anpassungen von
+der eigentlichen Musik trennen wollen? Das lässt sich recht einfach
+erreichen.
+
+Schauen wir uns ein Beispiel an. Sorgen Sie sich nicht, wenn Sie
+den Abschnitt mit den vielen @code{#()} nicht verstehen. Das wird
+erklärt in @ref{Fortgeschrittene Optimierungen mit Scheme}.
+
+@lilypond[quote,verbatim,ragged-right]
+mpdolce =
+#(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))))
+
+\relative c'' {
+ \tempo 4=50
+ a4.\mpdolce d8 cis4--\glissando a |
+ b4 bes a2 |
+ \inst "Clarinet"
+ cis4.\< d8 e4 fis |
+ g8(\! fis)-. e( d)-. cis2 |
+}
+@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}.
+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.
+Dadurch werden die Definitionen auch in der Eingabedatei belassen,
+und ich finde diese @code{#()} irgendwie hässlich. Verstecken
+wir sie also:
+
+@example
+%%% in Datei "definitions.ily" speichern
+mpdolce =
+#(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))))
+@end example
+
+Diese Datei wir mit dem @code{\include}-Befehl ziemlich weit oben
+in der Datei eingefügt. (Die Erweiterung @code{.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"}).
+
+@c We have to do this awkward example/lilypond-non-verbatim
+@c because we can't do the \include stuff in the manual.
+
+@example
+\include "definitions.ily"
+
+\relative c'' @{
+ \tempo 4=50
+ a4.\mpdolce d8 cis4--\glissando a |
+ b4 bes a2 |
+ \inst "Clarinet"
+ cis4.\< d8 e4 fis |
+ g8(\! fis)-. e( d)-. cis2 |
+@}
+@end example
+
+@lilypond[quote,ragged-right]
+mpdolce =
+#(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))))
+
+\relative c'' {
+ \tempo 4=50
+ a4.\mpdolce d8 cis4--\glissando a |
+ b4 bes a2 |
+ \inst "Clarinet"
+ cis4.\< d8 e4 fis |
+ g8(\! fis)-. e( d)-. cis2 |
+}
+@end lilypond
+
+Das sieht schon besser aus, aber einige Änderungen könnten wir noch vornehmen.
+Das Glissando ist kaum sichtbar, machen wir es also etwas dicker und
+näher an den Notenkopf. Die Metronombezeichnung soll über dem
+Schlüssel stehen, anstatt über der ersten Note. Und schließlich
+mag mein Kompositionsprofessor keine @qq{C}-Taktangaben, das ändern
+wir also in @qq{4/4}.
+
+Ändern Sie jetzt jedoch nicht @file{music.ly}. Ändern Sie die
+@file{definitions.ily} mit dem Folgenden:
+
+@example
+%%% definitions.ily
+mpdolce =
+#(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))))
+
+\layout@{
+ \context @{
+ \Score
+ \override MetronomeMark #'extra-offset = #'(-9 . 0)
+ \override MetronomeMark #'padding = #'3
+ @}
+ \context @{
+ \Staff
+ \override TimeSignature #'style = #'numbered
+ @}
+ \context @{
+ \Voice
+ \override Glissando #'thickness = #3
+ \override Glissando #'gap = #0.1
+ @}
+@}
+@end example
+
+@lilypond[quote,ragged-right]
+mpdolce =
+#(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))))
+
+\layout{
+ \context {
+ \Score
+ \override MetronomeMark #'extra-offset = #'(-9 . 0)
+ \override MetronomeMark #'padding = #'3
+ }
+ \context {
+ \Staff
+ \override TimeSignature #'style = #'numbered
+ }
+ \context {
+ \Voice
+ \override Glissando #'thickness = #3
+ \override Glissando #'gap = #0.1
+ }
+}
+
+\relative c'' {
+ \tempo 4=50
+ a4.\mpdolce d8 cis4--\glissando a |
+ b4 bes a2 |
+ \inst "Clarinet"
+ cis4.\< d8 e4 fis |
+ g8(\! fis)-. e( d)-. cis2 |
+}
+@end lilypond
+
+Das sieht besser aus! Aber nehmen wir an, Ich will dieses Stück publizieren.
+Mein Professor mag die @qq{C}-Taktangabe nicht, mir gefällt sie aber sehr
+gut. Kopieren wir also die Datei @file{definitions.ily} nach
+@file{web-publish.ily} und verändern diese. Weil die Noten als PDF
+auf dem Monitor dargestellt werden sollen, wird auch die Notengröße
+global geändert.
+
+@example
+%%% definitions.ily
+mpdolce =
+#(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))))
+
+#(set-global-staff-size 23)
+
+\layout@{
+ \context @{
+ \Score
+ \override MetronomeMark #'extra-offset = #'(-9 . 0)
+ \override MetronomeMark #'padding = #'3
+ @}
+ \context @{
+ \Staff
+ @}
+ \context @{
+ \Voice
+ \override Glissando #'thickness = #3
+ \override Glissando #'gap = #0.1
+ @}
+@}
+@end example
+
+@lilypond[quote,ragged-right]
+mpdolce =
+#(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))))
+
+#(set-global-staff-size 23)
+
+\layout{
+ \context { \Score
+ \override MetronomeMark #'extra-offset = #'(-9 . 0)
+ \override MetronomeMark #'padding = #'3
+ }
+ \context { \Voice
+ \override Glissando #'thickness = #3
+ \override Glissando #'gap = #0.1
+ }
+}
+
+\relative c'' {
+ \tempo 4=50
+ a4.\mpdolce d8 cis4--\glissando a |
+ b4 bes a2 |
+ \inst "Clarinet"
+ cis4.\< d8 e4 fis |
+ g8(\! fis)-. e( d)-. cis2 |
+}
+@end lilypond
+
+In der Eingabedatei muss jetzt nur noch die Zeile
+@code{\include "definitions.ily"} mit
+@code{\include "web-publish.ily"} ersetzt werden. Das könnte
+man natürlich noch besser machen. Es könnte eine Datei
+@file{definitions.ily} mit allen Definitionen (also
+@code{mpdolce} und @code{inst}) geben, eine Datei
+@file{web-publish.ily}, die nur die @code{\layout}-Veränderung
+enthält und eine Datei @file{university.ily}, die nur die
+Prozedur enthält, die Ausgabe meinem Professor angenehm zu machen.
+Der Anfang von @file{music.ly} würde dann folgendermaßen aussehen:
+
+@example
+\include "definitions.ily"
+
+%%% nur eine der zwei Zeilen auskommentieren!
+\include "web-publish.ily"
+%\include "university.ily"
+@end example
+
+Diese Herangehensweise kann auch schon nützlich sein, wenn man
+nur ein paar Stimmen schreiben will. Ich habe eine ganze Anzahl
+an @qq{Stylesheets} für meine Projekte. Ich fange jede Datei mit
+der Zeile @code{\include "../global.ily"} an, die etwa folgendes
+einbindet:
+
+@example
+%%% global.ily
+\version @w{"@version{}"}
+
+#(ly:set-option 'point-and-click #f)
+
+\include "../init/init-defs.ly"
+\include "../init/init-layout.ly"
+\include "../init/init-headers.ly"
+\include "../init/init-paper.ly"
+@end example
+
+
+
@node Mehr Information
@subsection Mehr Information
@translationof Other sources of information
@lilypond[quote,verbatim,ragged-right]
#(define (color-notehead grob)
- "Color the notehead according to its position on the staff."
- (let ((mod-position (modulo (ly:grob-property grob 'staff-position) 7)))
- (case mod-position
- ;; Return rainbow colors
- ((1) (x11-color 'red )) ; for C
- ((2) (x11-color 'orange )) ; for D
- ((3) (x11-color 'yellow )) ; for E
- ((4) (x11-color 'green )) ; for F
- ((5) (x11-color 'blue )) ; for G
- ((6) (x11-color 'purple )) ; for A
- ((0) (x11-color 'violet )) ; for B
- )
- )
-)
+ "Color the notehead according to its position on the staff."
+ (let ((mod-position (modulo (ly:grob-property grob 'staff-position)
+ 7)))
+ (case mod-position
+ ;; Return rainbow colors
+ ((1) (x11-color 'red )) ; for C
+ ((2) (x11-color 'orange )) ; for D
+ ((3) (x11-color 'yellow )) ; for E
+ ((4) (x11-color 'green )) ; for F
+ ((5) (x11-color 'blue )) ; for G
+ ((6) (x11-color 'purple )) ; for A
+ ((0) (x11-color 'violet )) ; for B
+ )))
\relative c' {
% Arrange to obtain color from color-notehead procedure
\override NoteHead #'color = #color-notehead
- a2 b |
- c2 d |
- e2 f |
- g2 a |
+ a2 b | c2 d | e2 f | g2 a |
}
@end lilypond
--- /dev/null
+%% Translation of GIT committish: 64feeff58e5ce3397de87188a08ac99f7ef8e37b
+
+ texidocde = "
+Diese Vorlage zeigt die Benutzung von geschachtelten
+@code{StaffGroup}- und @code{GrandStaff}-Kontexte, um
+Instrumente in Untergruppen zu unterteilen, und die
+Benutzung von @code{\\transpose} für transponierende
+Instrumente. Alle Noten werden in C geschrieben. Noten
+können in C eingegeben werden, oder auch in der Tonart
+des Instrumentes: dann müssen sie zuerst nach C transponiert
+werden, bevor sie einer Variable zugewiesen werden.
+
+"
+ doctitlede = "Orchester, Chor und Klavier"
--- /dev/null
+%% Translation of GIT committish: 64feeff58e5ce3397de87188a08ac99f7ef8e37b
+
+ texidocde = "
+Diese Vorlage erstellt eine Partitur, die mit Sologesang beginnt und einen
+Refrain für zwei Stimmen enthält. Sie zeigt auch die Benutzung von
+Platzhalter-Pausen innerhalb der @code{\global}-Variable, um Taktwechsel
+(und andere Elemente, die für alle Stimmen gleich sind) für das gesamte
+Stück zu definieren.
+
+"
+ doctitlede = "Sologesang und zweistimmiger Refrain"
@end ignore
@setfilename lilypond-extending.info
-@settitle Extending LilyPond
+@settitle Extender LilyPond
@documentencoding UTF-8
@documentlanguage es
@afourpaper
@end ignore
-@lilyTitlePage{Extending}
+@lilyTitlePage{Extender}
@c TOC -- non-tex