From: Michael Gerdau Date: Sat, 19 Sep 2015 15:31:49 +0000 (+0200) Subject: Doc-de: updated learning, adjusted a couple of cross links in other parts of the... X-Git-Tag: release/2.19.28-1~7 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=a0218e4d89cfde0fe6f7f6be2515becd0c3d695b;p=lilypond.git Doc-de: updated learning, adjusted a couple of cross links in other parts of the documentation --- diff --git a/Documentation/de/extending.tely b/Documentation/de/extending.tely index 00b22c81be..dfd922f4e2 100644 --- a/Documentation/de/extending.tely +++ b/Documentation/de/extending.tely @@ -46,7 +46,7 @@ Copyright @copyright{} 2003--2015 bei den Autoren. @ifnottex @menu -* Scheme-Übung:: Programmieren innerhalb von LilyPond. +* Scheme-Tutorium:: Programmieren innerhalb von LilyPond. * Schnittstellen für Programmierer:: Wie man mit Scheme kommunizieren kann. * LilyPond Scheme-Schnittstellen:: Information in die Noten senden und aus den Noten erhalten. diff --git a/Documentation/de/extending/programming-interface.itely b/Documentation/de/extending/programming-interface.itely index d73e0a5be5..c5d0381bf2 100644 --- a/Documentation/de/extending/programming-interface.itely +++ b/Documentation/de/extending/programming-interface.itely @@ -19,7 +19,7 @@ Fortgeschrittene Anpassungen können mithilfe der Programmiersprache Scheme vorgenommen werden. Wenn Sie Scheme nicht kennen, gibt es eine grundlegende Einleitung in LilyPonds -@ref{Scheme-Übung}. +@ref{Scheme-Tutorium}. @menu * LilyPond-Codeabschnitte:: @@ -183,12 +183,12 @@ vermeiden sollte, wenn man eine bestimmmte Verwendung beabsichtigt und nicht nur eine Funktion für die allgemeine Verwendung schreibt. Eine Liste der möglichen vordefinierten Typenprädikte findet sich in -@ruser{Vordefinierte Typenprädikate}. +@ruser{Vordefinierte Typprädikate}. @seealso Notationsreferenz -@ruser{Vordefinierte Typenprädikate}. +@ruser{Vordefinierte Typprädikate}. Installierte Dateien: @file{lily/music-scheme.cc}, @@ -322,12 +322,12 @@ In der Mehrzahl der Fälle ist @var{body} ein LilyPond-Codeabschnitt (siehe @ref{LilyPond-Codeabschnitte}. Eine Liste der möglichen Typenprädikate findet sich in -@ruser{Vordefinierte Typenprädikate}. +@ruser{Vordefinierte Typprädikate}. @seealso Notationsreferenz: -@ruser{Vordefinierte Typenprädikate}. +@ruser{Vordefinierte Typprädikate}. Installierte Dateien: @file{lily/music-scheme.cc}, diff --git a/Documentation/de/extending/scheme-tutorial.itely b/Documentation/de/extending/scheme-tutorial.itely index 7eddf993b2..35663e5ac1 100644 --- a/Documentation/de/extending/scheme-tutorial.itely +++ b/Documentation/de/extending/scheme-tutorial.itely @@ -10,8 +10,8 @@ @c \version "2.19.22" -@node Scheme-Übung -@chapter Scheme-Übung +@node Scheme-Tutorium +@chapter Scheme-Tutorium @translationof Scheme tutorial @@ -1364,7 +1364,7 @@ doubleSlur = #(define-music-function (note) (ly:music?) Am einfachsten können Artikulationszeichen zu Noten hinzugefügt werden, indem man zwei musikalische Funktionen in einen Kontext einfügt, wie erklärt in -@ruser{Kontexte erstellen}. Hier soll jetzt eine musikalische +@ruser{Kontexte erstellen und referenzieren}. Hier soll jetzt eine musikalische Funktion entwickelt werden, die das vornimmt. Daraus ergibt sich der zusätzliche Vorteil, dass diese musikalische Funktion eingesetzt werden kann, um eine Artikulation (wie etwa eine Fingersatzanweisung) @@ -1576,7 +1576,7 @@ Wir haben gesehen wie LilyPond-Eingabe massiv beeinflusst werden kann, indem Befehle wie etwa @code{\override TextScript.extra-offset = ( 1 . -1)} benutzt werden. Aber es wurde gezeigt, dass Scheme noch -mächtiger ist. Eine bessere Erklärung findet sich in der@ref{Scheme-Übung} und in +mächtiger ist. Eine bessere Erklärung findet sich in der@ref{Scheme-Tutorium} und in @ruser{Schnittstellen für Programmierer}. Scheme kann auch in einfachen @code{\override}-Befehlen diff --git a/Documentation/de/learning.tely b/Documentation/de/learning.tely index 96bd01dbd0..30ff306960 100644 --- a/Documentation/de/learning.tely +++ b/Documentation/de/learning.tely @@ -1,6 +1,6 @@ \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*- @ignore - Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09 + Translation of GIT committish: 8819d7cb0ba2ab359e4aa2276695afb9c1957c42 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -17,11 +17,16 @@ Diese Datei stellt eine Einleitung für LilyPond Version @version{} zur Verfügung. @end macro -@c `Learning Manual' was born 1999-10-10 with git commit b9abaac... +@c `Learning Manual' was born 1998-08-14 with this commit: +@c release: 1.0.2 +@c author: Han-Wen Nienhuys +@c commit: a3a44f9f3c581b6824b3a65f9039656693e09bbf +@c file: Documentation/tex/tutorial.yo + @macro copyrightDeclare Copyright @copyright{} 1999--2015 bei den Autoren. @end macro - + @set FDL @include macros.itexi @@ -36,7 +41,7 @@ Copyright @copyright{} 1999--2015 bei den Autoren. @omflanguage German @end ignore -@c Translators: Till Paala +@c Translators: Till Paala, Michael Gerdau @lilyTitlePage{Learning Manual} @@ -77,10 +82,10 @@ finden sich Kopien dieser und anderer Dokumentationsdateien. @ifnottex @menu @c * Vorwort:: Vorwort. -* Übung:: Eine Übung zur Einführung. -* Übliche Notation:: Die häufigsten Notationsfälle. +* Tutorium:: Eine Übung zur Einführung. +* Übliche Notation:: Die häufigsten Notationsfälle. * Grundbegriffe:: Grundlegende Konzepte, die benötigt werden, um den Rest dieses Handbuchs zu lesen. -* Die Ausgabe verändern:: Einleitung in die Beeinflussung des Notenbilds. +* Die Ausgabe verbessern:: Einleitung in die Beeinflussung des Notenbilds. Anhänge diff --git a/Documentation/de/learning/common-notation.itely b/Documentation/de/learning/common-notation.itely index 0cbf529140..f7dd233575 100644 --- a/Documentation/de/learning/common-notation.itely +++ b/Documentation/de/learning/common-notation.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*- @ignore - Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94 + Translation of GIT committish: 8819d7cb0ba2ab359e4aa2276695afb9c1957c42 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -10,15 +10,20 @@ @c \version "2.19.21" +@c Translators: ???, Michael Gerdau + @ignore -Tutorial guidelines: +Tutorial guidelines: (different from policy.txt!) - unless you have a really good reason, use - @lilypond[quote,verbatim] - (without spaces) + @lilypond[verbatim,quote] + +- use "aes" and "ees" instead of "as" and "es". I know it's not + correct Dutch naming, but let's not confuse people with this + until we get to the Basic notation chapter. + +- Add "Music Glossary: @rglos{foo}" to the *top* of the relevant + portions of the tutorial. -- use "aes" and "ees" instead of "as" and "aes". I know it's not - correct Dutch naming, but let's not confuse people with this until - we get to the Basic notation chapter. - addition for German users to the pitches chapter about naming of pitches. @end ignore @@ -29,7 +34,7 @@ Tutorial guidelines: Dieser Abschnitt erklärt, wie wunderschöner Notensatz erstellt werden kann, der die am häufigsten vorkommenden Notationssymbole -enthält. Der Abschnitt baut auf der @ref{Übung} auf. +enthält. Der Abschnitt baut auf der @ref{Tutorium} auf. @menu @@ -48,8 +53,8 @@ Dieses Kapitel lehrt grundlegende Bestandteile der Notation, die für eine Stimme auf einem System gebraucht werden. @menu -* Taktüberprüfung -* Versetzungszeichen und Tonartbezeichnung (Vorzeichen):: +* Taktstriche und Taktüberprüfung:: +* Tonhöhen und Tonartbezeichnungen (Vorzeichen):: * Bindebögen und Legatobögen:: * Artikulationszeichen und Lautstärke:: * Text hinzufügen:: @@ -58,34 +63,88 @@ die für eine Stimme auf einem System gebraucht werden. @end menu -@node Taktüberprüfung -@subsection Taktüberprüfung +@node Taktstriche und Taktüberprüfung +@subsection Taktstriche und Taktüberprüfung +@translationof Bar lines and bar checks + +@menu +* Taktstriche:: +* Taktüberprüfungen:: +@end menu + +@node Taktstriche +@unnumberedsubsubsec Taktstriche +@translationof Bar lines + + +Normale (einfache) Taktstriche werden von LilyPond automatisch eingefügt und +müssen daher nicht extra angegeben werden. Andere Arten von Taktstrichen können +mittels @code{\bar} eingeben werden, z.B. @code{\bar "||"} für einen doppelten Taktstrich, +oder @code{\bar "|."} für einen Schlusstaktstrich. Eine vollständige Liste aller +möglichen Taktstriche findet sich unter @ruser{Taktstriche}. + +@lilypond[verbatim,quote] +\relative { g'1 e1 \bar "||" c2. c'4 \bar "|." } +@end lilypond + +@node Taktüberprüfungen +@unnumberedsubsubsec Taktüberprüfungen @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 +kann das Programm sicherstellen, dass die eingegebenen Notenlängen jeweils +volle Takte 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 | +@c This example deliberately produces a warning +@lilypond[verbatim,quote] +\relative { + g'1 | e1 | c2. c' | g4 c g e | c4 r r2 | +} @end lilypond +Wenn du den Code in obigem Beispiel übersetzt, dann sollte in der Konsole +die folgende Warnung erscheinen: + +@example +Warnung: Taktüberprüfung gescheitert bei: 1/2 + g'1 | e1 | c2. c' + | g4 c g e | c4 r r2 | +@end example + +In diesem einfachen Beispiel ist die fehlende Längenangabe offensichtlich +deutlich im erzeugten Notenbild zu erkennen, aber die Konsolenausgabe ist +ein noch direkter Hinweis auf das fehlende @code{4} in Takt 3. + @seealso Notationsreferenz: @ruser{Takt- und Taktzahlüberprüfung}. -@node Versetzungszeichen und Tonartbezeichnung (Vorzeichen) -@subsection Versetzungszeichen und Tonartbezeichnung (Vorzeichen) -@translationof Accidentals and key signatures +@node Tonhöhen und Tonartbezeichnungen (Vorzeichen) +@subsection Tonhöhen und Tonartbezeichnungen (Vorzeichen) +@translationof Pitches and key signatures + +@menu +* Tonhöhenveränderungen:: +* Tonartbezeichnungen (Vorzeichen):: +* Warnung bzgl. Tonartbezeichnungen und Tonhöhen:: +@end menu + +@warning{Neue Anwender missverstehen meist, wie LilyPond Tonartbezeichnungen +verwendet -- bitte lesen sie die entsprechende Warnung am Fuße dieser Seite.} + +@node Tonhöhenveränderungen +@unnumberedsubsubsec Tonhöhenveränderungen +@translationof Pitch alterations + -@subheading Versetzungszeichen @cindex Versetzungszeichen -@cindex Akzidentien +@cindex Auflösungszeichen @cindex Kreuz @cindex Doppelkreuz @cindex B @@ -96,10 +155,12 @@ Notationsreferenz: @funindex eses @funindex isis - Glossar: @rglos{sharp}, @rglos{flat}, @rglos{double sharp}, @rglos{double flat}, @rglos{accidental}. +Notennamen bezeichnen in LilyPond Tonhöhen. So bedeutet z.B. @code{c} +immer ein C ohne jedes Vorzeichen, unabhängig von der gerade eingestellten Tonart. + Ein @notation{Kreuz}-Versetzungszeichen@footnote{In der Umgangssprache werden die Versetzungszeichen häufig auch Vorzeichen genannt. In diesem Handbuch wird jedoch zwischen Vorzeichen zur generellen Angabe @@ -118,10 +179,13 @@ Sprachen zu benutzen, siehe @ruser{Notenbezeichnungen in anderen Sprachen}. \relative { cis''4 ees fisis, aeses } @end lilypond +@cindex Tonart, Einstellen der + +@node Tonartbezeichnungen (Vorzeichen) +@unnumberedsubsubsec Tonartbezeichnungen (Vorzeichen) +@translationof Key signatures -@subheading Tonartbezeichnungen (Vorzeichen) -@cindex Tonart, Einstellung von @cindex Vorzeichen @cindex Dur @cindex Moll @@ -139,45 +203,41 @@ Sprachen zu benutzen, siehe @ruser{Notenbezeichnungen in anderen Sprachen}. Glossar: @rglos{key signature}, @rglos{major}, @rglos{minor}. -Die @notation{Tonart} eines Stückes wird erstellt mit dem -Befehl @code{\key}, gefolgt von einer Notenbezeichnung und -@code{\major} (für Dur) oder @code{\minor} -(für Moll). +Die @notation{Tonart} eines Stückes wird mit dem Befehl +@code{\key}, gefolgt von einer Notenbezeichnung und +@code{\major} (für Dur) oder @code{\minor} (für Moll) eingestellt. -@lilypond[verbatim,quote,relative=2] -\key d \major -a1 | -\key c \minor -a1 | +@lilypond[verbatim,quote] +\relative { + \key d \major + d'4 fis a c | + \bar "||" \key c \minor + c,4 ees g b | +} @end lilypond @smallspace -@subheading Warnung: Tonartbezeichnungen und Tonhöhen +@node Warnung bzgl. Tonartbezeichnungen und Tonhöhen +@unnumberedsubsubsec Warnung bzgl. Tonartbezeichnungen und Tonhöhen +@translationof Warning key signatures and pitches Glossar: @rglos{accidental}, @rglos{key signature}, @rglos{pitch}, @rglos{flat}, @rglos{natural}, @rglos{sharp}, @rglos{transposition}, @rglos{Pitch names}. -Um zu bestimmen, ob vor einer bestimmten Note ein Versetzungszeichen -erscheinen soll, untersucht LilyPond die Notenhöhen und die -Tonart. Die Tonart beeinflusst nur die @emph{gedruckten} -Versetzungszeichen, nicht die wirklichen Tonhöhen! Diese Besonderheit -scheint am Anfang oft verwirrend, so dass sie hier etwas -genauer betrachtet wird. - -LilyPond unterscheidet strikt zwischen dem musikalischen Inhalt -und dem Satz (Layout). Die Alteration (@notation{B}, -@notation{Kreuz} oder @notation{Auflösungszeichen}) einer Note gehört -zur Tonhöhe dazu und ist deshalb musikalischer -Inhalt. Ob ein Versetzungszeichen (also ein @emph{gedrucktes} Kreuz, b -oder Auflösungszeichen) auch vor der Note erscheint, hängt vom Kontext, -also vom Layout ab. Das Layout gehorcht bestimmten Regeln, und -Versetzungszeichen -werden automatisch nach diesen Regeln gesetzt. Die Versetzungszeichen im -fertigen Notenbild sind nach den Regeln des Notensatzes gesetzt. Deshalb -wird automatisch entschieden, wo sie erscheinen, und man muss -den Ton eingeben, den man @emph{hören} will. +LilyPond unterscheidet zwischen dem musikalischen Inhalt +und dem Satz (Layout). Eine Eingabe wie @code{d4 e fis2} +bestimmt die Tonhöhen und Dauer von Noten, also den musikalischen +Inhalt.. Die @notation{Tonart} ist dagegen Teil der gedruckten +Darstellung. Die Tonart bestimmt die Regeln, nach denen die Noten +ausgedruckt werden. LilyPond vergleicht jede eingegebene Tonhöhe +mit der Tonart und entscheidet dann ob und ggf. welches +@notation{Versetzungszeichen} gedruckt werden muss. + +Der Befehl @code{\key} stellt die @notation{Tonart} ein. Diese +beeinflusst die gedruckte Darstellung der Noten, bewirkt jedoch +@emph{keine} Änderung der Tonhöhen von eingegebenen Noten wie etwa @code{c}. In diesem Beispiel @@ -206,16 +266,14 @@ In der Tonart As-Dur @emph{bekommt} sie ein Versetzungszeichen: } @end lilypond -Wenn das alles sehr verwirrend erscheint, muss man sich nur vorstellen, -dass man auf einer Klaviatur spielt: Wenn man eine schwarze Taste drücken -würde, @emph{muss} man auch @w{@code{-is}} oder @w{@code{-es}} an die +Jedes mal wenn sie eine Tonhöhe eingeben, die auf dem Klavier zu einer schwarzen +Taste gehört, @emph{müssen} sie auch @w{@code{-is}} oder @w{@code{-es}} an die Note anhängen. Alle diese Versetzungszeichen ausdrücklich zu schreiben, bedeutet vielleicht etwas mehr Schreibarbeit, hat aber den großen Vorteil, dass -@notation{Transpositionen} sehr viel einfacher gemacht wird -und der Druck von Versetzungszeichen nach -unterschiedlichen Regeln erfolgen kann. Siehe +@notation{Transpositionen} sehr viel einfacher sind und der Ausdruck +von Versetzungszeichen nach unterschiedlichen Regeln erfolgen kann. Siehe @ruser{Automatische Versetzungszeichen} für einige Beispiele, wie Vorzeichen anhand von unterschiedlichen Regeln ausgegeben werden können. @@ -243,31 +301,63 @@ Notationsreferenz: @funindex \( ... \) -@subheading Bindebögen +@menu +* Bindebögen:: +* Legatobögen:: +* Phrasierungsbögen:: +* Achtung Bindebögen sind nicht Legatobögen:: +@end menu + +@node Bindebögen +@unnumberedsubsubsec Bindebögen +@translationof Ties Glossar: @rglos{tie}. -Ein @notation{Bindebogen} wird geschrieben, indem man eine Tilde @code{~} -an die erste der zu verbindenden Noten hängt. +Man schreibt einen @notation{Bindebogen}, indem man eine Tilde @code{~} +an die erste der beiden zu verbindenden Noten hängt. -@lilypond[verbatim,quote,relative=2] -g4~ 4 c2~ | 4~ 8 a~ 2 +@lilypond[verbatim,quote] +\relative { g'4~ g c2~ | c4~ c8 a~ a2 | } @end lilypond +@cindex bloße Dauer +@cindex Dauer, bloße + +Wenn sich die Tonhöhe nicht ändert, was bei Noten, die mit Bindebögen +verbunden sind immer der Fall ist, kann für die folgenden Noten auf die +Angabe der Tonhöhe verzichtet werden. Es braucht lediglich die bloße Dauer +angegeben zu werden: + +@lilypond[verbatim,quote] +\relative { g'4~ 4 c2~ | 4~ 8 a~ 2 | } +@end lilypond + +Diese verkürzte Schreibweise ist immer dann nützlich, wenn sich zwar der +Rhythmus, nicht jedoch die Tonhöhe ändert. Man sollte jedoch beachten, dass +eine bloße Tonhöhe gefolgt von einem Leerzeichen und dann einer bloßen Dauer +als eine einzige Note interpretiert wird. Mit anderen Worten, @code{c4 a 8 8} +würde als @code{c4 a8 a8} und nicht als @code{c4 a4 a8 a8} verstanden werden. +Schreiben sie stattdessen @code{c4 a4 8 8 }. + +@node Legatobögen +@unnumberedsubsubsec Legatobögen +@translationof Slurs -@subheading Legatobögen Glossar: @rglos{slur}. Ein @notation{Legatobogen} ist ein Bogen, der sich über mehrere Noten -erstreckt. Seine -Beginn- und Endnote werden mit @q{(} beziehungsweise @q{)} markiert. +erstreckt. Seine Beginn- und Endnote werden mit einem angehängten @q{(} +beziehungsweise @q{)} markiert. @lilypond[verbatim,quote] \relative { d''4( c16) cis( d e c cis d) e( d4) } @end lilypond -@subheading Phrasierungsbögen +@node Phrasierungsbögen +@unnumberedsubsubsec Phrasierungsbögen +@translationof Phrasing slurs Glossar: @rglos{slur}, @rglos{phrasing}. @@ -282,10 +372,13 @@ geben. \relative { g'4\( g8( a) b( c) b4\) } @end lilypond -@sp 1 +@smallspace @cindex Binde- versus Legatobogen -@subheading Warnung: Bindebögen sind nicht Legatobögen + +@node Achtung Bindebögen sind nicht Legatobögen +@unnumberedsubsubsec Achtung Bindebögen sind nicht Legatobögen +@translationof Warnings slurs vs. ties Glossar: @rglos{articulation}, @rglos{slur}, @rglos{tie}. @@ -312,7 +405,16 @@ Notationsreferenz: @subsection Artikulationszeichen und Lautstärke @translationof Articulation and dynamics -@subheading Artikulationszeichen +@menu +* Artikulationszeichen:: +* Fingersätze:: +* Dynamik:: +@end menu + +@node Artikulationszeichen +@unnumberedsubsubsec Artikulationszeichen +@translationof Articulations + @cindex Artikulation @cindex Akzente @@ -331,7 +433,10 @@ Glossar: } @end lilypond -@subheading Fingersatz +@node Fingersätze +@unnumberedsubsubsec Fingersätze +@translationof Fingerings + @cindex Fingersatz @@ -359,7 +464,10 @@ Möglichkeit, wie die Artikulationen platziert werden sollen. \relative { c''4_-^1 d^. f^4_2-> e^-_+ } @end lilypond -@subheading Dynamik +@node Dynamik +@unnumberedsubsubsec Dynamik +@translationof Dynamics + @cindex Dynamik @cindex Crescendo @@ -396,7 +504,7 @@ die Note hängt: Befehl @code{\<} beziehungsweise @code{\>} begonnen. Das nächste absolute Dynamik-Zeichen, etwa @code{\f}, beendet das (De)Crescendo. -Auch mit dem Befehl @code{\!} kann es explizit beendet werden. +Mit dem Befehl @code{\!} kann es explizit beendet werden. @lilypond[verbatim,quote] \relative { c''4\< c\ff\> c c\! } @@ -420,7 +528,7 @@ Notationsreferenz: @cindex Textbeschriftung @cindex markup -@funindex \markup +@funindex \markup @funindex markup Text können Sie auf folgende Art in die Partitur einfügen: @@ -468,7 +576,6 @@ Alle @notation{Balken} werden automatisch gesetzt: \relative { a'8 ais d ees r d c16 b a8 } @end lilypond -@noindent Wenn diese automatisch gesetzten Balken nicht gewollt sind, können sie manuell geändert werden. Wenn nur ein Balken hier und da korrigiert werde muss, erhält die Note, an der der Balken @@ -504,9 +611,19 @@ Notationsreferenz: @subsection Zusätzliche rhythmische Befehle @translationof Advanced rhythmic commands -@subheading Auftakt +@menu +* Auftakt:: +* N-tolen:: +* Verzierungen:: +@end menu + +@node Auftakt +@unnumberedsubsubsec Auftakt +@translationof Partial measure + @cindex Auftakt + @funindex \partial @funindex partial @@ -521,24 +638,27 @@ heißt eine Viertelnote Auftakt und @code{\partial 8} eine Achtelnote. } @end lilypond +@node N-tolen +@unnumberedsubsubsec N-tolen +@translationof Tuplets -@subheading Andere rhythmische Aufteilungen @cindex N-tolen @cindex Triolen @cindex Rhythmische Aufteilungen -@funindex \times -@funindex times +@funindex \tuplet +@funindex tuplet Glossar: @rglos{note value}, @rglos{triplet}. @notation{Triolen} und @notation{N-tolen} werden mit dem -@code{\times}-Befehl erzeugt. Er braucht -zwei Argumente: einen Bruch und die Noten, auf die er sich bezieht. -Die Dauer des Abschnittes wird mit dem Bruch multipliziert. -In einer Triole dauern die Noten 2/3 ihrer normalen Länge, -also hat eine Triole 2/3 als Bruch: +@code{\tuplet}-Befehl erzeugt. Er braucht zwei Argumente: +einen Bruch und die Noten, auf die er sich bezieht. +Der Bruch ist die Anzahl der N-tolen Noten geteilt durch die Anzahl +der Noten, die normalerweise in der gleichen Zeit erklingen würden. +Für eine Triole wären das drei Noten statt zwei, also bekommen +@notation{Triolen} den Bruch 3/2: @lilypond[verbatim,quote] \relative { @@ -549,7 +669,10 @@ also hat eine Triole 2/3 als Bruch: } @end lilypond -@subheading Verzierungen +@node Verzierungen +@unnumberedsubsubsec Verzierungen +@translationof Grace notes + @cindex Verzierungen @cindex Vorschlag @@ -565,7 +688,7 @@ also hat eine Triole 2/3 als Bruch: Glossar: @rglos{grace notes}, @rglos{acciaccatura}, @rglos{appoggiatura}. -Verzierungen werden mit dem Befehl @code{\grace} +@notation{Verzierungen} werden mit dem Befehl @code{\grace} eingegeben, Vorhalte durch den Befehl @code{\appoggiatura} und Vorschläge mit @code{\acciaccatura}. @@ -595,9 +718,8 @@ für verschiedene Instrumente oder für ein Instrument (z. B. Klavier) und in Akkorden. Polyphonie nennt man in der Musik das Vorkommen von mehr als einer -Stimme -in einem Stück. Polyphonie bzw. Mehrstimmigkeit heißt für LilyPond allerdings -das Vorkommen von mehr als einer Stimme pro System. +Stimme in einem Stück. Polyphonie bzw. Mehrstimmigkeit heißt für +LilyPond allerdings das Vorkommen von mehr als einer Stimme pro System. @menu * Musikalische Ausdrücke erklärt:: @@ -616,7 +738,13 @@ das Vorkommen von mehr als einer Stimme pro System. @cindex Ausdruck, musikalischer @cindex zusammengesetzter musikalischer Ausdruck -In LilyPond-Quelldateien wird Musik durch @emph{musikalische +@menu +* Analogie mathematische Ausdrücke:: +* Gleichzeitige musikalische Ausdrücke mehrere Notensysteme:: +* Gleichzeitige musikalische Ausdrücke ein Notensystem:: +@end menu + +In LilyPond-Quelldateien wird Musik durch @emph{musikalische Ausdrücke} dargestellt. Eine einzelne Note ist ein musikalischer Ausdruck. @@ -643,13 +771,15 @@ musikalischer Ausdruck. @end lilypond -@subheading Analogie: mathematische Ausdrücke +@node Analogie mathematische Ausdrücke +@unnumberedsubsubsec Analogie mathematische Ausdrücke +@translationof Analogy mathematical expressions + Die Anordnung von Ausrücken funktioniert ähnlich wie mathematische -Gleichungen. Eine längere Gleichung entsteht durch die -Kombination kleinerer Gleichungen. Solche Gleichungen -werden auch Ausdruck genannt und ihre Definition ist -rekursiv, sodass beliebig komplexe und lange Ausdrücke +Formeln. Eine längere Formel entsteht durch die Kombination kleinerer +Formeln. Solche Formeln werden auch Ausdruck genannt und ihre +Definition ist rekursiv, sodass beliebig komplexe und lange Ausdrücke erstellt werden können. So etwa hier: @example @@ -671,7 +801,9 @@ Ausdrücke können auch musikalische Ausdrücke beliebig tief verschachtelt werden. Das wird benötigt für komplexe Musik mit vielen Stimmen. -@subheading Gleichzeitige musikalische Ausdrücke: mehrere Notensysteme +@node Gleichzeitige musikalische Ausdrücke mehrere Notensysteme +@unnumberedsubsubsec Gleichzeitige musikalische Ausdrücke mehrere Notensysteme +@translationof Simultaneous music expressions multiple staves @cindex mehrere Systeme @cindex Notensysteme, mehrere @@ -680,7 +812,9 @@ werden. Das wird benötigt für komplexe Musik mit vielen Stimmen. @cindex parallele Ausdrücke @cindex Ausdrücke, parallel @cindex relative Noten und simultane Musik +@cindex relative Noten und parallele Ausdrücke @cindex gleichzeitige Noten und relativer Modus +@cindex parallele Ausdrücke und relative Noten @funindex << @funindex >> @@ -713,13 +847,15 @@ spielt es keine Rolle, wie viele Leerzeichen am Anfang einer Zeile sind, aber für Menschen ist es eine große Hilfe, sofort zu sehen, welche Teile des Quelltextes zusammen gehören. -@warning{Jede Note ist relativ zu der vorhergehenden in der -Datei, nicht relativ zu dem zweigestrichenen C (@code{c''}), das im -@code{@bs{}relative}-Befehl angegeben ist. Die Klammern haben darauf -keinen Einfluss.} +@warning{Jede Note ist relativ zu der vorhergehenden in der Datei, +und nur die erste Note ist relativ zu dem zweigestrichenen C (@code{c''}), +das im @code{@bs{}relative}-Befehl angegeben ist.} + +@node Gleichzeitige musikalische Ausdrücke ein Notensystem +@unnumberedsubsubsec Gleichzeitige musikalische Ausdrücke ein Notensystem +@translationof Simultaneous music expressions single staff -@subheading Gleichzeitige musikalische Ausdrücke: ein Notensystem Um die Anzahl der Notensysteme zu bestimmen, analysiert LilyPond den Anfang des ersten Ausdrucks. Wenn sich hier @@ -732,11 +868,10 @@ folgende Beispiel beginnt mit einer Note: @lilypond[verbatim,quote] \relative { c''2 <> | - << { e f } { c <> } >> | + << { e2 f } { c2 <> } >> | } @end lilypond - @node Mehrere Notensysteme @subsection Mehrere Notensysteme @translationof Multiple staves @@ -804,7 +939,6 @@ Tonart der anderen Systeme. Dieses Verhalten ist darin begründet, dass Partituren mit transponierenden Instrumenten häufiger sind als Partituren mit unterschiedlichen Taktarten. - @lilypond[verbatim,quote] << \new Staff { \clef "treble" \key d \major \time 3/4 c''4 } @@ -812,7 +946,6 @@ als Partituren mit unterschiedlichen Taktarten. >> @end lilypond - @node Notensysteme gruppieren @subsection Notensysteme gruppieren @translationof Staff groups @@ -910,11 +1043,13 @@ So können Markierungen wie Balken oder Bögen mit den Akkorden kombiniert werden. Sie müssen jedoch außerhalb der spitzen Klammern gesetzt werden. -@lilypond[verbatim,quote,relative=2] -r4 ~ 2 | -8[ ] -8\>[ ]\! | -r4 8.\p 16( 4-. ) | +@lilypond[verbatim,quote] +\relative { + r4 ~ 2 | + 8[ ] + 8\>[ ]\! | + r4 8.\p 16( 4-. ) | +} @end lilypond @seealso @@ -956,11 +1091,6 @@ Notationsreferenz: @section Lieder @translationof Songs -@cindex Gesangstext, schreiben - -@funindex \addlyrics -@funindex addlyrics - In diesem Kapitel wird in die Kombination von Musik mit Text eingeführt und die Erstellung einfacher Song-Blätter gezeigt. @@ -979,6 +1109,7 @@ gezeigt. @cindex Text @cindex Lieder @cindex Liedtext +@cindex Gesangstext, schreiben @funindex \addlyrics @funindex addlyrics @@ -1008,23 +1139,16 @@ wird eingegeben, indem jede Silbe durch ein Leerzeichen getrennt wird. d''4 b8 c4 a8 | d4 b8 g4 } \addlyrics { - Girls and boys come | out to play, + Girls and boys come out to play, } >> @end lilypond -@warning{Es ist sehr wichtig, dass die letzte Silbe duch ein Leerzeichen -oder eine neue Zeile von der abschließenden geschweiften Klammer -getrennt ist. Wenn dies nicht der Fall ist, wird die Klammer als Teil -der Silbe interpretiert, was zu einem seltsamen Fehler führt. Siehe auch -@rprogram{Apparent error in ../ly/init.ly}.} - Sowohl die Noten als auch der Text sind jeweils in geschweifte Klammern eingefasst, und der gesamte Ausdruck ist zwischen -@w{@code{<< ... >>}} positioniert. Damit wird garantiert, dass +@w{@code{<<@dots{}>>}} positioniert. Damit wird garantiert, dass Text und Noten gleichzeitig gesetzt werden. - @node Text an einer Melodie ausrichten @subsection Text an einer Melodie ausrichten @translationof Aligning lyrics to a melody @@ -1053,32 +1177,19 @@ notiert aus: 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 -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}. +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] << @@ -1089,8 +1200,8 @@ Einzelheiten siehe @ref{Bindebögen und Legatobögen}. 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 @@ -1112,8 +1223,8 @@ für Gesang entspricht. Für Einzelheiten siehe 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 @@ -1131,8 +1242,8 @@ für jede Note, die übersprungen werden soll, ein Unterstrich 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 @@ -1154,8 +1265,8 @@ aus Purcells @notation{Dido and Æneas}: 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 @@ -1180,8 +1291,8 @@ zeigt, mit denen Text an den Noten ausgerichtet werden kann: 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 @@ -1207,7 +1318,7 @@ in Figaros Arie @notation{Largo al factotum} gesungen werden muss. c'4.~ 8 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 @@ -1238,7 +1349,7 @@ aus Händels @notation{Judas Maccabäus}: c''8 | c8([ bes]) a a([ g]) f | f'4. b, | c4.~ 4 } \addlyrics { - Let | flee -- cy flocks the | hills a -- | dorn, __ + Let flee -- cy flocks the hills a -- dorn, __ } \relative { \key f \major @@ -1247,7 +1358,7 @@ aus Händels @notation{Judas Maccabäus}: r8 | r4. r4 c'8 | 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 @@ -1255,7 +1366,7 @@ aus Händels @notation{Judas Maccabäus}: Aber Partituren, die komplizierter als dieses Beispiel sind, werden besser notiert, indem man die Systemstruktur von den Noten und dem Gesangstext durch Variablen trennt. Die Benutzung -von Variablen wird erklärt im Abschnitt @ref{Stücke durch Bezeichner organisieren}. +von Variablen wird erklärt im Abschnitt @ref{Stücke durch Variablen organisieren}. @seealso @@ -1267,20 +1378,20 @@ Notationsreferenz: @section Letzter Schliff @translationof Final touches -Das ist das letzte Kapitel der Übung. Hier soll demonstriert werden, +Das ist das letzte Kapitel des Tutoriums. Hier soll demonstriert werden, wie man den letzten Schliff an einfachen Stücken anbringen kann. Gleichzeitig dient es als Einleitung zum Rest des Handbuches. @menu -* Stücke durch Bezeichner organisieren:: +* Stücke durch Variablen organisieren:: * Titel hinzufügen:: * Absolute Notenbezeichnungen:: -* Nach der Übung:: +* Nach dem Tutorium:: @end menu -@node Stücke durch Bezeichner organisieren -@subsection Stücke durch Bezeichner organisieren +@node Stücke durch Variablen organisieren +@subsection Stücke durch Variablen organisieren @translationof Organizing pieces with variables @cindex Variable @@ -1309,23 +1420,24 @@ Der Inhalt des musikalischen Ausdrucks @code{bezeichneteMusik} kann dann später wieder benutzt werden, indem man einen Backslash davor setzt (@code{\bezeichneteMusik}), genau wie bei jedem LilyPond-Befehl. -@c KEEP LY @lilypond[quote,verbatim] -Geige = \new Staff - { \relative { +violin = \new Staff { + \relative { a'4 b c b } } -Cello = \new Staff - { \relative { + +cello = \new Staff { + \relative { \clef "bass" e2 d } } + { << - \Geige - \Cello + \violin + \cello >> } @end lilypond @@ -1341,23 +1453,20 @@ können sogar eingesetzt werden, um später in der Datei eine neue Variable zu erstellen. Damit kann die Schreibarbeit erleichtert werden, wenn Notengruppen sich oft wiederholen. -@c KEEP LY @lilypond[verbatim,quote] -trioleA = \tuplet 3/2 { c,8 e g } -TaktA = { \trioleA \trioleA \trioleA \trioleA } +tripletA = \relative { \tuplet 3/2 { c'8 e g } } +barA = { \tripletA \tripletA \tripletA \tripletA } -\relative c'' { - \TaktA \TaktA -} +{ \barA \barA } @end lilypond Man kann diese Variablen auch für viele andere Objekte verwenden, etwa: @example -Breite = 4.5\cm -Name = "Tim" -aFünfPapier = \paper @{ paperheight = 21.0 \cm @} +width = 4.5\cm +name = "Wendy" +aFivePaper = \paper @{ paperheight = 21.0 \cm @} @end example Abhängig vom Kontext kann solch ein Bezeichner in verschiedenen @@ -1366,17 +1475,16 @@ Benutzung der eben definierten Bezeichner: @example \paper @{ - \aFünfPapier - line-width = \Breite + \aFivePaper + line-width = \width @} @{ - c4^\Name + c4^\name @} @end example - @node Titel hinzufügen @subsection Titel hinzufügen @translationof Adding titles @@ -1384,7 +1492,6 @@ Benutzung der eben definierten Bezeichner: @cindex Titel @cindex header @cindex Kopf -@cindex Titelei @funindex \header @funindex header @@ -1410,7 +1517,7 @@ außerhalb der musikalischen Ausdrücke, meistens wird die Wenn die Datei übersetzt wird, werden Titel- und Komponisteneinträge über der Musik ausgegeben. Mehr Information über die Titelei findet -sich im Abschnitt @ruser{Titel erstellen}. +sich im Abschnitt @ruser{Titel Kopf und Fußzeilen erstellen}. @node Absolute Notenbezeichnungen @@ -1422,16 +1529,15 @@ sich im Abschnitt @ruser{Titel erstellen}. @cindex absolute Werte für Tonhöhen @cindex Tonhöhen, absolute Werte -Bis jetzt haben wir immer @code{\relative} benutzt, um Tonhöhen zu -bestimmen. Das ist die einfachste Eingabeweise für die meiste Musik. -Es gibt aber noch eine andere Möglichkeit, Tonhöhen darzustellen: durch -absolute Bezeichnung. +Bis jetzt haben wir @code{\relative} benutzt, um Tonhöhen zu +bestimmen. Für gewöhnlich ist das die schnellste Methode, Musik einzugeben. +Ohne @code{\relative} werden Tonhöhen als absolute Angaben interpretiert. -Wenn man das @code{\relative} weglässt, werden alle Tonhöhen von LilyPond -als absolute Werte interpretiert. Ein @code{c'} ist dann also immer das -eingestrichene C, ein @code{b} ist immer das kleine h unter dem -eingestrichenen C, und ein @code{g,} ist immer das große G -- also die -Note auf der letzten Linie im Bass-Schlüssel. +In diesem Modus werden alle Tonhöhen von LilyPond als absolute Werte +interpretiert. Ein @code{c'} ist dann also immer das eingestrichene C, ein +@code{b} ist immer das kleine h unter dem eingestrichenen C, und ein +@code{g,} ist immer das große G -- also die Note auf der unteren Linie +im Bass-Schlüssel. @lilypond[verbatim,quote] { @@ -1441,39 +1547,34 @@ Note auf der letzten Linie im Bass-Schlüssel. } @end lilypond -Hier eine Tonleiter über vier Oktaven: +Das Schreiben einer Melodie im Violinschlüssel erfordert eine Vielzahl +von Apostrophen @code{'}, wie z.B. in diesem Fragment von Mozart: @lilypond[verbatim,quote] { - \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 | + \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 | } @end lilypond -Wie leicht zu sehen ist, muss man sehr viele Apostrophe schreiben, -wenn die Melodie im Sopranschlüssel notiert ist. Siehe etwa dieses -Fragment von Mozart: +@funindex \fixed +Gemeinsame Oktavierungsmarkierungen können einmalig mit dem Befehl +@code{\fixed}, gefolgt von einer Bezugstonhöhe, bestimmt werden: @lilypond[verbatim,quote] -{ +\fixed c'' { \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 | + cis8. d16 cis8 e4 e8 | + b,8. cis16 b,8 d4 d8 | } @end lilypond -Alle diese Apostrophe machen den Quelltext schlecht lesbar und sind -eine mögliche Fehlerquelle. Mit dem @code{\relative}-Befehl ist das Beispiel -sehr viel einfacher zu lesen: +Im Modus @code{\relative} benötigt das vorherige Beispiel überhaupt keine +Oktavierungsmarkierungen, denn die Melodie enthält keine Intervalle, die +größer wären als eine Quarte: @lilypond[verbatim,quote] \relative { @@ -1492,21 +1593,42 @@ nicht so deutlich und deshalb auch nicht so einfach zu finden. Trotz allem ist der absolute Modus gut für Musik mit sehr großen Sprüngen und vor allem für computergenerierte LilyPond-Dateien. +Wenn man Melodiefragmente kopiert und einfügt, dann behält sie im +absoluten Modus die originale Oktavlage. +Bisweilen ist Musik komplexer aufgebaut. Schachtelt man @code{\relative} +ineinander, dann sind der innere und äußere Bereich unabhängig voneinander: -@node Nach der Übung -@subsection Nach der Übung +@lilypond[verbatim,quote] +\relative { c'4 \relative { f'' g } c } +@end lilypond + +Möchte man den absoluten Modus innerhalb von @code{\relative} verwenden, +dann gehört die absolute Musik innerhalb @code{\fixed c @{ @dots{} @}} +gepackt und deren Tonhöhen beeinflussen dann nicht die Oktavlage der +relativen Musik: + +@lilypond[verbatim,quote] +\relative { + c'4 \fixed c { f'' g'' } c | + c4 \fixed c'' { f g } c +} +@end lilypond + + +@node Nach dem Tutorium +@subsection Nach dem Tutorium @translationof After the tutorial -Wenn Sie diese Übung absolviert haben, sollten Sie am +Wenn Sie dieses Tutorium absolviert haben, sollten Sie am besten ein paar Stücke selber notieren. Beginnen Sie mit den @ref{Vorlagen} und fügen Sie einfach Ihre Noten -dazu. Wenn Sie irgendetwas brauchen, das nicht in der -Übung besprochen wurde, schauen Sie sich den Abschnitt Alles - über die Notation an, angefangen mit @ruser{Musikalische Notation}. +dazu. Wenn Sie irgendetwas brauchen, das nicht im +Tutorium besprochen wurde, schauen Sie sich den Abschnitt Alles +über die Notation an, angefangen mit @ruser{Musikalische Notation}. Wenn Sie für ein Instrument oder Ensemble Noten schreiben wollen, für das es keine Vorlage gibt, schauen Sie -sich @ref{Erweiterung der Beispiele} an. +sich @ref{Erweiterung der Vorlagen} an. Wenn Sie ein paar kurze Stücke notiert haben, lesen Sie den Rest des Handbuchs zum Lernen (Kapitel 3--5). Natürlich können @@ -1516,7 +1638,7 @@ von LilyPond beherrschen. Sie können die weiteren Kapitel auch überfliegen und dann darauf wieder zurückkommen, wenn Sie einige Erfahrungen im Notieren gewonnen haben. -In dieser Übung, genauso wie im gesamten Handbuch zum Lernen, +In diesem Tutorium, genauso wie im gesamten Handbuch zum Lernen, befindet sich ein Abschnitt @strong{Siehe auch} am Ende jedes Abschnittes, wo sich Verweise auf andere Abschnitte befinden. Diesen Verweisen sollten Sie nicht beim ersten Durchlesen @@ -1531,4 +1653,3 @@ Information über LilyPond, so dass Neulinge sich nicht sofort zurecht finden. Wenn Sie auch nur ein paar Minuten in diesem Abschnitt lesen, können Sie sich Stunden frustrierendes Suchen an der falschen Stelle ersparen! - diff --git a/Documentation/de/learning/fundamental.itely b/Documentation/de/learning/fundamental.itely index 513d61fa5e..46099b98b1 100644 --- a/Documentation/de/learning/fundamental.itely +++ b/Documentation/de/learning/fundamental.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*- @ignore - Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94 + Translation of GIT committish: 8819d7cb0ba2ab359e4aa2276695afb9c1957c42 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -9,13 +9,13 @@ @end ignore @c \version "2.19.22" -@c Translators: Till Paala, Reinhold Kainhofer +@c Translators: Till Paala, Reinhold Kainhofer, Michael Gerdau @node Grundbegriffe @chapter Grundbegriffe @translationof Fundamental concepts -Nachdem im Tutorial gezeigt wurde, wie aus einfachen Text-Dateien +Nachdem im Tutorium gezeigt wurde, wie aus einfachen Text-Dateien wunderschön formatierte Musiknoten erzeugt werden können, stellt dieses Kapitel die Konzepte und Techniken vor, wie auch komplexere Partituren erstellt werden können. @@ -24,7 +24,7 @@ Partituren erstellt werden können. * Wie eine LilyPond-Eingabe-Datei funktioniert:: * Voice enthält Noten:: * Kontexte und Engraver:: -* Erweiterung der Beispiele:: +* Erweiterung der Vorlagen:: @end menu @node Wie eine LilyPond-Eingabe-Datei funktioniert @@ -39,41 +39,9 @@ dieser Strukturen dargestellt werden, vieles aber zur Vereinfachung auch weggelassen werden. Für eine komplette Beschreibung des Eingabeformats siehe @ruser{Die Dateistruktur}. -Die meisten Beispiele in diesem Handbuch sind kleine Schnipsel, wie -etwa dieser: - -@example -c4 a b c -@end example - -Wie hoffentlich bekannt ist, lässt sich solch ein Schnipsel nicht -in dieser Form übersetzen. Diese Beispiele sind also nur Kurzformen -von wirklichen Beispielen. Sie müssen wenigstens zusätzlich in -geschweifte Klammern gesetzt werden. - -@example -@{ - c4 a b c -@} -@end example - -Die meisten Beispiele benutzen auch den @code{\relative c'}-Befehl. -Der ist nicht nötig, um die Dateien zu übersetzen, aber in den meisten -Fällen sieht der Notensatz seltsam aus, wenn man den Befehl -weglässt. - -@lilypond[quote,fragment,ragged-right,verbatim] -\relative { - c''4 a b c -} -@end lilypond - -Eine komplette Definition des Eingabeformats findet sich -im Kapitel @ruser{Die Dateistruktur}. - @menu * Einführung in die Dateistruktur von LilyPond:: -* Score ist ein (einziger) zusammengesetzter musikalischer Ausdruck:: +* Score ist ein (einziger) zusammengesetzter musikalischer Ausdruck:: * Musikalische Ausdrücke ineinander verschachteln:: * Über die Nicht-Schachtelung von Klammern und Bindebögen:: @end menu @@ -94,15 +62,15 @@ Ein grundlegendes Beispiel einer Eingabedatei für LilyPond lautet: \header @{ @} \score @{ - @var{...zusammengesetzter Musik-Ausdruck...} % Die gesamten Noten kommen hier hin! + @var{ @dots{} zusammengesetzter Musik-Ausdruck @dots{} } % Die gesamten Noten kommen hier hin! \layout @{ @} \midi @{ @} @} @end example @noindent -Aufgrund der Flexibilität von LilyPond gibt es viele Variationen dieses -Schemas, aber dieses Beispiel dient als einfacher Ausgangspunkt. +Zu diesem Muster gibt es viele Variationen, aber obiges Beispiel stellt +eine hilfreiche Ausgangsbasis dar. @funindex \book @funindex \score @@ -111,12 +79,10 @@ Schemas, aber dieses Beispiel dient als einfacher Ausgangspunkt. @cindex book @cindex score -Bisher hat noch keines der Beispiele den @code{\score@{@}}-Befehl -benutzt, da Lilypond derartige zusätzliche Befehle automatisch -bei Bedarf einfügt, wenn die Eingabedatei eine einfache Struktur -hat. - -Sehen wir uns als ein solches einfaches Beispiel an: +Bis jetzt hat keines der verwendeten Beispiele den @code{\score@{@}} +Befehl gebraucht. Das liegt daran, dass LilyPond automatisch fehlende +Befehle hinzufügt, sollten sie fehlen. Konkret betrachtet LilyPond eine +Eingabe in der Form @example \relative @{ @@ -125,10 +91,7 @@ Sehen wir uns als ein solches einfaches Beispiel an: @end example @noindent -Im Hintergrund kommen hier noch einige Ebenen dazu: LilyPond-Code -in der obigen Form ist in Wirklichkeit eine Abkürzung. Auch wenn man so -Dateien schreiben kann und sie auch korrekt gesetzt werden, heißt -der vollständige Code, der hier gemeint ist, eigentlich: +als eine abgekürzte Form von @example \book @{ @@ -173,33 +136,32 @@ mit @code{\new Staff} und @code{\new Voice} zu erzeugen.} Im Moment wollen wir aber zu unserem ersten Beispiel zurückkehren und nur den @code{\score}-Befehl näher betrachten. -Eine Partitur (@code{\score}) muss immer mit einem musikalischen Ausdruck -beginnen. Das ist letztendlich alle Musik, angefangen bei einer -einzelnen -Note bis hin zu einer riesigen Partitur mit vielen Notensystemen -(bezeichnet hier durch @code{GrandStaff}): +Eine Partitur (@code{\score}) muss immer genau einen musikalischen Ausdruck +enthalten. Es sei daran erinnert, dass ein musikalischer alles mögliche sein +kann. Angefangen bei einer einzelnen Note bis hin zu riesigen zusammengesetzten +Ausdrücken wie @example @{ - \new GrandStaff << - @var{...hier die gesamte Partitur...} + \new StaffGroup << + @var{ @dots{} füge hier die gesamte Partitur einer Wagner Oper ein @dots{} } >> @} @end example @noindent -Da sich alles innerhalb der geschweiften Klammern @code{@{ ... @}} +Da sich alles innerhalb der geschweiften Klammern @code{@{ @dots{} @}} befindet, wird es wie ein einziger musikalischer Ausdruck behandelt. - -Ein @code{\score} auch andere Dinge enthalten, wie etwa +Wie wir oben schon gesehen haben kann der @code{\score} Block auch andere +Dinge enthalten, wie etwa @example \score @{ @{ c'4 a b c' @} + \header @{ @} \layout @{ @} \midi @{ @} - \header @{ @} @} @end example @@ -216,19 +178,19 @@ Ein @code{\score} auch andere Dinge enthalten, wie etwa @noindent Wie man sieht, sind die drei Befehle @code{\header}, @code{\layout} und -@code{\midi} von spezieller Natur: Im Gegensatz zu vielen Anderen Befehlen, +@code{\midi} von spezieller Natur: Im Gegensatz zu vielen anderen Befehlen, die auch mit einem @code{\} beginnen, liefern sie @emph{keinen} Musikausdruck und sind auch nicht Teil eines musikalischen Ausdrucks. Daher können sie -sowohl innerhalb eines @code{\score}-Blocks als auch außerhalb plaziert +sowohl innerhalb eines @code{\score}-Blocks als auch außerhalb platziert werden. Tatsächlich werden einige dieser Befehle meist außerhalb des -@code{\score}-Blocksgesetzt, zum Beispiel findet sich der @code{\header} +@code{\score}-Blocks gesetzt, z.B. findet sich der @code{\header} sehr oft oberhalb der @code{\score}-Umgebung. Das funktioniert genauso gut. Zwei bisher noch nicht aufgetauchte Befehle sind @code{\layout @{ @}} und @code{\midi @{@}}. Wenn sie in einer -Datei vorkommen, führt dies dazu, dass Lilypond eine druckfähige PDF-Datei -bzw. eine MIDI-Datei erzeugt. Genauer beschrieben werden sie im +Datei vorkommen, führt dies dazu, dass LilyPond eine druckfähige PDF-Datei +bzw. eine MIDI-Ausgabe erzeugt. Genauer beschrieben werden sie im Benutzerhandbuch -- @ruser{Partiturlayout} und @ruser{MIDI-Dateien erstellen}. @@ -240,7 +202,7 @@ Benutzerhandbuch -- @ruser{Partiturlayout} und Ihr LilyPond Code kann auch mehrere @code{\score}-Blöcke enthalten. Jeder davon wird als eigenständige Partitur interpretiert, die -allerdings alle in dieselbe Ausgabedatei plaziert werden. +allerdings alle in dieselbe Ausgabedatei platziert werden. Ein @code{\book}-Befehl ist nicht explizit notwendig -- er wird implizit erzeugt. Wenn jedoch für jeden @code{\score}-Block in einer einzigen @file{.ly}-Datei eine eigene Ausgabe-Datei erzeugt werden soll, @@ -274,7 +236,8 @@ Nähere Details finden sich im Abschnitt @ruser{Mehrere Partituren in einem Buch @cindex Variablen @cindex Bezeichner -Eine gute Möglichkeit zur Vereinfachung sind selbst definierte Variablen, wie auch gezeigt in @ref{Stücke durch Bezeichner organisieren}. +Eine gute Möglichkeit zur Vereinfachung sind selbst definierte Variablen, wie +auch in @ref{Stücke durch Variablen organisieren} gezeigt. Alle Vorlagen verwenden diese Möglichkeit: @example @@ -283,7 +246,7 @@ melodie = \relative @{ @} \score @{ - @{ \melodie @} + \melodie @} @end example @@ -297,7 +260,7 @@ 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. Für mehr Information siehe -@ref{Tipparbeit durch Variablen und Funktionen ersparen}. Die genauen +@ref{Tipparbeit durch Variablen und Funktionen einsparen}. Die genauen Einschränkungen sind beschrieben in @ruser{Die Dateistruktur}. @@ -306,8 +269,8 @@ Eine vollständige Definition des Eingabeformats findet sich in @ruser{Die Dateistruktur}. -@node Score ist ein (einziger) zusammengesetzter musikalischer Ausdruck -@subsection Score ist ein (einziger) zusammengesetzter musikalischer Ausdruck +@node Score ist ein (einziger) zusammengesetzter musikalischer Ausdruck +@subsection Score ist ein (einziger) zusammengesetzter musikalischer Ausdruck @translationof Score is a (single) compound musical expression @funindex \score @@ -329,8 +292,7 @@ In Wirklichkeit ist das aber gar kein Geheimnis. Diese Zeile ist die Antwort: @quotation -@emph{Eine Partitur fängt immer mit @code{\score} an, gefolgt -von einem einzelnen musikalischen Ausdruck.} +@emph{Ein @code{\score} Block enthält immer genau einen musikalischen Ausdruck.} @end quotation @noindent @@ -348,34 +310,33 @@ wird also entfernt. Wir @emph{brauchen} aber einen Sänger und ein Klavier. @example \score @{ - @{ - << - \new Staff = "Sänger" << - >> - \new PianoStaff = "Klavier" << - >> + << + \new Staff = "Sänger" << >> - @} + \new PianoStaff = "Klavier" << + >> + >> \layout @{ @} @} @end example Hier wurden die Systeme (Staff) benannt: @qq{Sänger} und -@qq{Klavier}. Das ist nicht direkt notwendig in diesem Fall, +@qq{Klavier}. Das ist zwar nicht direkt notwendig, aber es ist gut, sich diese Schreibweise anzugewöhnen, damit man immer sofort erkennt, um welches System es sich handelt. -Zur Erinnerung: mit @code{<<} und @code{>>} werden Noten gleichzeitig -gesetzt. Dadurch werden Vokalstimme und Klaviersysteme übereinander -ausgegeben. Die @code{<< ... >>}-Konstruktion ist für das +Zur Erinnerung: mit @code{<< @dots{} >>} (an Stelle von @code{@{ @dots{} @}}) +werden Noten gleichzeitig gesetzt. +Dadurch werden Vokalstimme und Klaviersystem übereinander +ausgegeben. Die @code{<< @dots{} >>}-Konstruktion ist für das Sänger-System nicht notwendig, wenn hier nur die Noten einer -einzigen Stimme eingefügt werden sollen, aber @code{<< ... >>} +einzigen Stimme eingefügt werden sollen, aber @code{<< @dots{} >>} anstelle von geschwungenen Klammern sind notwendig, sobald mehr als eine Stimme oder etwa eine Notenstimme und Gesangstext eingefügt werden sollen. In unserem Fall soll eine Stimme mit Gesangstext notiert werden, sodass die spitzen Klammern benötigt werden. Die Noten sollen erst später hinzugefügt werden, -hier also erstmal nur ein paar Platzhalternoten und Text. Wenn +hier also erst mal nur ein paar Platzhalternoten und Text. Wenn Sie sich nicht erinnern, wie man Gesangstext notiert, lesen Sie noch einmal @code{\addlyrics} in @ref{Setting simple songs}. @@ -388,8 +349,8 @@ Sie noch einmal @code{\addlyrics} in @ref{Setting simple songs}. \addlyrics { And } >> \new PianoStaff = "Klavier" << - \new Staff = "oben" { } - \new Staff = "unten" { } + \new Staff = "oben" { c'1 } + \new Staff = "unten" { c'1 } >> >> \layout { } @@ -425,7 +386,7 @@ verstehen, wie alles zusammenhängt. Darum bietet es sich an, Bezeichner (oder Variablen) zu verwenden. Sie wurden zu Beginn des vorigen Abschnitts erklärt, erinnern Sie sich? Damit wir sicher gehen können, dass der Inhalt der @code{text}-Variable als Gesangstext -interpretiert wird, wird ihm @code{\lyricmode} vorangesetzt. Wie +interpretiert wird, wird ihm @code{\lyricmode} voran gesetzt. Wie @code{\addlyrics} wird hiermit in den Eingabemodus für Gesangstext gewechselt. Ohne diesen Befehl würde LilyPond versuchen, den Inhalt der Variable als Noten zu interpretieren und dabei eine Menge @@ -483,7 +444,7 @@ Benutzerhandbuch: @ruser{Struktur einer Partitur}. Notenzeilen (die @q{Staff}-Kontexte) müssen nicht unbedingt gleich zu Beginn erzeugt werden -- sie können auch zu einem späteren -Zeitpunkt eingeführt weden. Das ist vor allem nützlich, um +Zeitpunkt eingeführt werden. Das ist vor allem nützlich, um @rglosnamed{ossia,Ossias} zu erzeugen. Hier folgt ein kurzes Beispiel, wie eine zusätzliche temporäre Notenzeile für nur drei Noten erzeugt werden kann: @@ -526,7 +487,7 @@ gesetzt werden: { f8 c c } \new Staff \with { alignAboveContext = #"Hauptzeile" - }{ f8 f c } + } { f8 f c } >> r4 | } @@ -569,29 +530,29 @@ von Klammer-artigen Konstrukten kurz rekapitulieren: @multitable @columnfractions .3 .7 @headitem Klammerart @tab Funktion -@item @code{@{ .. @}} +@item @code{@{ @dots{} @}} @tab Umschließt ein sequenzielles Musiksegment -@item @code{< .. >} +@item @code{< @dots{} >} @tab Umschließt die Noten eines Akkords -@item @code{<< .. >>} +@item @code{<< @dots{} >>} @tab Umschließt parallele Musikausdrücke -@item @code{( .. )} +@item @code{( @dots{} )} @tab Markiert den Beginn und das Ende eines Haltebogens -@item @code{\( .. \)} +@item @code{\( @dots{} \)} @tab Markiert den Beginn und das Ende eines Phasierungsbogens -@item @code{[ .. ]} +@item @code{[ @dots{} ]} @tab Markiert den Beginn und das Ende eines manuell erzeugten Balkens @end multitable Zusätzlich sollten vielleicht noch einige weiter Konstruktionen erwähnt werden, die Noten auf irgendeine Art und Weise verbinden: Haltebögen (durch eine Tilde @code{~} markiert), -Triolen (als @code{\times x/y @{..@}} geschrieben) und -Vorschlagnoten (als @code{\grace@{..@}} notiert). +N-tolen (als @code{\tuplet x/y @{ @dots{} @}} geschrieben) und +Vorschlagnoten (als @code{\grace@{ @dots{} @}} notiert). Außerhalb von LilyPond fordert die übliche Benutzung von Klammern, dass die entsprechenden Arten korrekt verschachtelt -werden, wie z.B. in @code{<< [ @{ ( .. ) @} ] >>}. Die +werden, wie z.B. in @code{<< [ @{ ( @dots{} ) @} ] >>}. Die schließenden Klammern kommen dabei in der umgekehrten Reihenfolge wie die öffnenden Klammern vor. Dies ist auch in LilyPond ein @strong{Muss} für die drei Klammerarten, die in obiger @@ -611,8 +572,8 @@ Balken beginn, jedoch schon vor dem Ende des Balkens enden. Dies mag zwar musikalisch wenig Sinn ergeben, ist aber in LilyPond auch möglich: -@lilypond[quote,verbatim,ragged-right,relative=2] -{ g8\( a b[ c b\) a] g4 } +@lilypond[quote,verbatim,ragged-right] +\relative { g'8\( a b[ c b\) a] g4 } @end lilypond Im Allgemeinen können die verschiedenen Klammerarten, @@ -620,16 +581,16 @@ Klammer-artigen Konstruktionen, Haltebögen, Triolen und Vorschlagnoten beliebig kombiniert werden. Das folgende Beispiel zeigt einen Balken, der in eine Triole reicht (Zeile 1), eine Bindebogen, der ebenfalls in eine Triole -reicht (Zeile 2), einen Balken und einen Bindeboden in eine Triole, +reicht (Zeile 2), einen Balken und einen Bindebogen in eine Triole, ein Haltebogen, der über zwei Triolen läuft, sowie einen Phrasierungsbogen, der in einer Triole beginnt (Zeilen 3 und 4). @lilypond[quote,verbatim,ragged-right] -{ -r16[ g \tuplet 3/2 { r16 e'8] } -g16( a \tuplet 3/2 { b16 d) e' } -g8[( a \tuplet 3/2 { b8 d') e'~] } | -\tuplet 5/4 { e'32\( a b d' e' } a'4.\) +\relative { + r16[ g' \tuplet 3/2 { r16 e'8] } + g,16( a \tuplet 3/2 { b16 d) e } + g,8[( a \tuplet 3/2 { b8 d) e~] } | + \tuplet 5/4 { e32\( a, b d e } a4.\) } @end lilypond @@ -640,7 +601,7 @@ g8[( a \tuplet 3/2 { b8 d') e'~] } | Sänger brauchen Stimmen zum Singen, und LilyPond braucht sie auch: in der Tat sind alle Noten für alle Instrumente in einer Partitur -innerhalb von Stimmen gesetzt. Die Stimme ist das grundlegendste Prinzip +innerhalb von Stimmen gesetzt. Die Stimme ist das grundlegende Prinzip von LilyPond. @menu @@ -666,7 +627,7 @@ von LilyPond. @cindex Akkorde versus Stimmen @cindex Noten gleichzeitig -Die grundlegendsten und innersten Ebenen ein einer LilyPond-Partitur +Die grundlegenden und innersten Ebenen in einer LilyPond-Partitur werden @qq{Voice context} (Stimmenkontext) oder auch nur @qq{Voice} (Stimme) genannt. Stimmen werden in anderen Notationsprogrammen manchmal auch als @qq{layer} (Ebene) bezeichnet. @@ -694,14 +655,14 @@ uns zuerst dieses Beispiel mit vier Akkorden an: @end lilypond Das kann ausgedrückt werden, indem man die einfachen spitzen Klammern -@code{< ... >} benützt, um Akkorde anzuzeigen. Hierfür braucht man +@code{< @dots{} >} benützt, um Akkorde anzuzeigen. Hierfür braucht man nur eine Stimme. Aber gesetzt der Fall das Fis sollte eigentlich eine Achtelnote sein, gefolgt von einer Achtelnote G (als Durchgangsnote hin zum A)? Hier haben wir also zwei Noten, die zur gleichen Zeit beginnen, aber unterschiedliche Dauern haben: die Viertelnote D und die Achtelnote Fis. Wie können sie notiert werden? Als Akkord kann man sie nicht schreiben, weil alle Noten in einem Akkord die gleiche Länge besitzen -müssen. Sie können auch nicht als aufeinanderfolgende Noten geschrieben +müssen. Sie können auch nicht als aufeinander folgende Noten geschrieben werden, denn sie beginnen ja zur selben Zeit. In diesem Fall also brauchen wir zwei Stimmen. @@ -712,8 +673,8 @@ Wie aber wird das in der LilyPond-Syntax ausgedrückt? Die einfachste Art, Fragmente mit mehr als einer Stimme auf einem System zu notieren, ist, die Stimmen nacheinander (jeweils mit den Klammern -@code{@{ ... @}}) zu schreiben und dann mit den spitzen Klammern -(@code{<<...>>}) simultan zu kombinieren. Die beiden Fragmente müssen +@code{@{ @dots{} @}}) zu schreiben und dann mit den spitzen Klammern +(@code{<< @dots{} >>}) simultan zu kombinieren. Die beiden Fragmente müssen zusätzlich noch mit zwei Backslash-Zeichen (@code{\\}) voneinander getrennt werden, damit sie als zwei unterschiedliche Stimmen erkannt werden. Ohne diese Trenner würden sie als eine einzige Stimme notiert @@ -736,12 +697,14 @@ Beachten Sie, dass die Hälse der zweiten Stimme nun nach unten zeigen. Hier ein anderes Beispiel: -@lilypond[quote,verbatim,ragged-right,relative=2] -\key d \minor -% Voice = "1" Voice = "2" -<< { r4 g g4. a8 } \\ { d,2 d4 g } >> -<< { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> -<< { a2. r4 } \\ { fis2. s4 } >> +@lilypond[quote,verbatim,ragged-right] +\relative { + \key d \minor + % Voice = "1" Voice = "2" + << { r4 g' g4. a8 } \\ { d,2 d4 g } >> | + << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> | + << { a2. r4 } \\ { fis2. s4 } >> | +} @end lilypond Es ist nicht notwendig, für jeden Takt eine eigene @@ -766,6 +729,12 @@ separat schreiben, wie hier: >> @end lilypond + +@cindex Voice, Benennung +@cindex Voices crossing brackets +@cindex Legatobögen crossing brackets +@cindex Bindebögen crossing brackets + Dieses Beispiel hat nur zwei Stimmen, aber die gleiche Konstruktion kann angewendet werden, wenn man drei oder mehr Stimmen hat, indem man weitere Backslash-Trenner hinzufügt. @@ -774,7 +743,7 @@ Die Stimmenkontexte tragen die Namen @code{"1"}, @code{"2"} usw. Der erste Kontext stellt die @qq{äußeren} Stimmen ein, die höchste Stimme im Kontext @code{"1"} und die tiefste Stimme im Kontext @code{"2"}. Die inneren Stimmen kommen in die Kontexte @code{"3"} und @code{"4"}. In -jeder dieser Kontexte wird die vertikale Ausrichtung von Bögen, Hälsen, +jedem dieser Kontexte wird die vertikale Ausrichtung von Bögen, Hälsen, Dynamik usw. entsprechend eingestellt. @lilypond[quote,verbatim] @@ -804,9 +773,9 @@ hier an der blauen Dreieckstimme gezeigt. @lilypond[quote,verbatim] \new Staff \relative { - % Main voice + % Hauptstimme c'16 d e f - << % Bar 1 + << % Takt 1 { \voiceOneStyle g4 f e @@ -817,11 +786,11 @@ hier an der blauen Dreieckstimme gezeigt. r8 e4 d c8~ } >> | - << % Bar 2 - % Voice 1 continues + << % Takt 2 + % Voice 1 wird fortgesetzt { d2 e } \\ - % Voice 2 continues + % Voice 2 wird fortgesetzt { c8 b16 a b8 g~ 2 } \\ { @@ -849,7 +818,7 @@ benutzt wird) hat dunkelrote Kreuze. @code{\voiceNeutralStyle} (hier auch nicht benutzt) macht diese Änderungen rückgängig. Später soll gezeigt werden, wie Befehle wie diese vom Benutzer selber erstellt werden können. Siehe auch @ref{Sichtbarkeit und Farbe von Objekten} und -@ref{Variablen für Optimierungen einsetzen}. +@ref{Variablen für Layout Anpassungen einsetzen}. @cindex Polyphonie und relativer Notationsmodus @cindex relativer Notationsmodus und Polyphonie @@ -860,7 +829,7 @@ der vorherigen Note errechnet, oder relativ zur ersten Note des vorigen Akkords. So ist etwa hier @example -\relative c' @{ NoteA << < NoteB NoteC > \\ NoteD >> NoteE @} +\relative @{ noteA << < noteB noteC > \\ noteD >> noteE @} @end example @noindent @@ -875,13 +844,13 @@ Stimme zu stellen. Das bietet sich an, wenn die Stimmen weit voneinander entfernt sind. @example -\relative c' @{ NoteA ... @} +\relative @{ NoteA @dots{} @} << - \relative c'' @{ < NoteB NoteC > ... @} + \relative @{ < NoteB NoteC > @dots{} @} \\ - \relative g' @{ NoteD ... @} + \relative @{ NoteD @dots{} @} >> -\relative c' @{ NoteE ... @} +\relative @{ NoteE @dots{} @} @end example Zum Schluss wollen wir die Stimmen in einem etwas komplizierteren Stück @@ -897,18 +866,18 @@ in späteren Abschnitten erklärt werden. @lilypond[quote,ragged-right] \new Staff \relative { \key aes \major - << % Voice one + << % Voice 1 { c''2 aes4. bes8 } - \\ % Voice two + \\ % Voice 2 { - % Ignore these for now - they are explained in Ch 4 - \once \override NoteColumn.ignore-collision = ##t + % Ignoriere diese Befehle vorerst - sie werden in Kap. 4 erklärt + \once \override NoteColumn.force-hshift = #0 2 \once \override NoteColumn.force-hshift = #0.5 des2 } - \\ % No voice three - \\ % Voice four + \\ % Keine voice 3 + \\ % Voice 4 { \override NoteColumn.force-hshift = #0 aes'2 f4 fes @@ -945,20 +914,20 @@ verstehen können. \new Staff \relative { \key aes \major << - { % Voice one + { % Voice 1 \voiceOneStyle c''2 aes4. bes8 } - \\ % Voice two + \\ % Voice 2 { \voiceTwoStyle - % Ignore these for now - they are explained in Ch 4 - \once \override NoteColumn.ignore-collision = ##t + % Ignoriere diese Befehle vorerst - sie werden in Kap. 4 erklärt + \once \override NoteColumn.force-hshift = #0 2 \once \override NoteColumn.force-hshift = #0.5 des2 } - \\ % No Voice three (we want stems down) - \\ % Voice four + \\ % Keine Voice 3 (wir wollen Hälse nach unten) + \\ % Voice 4 { \voiceThreeStyle \override NoteColumn.force-hshift = #0 aes'2 f4 fes @@ -968,6 +937,7 @@ verstehen können. } @end lilypond + Versuchen wir also, diese Musik selber zu notieren. Wie wir sehen werden, beinhaltet das einige Schwierigkeiten. Fangen wir an, wie wir es gelernt haben, indem wir mit der @code{<< \\ >>}-Konstruktion @@ -1002,12 +972,12 @@ indem noch ein Paar @code{\\}-Stimmen hinzugefügt wird. @lilypond[quote,verbatim,ragged-right] \new Staff \relative { \key aes \major - << % Voice one + << % Voice 1 { c''2 aes4. bes8 } - \\ % Voice two + \\ % Voice 2 { 2 des } - \\ % Omit Voice three - \\ % Voice four + \\ % Auslassen von Voice 3 + \\ % Voice 4 { aes'2 f4 fes } >> | 1 | @@ -1017,7 +987,7 @@ indem noch ein Paar @code{\\}-Stimmen hinzugefügt wird. @noindent Wie zu sehen ist, ändert das die Richtung der Hälse, aber die horizontale Ausrichtung der Noten ist nicht so, wie wir sie wollen. LilyPond -verschiebt die inneren NOten wenn sie oder ihre Hälse mit den äußeren +verschiebt die inneren Noten wenn sie oder ihre Hälse mit den äußeren Stimmen zusammenstoßen würden, aber das ist nicht richtig für Klaviermusik. In anderen Situationen können die Verschiebungen von LilyPond nicht ausreichend sein, um Überlappungen aufzulösen. LilyPond stellt verschiedene @@ -1030,6 +1000,7 @@ auf; siehe @code{force-hshift}-Eigenschaft in @warning{Gesangstext und Strecker (wie etwa Bögen, Crescendo-Klammern usw.) können nicht von einer Stimme zur anderen erstellt werden.} + @seealso Notationsreferenz: @ruser{Mehrere Stimmen}. @@ -1072,7 +1043,7 @@ verwendet haben: @end example @noindent -ist identisch mit +ist identisch zu @example \new Staff << @@ -1164,7 +1135,7 @@ Phrasierungsbogen ober sie gesetzt werden. \new Voice { % Set stems, etc, up \voiceThree - s2. | s4 b4 c2 | + s2. | s4 b c2 | } >> } @@ -1186,15 +1157,15 @@ sein, Noten zu setzen: \new Staff \relative { c'16^( d e f << - { g4 f e | d2 e2) | } + { g4 f e | d2 e) | } \new Voice { \voiceTwo - r8 e4 d c8~ + r8 e4 d c8~ | << { c8 b16 a b8 g~ 2 | } \new Voice { \voiceThree - s4 b4 c2 | + s4 b c2 | } >> } @@ -1277,7 +1248,7 @@ nach links verschoben. @code{\shiftOnn} und @code{\shiftOnnn} definieren weitere Verschiebungsebenen, die man kurzzeitig anwählen kann, um Zusammenstöße in komplexen Situationen aufzulösen, siehe auch -@ref{Beispiele aus dem Leben}. +@ref{Beispiel aus dem Leben}. Eine Notenkolumne kann nur eine Note (oder einen Akkord) von einer Stimme mit Hälsen nach oben und eine Note (oder einen @@ -1286,12 +1257,17 @@ Noten von zwei Stimmen mit den Hälsen in die gleiche Richtung an der selben Stelle auftreten und in beiden Stimmen ist keine Verschiebung oder die gleiche Verschiebungsebene definiert, wird die Fehlermeldung -@qq{zu viele kollidierende Notenspalten werden ignoriert} +@qq{diese Stimme benötigt einen @code{@bs{}voiceXx} oder +@code{@bs{}shiftXx} Befehl} ausgegeben. @seealso -Notationsreferenz: @ruser{Mehrere Stimmen}. +Handbuch zum Lernen: +@ref{Verschieben von Objekten}. + +Notationsreferenz: +@ruser{Mehrere Stimmen}. @node Stimmen und Text @@ -1308,7 +1284,7 @@ Achtung: Der Gesangstext wird auf Englisch @qq{lyrics} genannt. @funindex lyricsto @funindex Lyrics @cindex Lyrics context, erstellen -@cindex Gesangtext, Verbindung mit Noten +@cindex Gesangstext, Verbindung mit Noten Wir haben schon den @code{\addlyrics@{@}}-Befehl betrachtet, mit dem einfache Partituren gut erstellt werden können. @@ -1365,7 +1341,7 @@ benutzen, um diese flexiblere Technik für Gesangstexte zu illustrieren. Das Beispiel wurde so umgeformt, dass jetzt Variablen eingesetzt werden, um den Text und die Noten von der Partiturstruktur zu trennen. Es wurde zusätzlich -eine Chorpartiturklammer hinzugefügt. Der Gesangtext muss mit +eine Chorpartiturklammer hinzugefügt. Der Gesangstext muss mit @code{\lyricmode} eingegeben werden, damit er als Text und nicht als Noten interpretiert werden kann. @@ -1437,8 +1413,8 @@ keyTime = { \key c \major \time 4/4 \partial 4 } SopMusic = \relative { c'4 | e4. e8 g4 g | a4 a g } AltoMusic = \relative { c'4 | c4. c8 e4 e | f4 f e } -TenorMusic = \relative { e4 | g4. g8 c4. b8 | a8 b c d e4 } -BassMusic = \relative { c4 | c4. c8 c4 c | f8 g a b c4 } +TenorMusic = \relative { e4 | g4. g8 c4. b8 | a8 b c d e4 } +BassMusic = \relative { c4 | c4. c8 c4 c | f8 g a b c4 } VerseOne = \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, } @@ -1471,7 +1447,7 @@ VerseFour = @seealso -Notation Reference: @ruser{Notation von Gesang}. +Notationsreferenz: @ruser{Notation von Gesang}. @node Kontexte und Engraver @@ -1508,7 +1484,7 @@ etwa den Quellcode und die Notenausgabe des folgenden Beispiels: @end lilypond Der Quellcode ist sehr kurz und knapp, während in der -Notenausgabe Taktlinien, Vorzeichen, ein Schlüssel und +Notenausgabe Taktstriche, Vorzeichen, ein Schlüssel und eine Taktart hinzugefügt wurden. Während LilyPond den Eingabetext @emph{interpretiert}, wird die musikalische Information von rechts nach links gelesen, @@ -1518,7 +1494,7 @@ merkt es sich, wo sich Taktgrenzen befinden und für welche Tonhöhen Versetzungszeichen gesetzt werden müssen. Diese Information muss auf mehreren Ebenen gehandhabt werden, denn Versetzungszeichen etwa -beziehen sich nur auf ein System, Taktlinien dagegen +beziehen sich nur auf ein System, Taktstriche dagegen üblicherweise auf die gesamte Partitur. Innerhalb von LilyPond sind diese Regeln und @@ -1545,7 +1521,7 @@ zum Beispiel kann eine Vorzeichenregel einführen und der einzuordnen, ob ein Versetzungszeichen gesetzt werden muss oder nicht. -Ein anderes Beispiel: die Synchronisation der Taktlinien ist +Ein anderes Beispiel: die Synchronisation der Taktstriche ist standardmäßig im @code{Score}-Kontext verankert. Manchmal sollen die Systeme einer Partitur aber unterschiedliche Taktarten enthalten, etwa in einer polymetrischen Partitur mit @@ -1578,7 +1554,7 @@ angeschlossen, etwa @seealso -Notationreferenz: @ruser{Was sind Kontexte?}. +Notationsreferenz: @ruser{Was sind Kontexte?}. @node Kontexte erstellen @@ -1639,8 +1615,8 @@ werden, hier ein kommentiertes Beispiel aus dem richtigen Leben: \key g \minor \new Voice { % create voice for RH notes \relative { % start of RH notes - d''4 ees16 c8. - d4 ees16 c8. + d''4 ees16 c8. | + d4 ees16 c8. | } % end of RH notes } % end of RH voice } % end of RH staff @@ -1650,15 +1626,15 @@ werden, hier ein kommentiertes Beispiel aus dem richtigen Leben: \new Voice { % create LH voice one \voiceOne \relative { % start of LH voice one notes - g8 ees, - g8 ees, + g8 ees, | + g8 ees, | } % end of LH voice one notes } % end of LH voice one \new Voice { % create LH voice two \voiceTwo \relative { % start of LH voice two notes - g4 ees - g4 ees + g4 ees | + g4 ees | } % end of LH voice two notes } % end of LH voice two >> % end of LH staff @@ -1709,7 +1685,7 @@ zu Gesangstexten angewandt, siehe @ref{Stimmen und Text}. @seealso -Notationsreferenz: @ruser{Kontexte erstellen}. +Notationsreferenz: @ruser{Kontexte erstellen und referenzieren}. @node Was sind Engraver? @@ -1774,7 +1750,7 @@ abzuleiten. @item Clef_engraver @tab Erstellt Notenschlüssel. @item Completion_heads_engraver - @tab Teilt Noten in kleiner Werte, wenn sie über die Taktlinie reichen. + @tab Teilt Noten in kleiner Werte, wenn sie über den Taktstrich reichen. @item Dynamic_engraver @tab Erstellt Dynamik-Klammern und Dynamik-Texte. @item Forbid_line_break_engraver @@ -1826,15 +1802,15 @@ Kontexte werden mit dem @code{\set}-Befehl geändert. Er wird in Form @example -\set @var{KontextBezeichnung}.@var{eigenschaftsBezeichnung} = #@var{Wert} +\set @emph{KontextBezeichnung}.@emph{EigenschaftsBezeichnung} = #@emph{Wert} @end example @noindent -verwendet, wobei @var{KontextBezeichnung} üblicherweise +verwendet, wobei @emph{KontextBezeichnung} üblicherweise @code{Score}, @code{Staff} oder @code{Voice} ist. Der erste Teil kann auch ausgelassen werden; in diesem Fall wird der aktuelle -Kontext (üblicherweise @code{Voice}) eingesetzt. +Kontext (üblicherweise @code{Voice}) angenommen. Die Bezeichnung von Kontexten-Eigenschaften besteht aus zwei Wörtern, die ohne Unterstrich oder Bindestrich @@ -1845,7 +1821,7 @@ Kontext-Eigenschaften. Es gibt sehr viel mehr. @c attempt to force this onto a new page @need 50 @multitable @columnfractions .25 .15 .45 .15 -@headitem eigenschaftsBezeichnung +@headitem Eigenschaftsbezeichnung @tab Typ @tab Funktion @tab Beispiel-Wert @@ -1909,11 +1885,11 @@ nicht, weil der Kontext ausgelassen wurde. \new Staff \relative { \set Staff.instrumentName = #"Soprano" c''2 c - } + } \new Staff \relative { \set instrumentName = #"Alto" % Wrong! d'2 d - } + } >> @end lilypond @@ -1942,14 +1918,14 @@ Bezeichnungen in der Interna-Referenz zu überprüfen: siehe Die Eigenschaft @code{instrumentName} wird erst aktiv, wenn sie in einem @code{Staff}-Kontext gesetzt wird, aber manche Eigenschaften können in mehr als einem Kontext benutzt werden. Als Beispiel mag die -@code{extraNatural}-Eigenschaft dienen, die zusätzliche Erniedrigungszeichen +@code{extraNatural}-Eigenschaft dienen, die zusätzliche Auflösungszeichen setzt. Die Standardeinstellung ist ##t (wahr) in allen Systemen. Wenn sie nur in einem @code{Staff} (Notensystem) auf ##f (falsch) gesetzt wird, wirkt sie sich auf alle Noten in diesem System aus. Wird sie dagegen in der @code{Score}-Umgebung gesetzt, wirkt sich das auf alle darin enthaltenen Systeme aus. -Das also bewirkt, dass die zusätzlichen Erniedrigungszeichen in einem System +Das also bewirkt, dass die zusätzlichen Auflösungszeichen in einem System ausgeschaltet sind: @lilypond[quote,verbatim,ragged-right] @@ -1965,7 +1941,7 @@ ausgeschaltet sind: @end lilypond @noindent -während das dazu dient, sie in allen Systemen auszuschalten: +während dies dazu dient, sie in allen Systemen auszuschalten: @lilypond[quote,verbatim,ragged-right] << @@ -1981,7 +1957,7 @@ während das dazu dient, sie in allen Systemen auszuschalten: Ein anderes Beispiel ist die Eigenschaft @code{clefTransposition}: wenn sie im @code{Score}-Kontext gesetzt wird, ändert sich sofort -der Wert der Oktavierung in allen aktuellen Systemen und wird +der Wert der Tranponierung in allen aktuellen Systemen und wird auf einen neuen Wert gesetzt, der sich auf alle Systeme auswirkt. Der gegenteilige Befehl, @code{\unset}, entfernt die Eigenschaft @@ -2034,7 +2010,7 @@ definiert werden, an welchem der Kontext erstellt wird. Manchmal ist das eine saubere Weise, eine Eigenschaft zu bestimmen, die für die gesamte Partitur erhalten bleiben soll. Wenn ein Kontext mit einem @code{\new}-Befehl erstellt wird, können in einer -direkt folgenden @code{\with @{ .. @}}-Umgebung die Eigenschaften +direkt folgenden @code{\with @{ @dots{} @}}-Umgebung die Eigenschaften bestimmt werden. Wenn also die zusätzlichen Auflösungszeichen für eine ganze Partitur gelten sollen, könnte man schreiben: @@ -2048,10 +2024,11 @@ etwa so: @lilypond[quote,verbatim,ragged-right] << - \new Staff + \new Staff { \relative { gisis'4 gis aeses aes } + } \new Staff \with { extraNatural = ##f } { \relative { gisis'4 gis aeses aes @@ -2090,7 +2067,7 @@ für die Eigenschaft ist der gleiche, wie er auch in der @code{\with}-Konstruktion benutzt wird, wie oben gezeigt. Er wird in eine @code{\context}-Umgebung eingebettet, welche wiederum innerhalb von einer @code{\layout}-Umgebung steht. Jede @code{\context}-Umgebung -wirkt sich auf alle Kontexte dieses Types aus, welche sich in der +wirkt sich auf alle Kontexte dieses Typs aus, welche sich in der aktuellen Partitur befinden (d. h. innerhalb einer @code{\score}- oder @code{\book}-Umgebung). Hier ist ein Beispiel, wie man diese Funktion anwendet: @@ -2169,14 +2146,13 @@ Referenz der Interna: Wir haben gesehen, dass jeder Kontext eine Anzahl an Engravern (Stempeln) beinhaltet, von denen ein jeder einen bestimmten -Teil des fertigen Notensatzes produziert, wie z. B. Taktlinien, +Teil des fertigen Notensatzes produziert, wie z. B. Taktstriche, Notenlinien, Notenköpfe, Hälse usw. Wenn ein Engraver aus einem Kontext entfernt wird, kann er seine Objekte nicht länger produzieren. Das ist eine eher grobe Methode, die Notenausgabe zu beeinflussen, aber es kann von großem Nutzen sein. - @subsubheading Einen einzelnen Kontext verändern Um einen Engraver von einem einzelnen Kontext zu entfernen, @@ -2268,10 +2244,10 @@ Stimmen in diesem Notensystem errechnet: >> @end lilypond - @subsubheading Alle Kontexte des gleichen Typs verändern @funindex \layout +@funindex layout Die vorigen Beispiele zeigen, wie man Engraver in einem bestimmten Kontext hinzufügen oder entfernen kann. Es ist @@ -2335,11 +2311,11 @@ entfernt wird, werden keine Notenköpfe erstellt und demzufolge auch keine Hälse oder Bögen dargestellt. -@node Erweiterung der Beispiele -@section Erweiterung der Beispiele +@node Erweiterung der Vorlagen +@section Erweiterung der Vorlagen @translationof Extending the templates -Sie haben sich durch die Übung gearbeitet, Sie +Sie haben sich durch das Tutorium gearbeitet, Sie wissen jetzt, wie Sie Notensatz produzieren, und Sie haben die grundlegenden Konzepte verstanden. Aber wie erhalten Sie genau die Systeme, die Sie brauchen? Es @@ -2352,8 +2328,8 @@ was Sie brauchen? Lesen Sie weiter. * Sopran und Cello:: * Vierstimmige SATB-Partitur:: * Eine Partitur von Grund auf erstellen:: -* Tipparbeit durch Variablen und Funktionen ersparen:: -* Partitur und Stimmen:: +* Tipparbeit durch Variablen und Funktionen einsparen:: +* Partituren und Stimmen:: @end menu @@ -2373,6 +2349,7 @@ Fall könnten Sie mit der Vorlage @qq{Noten und Text} @example \version @w{"@version{}"} + melody = \relative @{ \clef "treble" \key c \major @@ -2436,7 +2413,7 @@ für den Sopran und @code{CelloNoten} für die Cellostimme. Wenn wir schon dabei sind, können wir @code{text}auch nach @code{SoprText} umbenennen. Denken Sie daran, beide Vorkommen der Bezeichnung zu ändern: einmal die Definition -gleich am Anfang (@code{melody = \relative c' @{ }) und +gleich am Anfang (@code{melody = \relative @{ }) und dann auch noch die Benutzung der Variable innerhalb des @code{\score}-Abschnittes. @@ -2500,14 +2477,14 @@ sieht jetzt so aus: @example \score @{ << - << - \new Voice = "eins" @{ - \autoBeamOff - \SopranNoten - @} - \new Lyrics \lyricsto "eins" \SoprText - >> - \new Staff \CelloNoten + << + \new Voice = "eins" @{ + \autoBeamOff + \SopranNoten + @} + \new Lyrics \lyricsto "eins" \SoprText + >> + \new Staff \CelloNoten >> \layout @{ @} \midi @{ @} @@ -2558,7 +2535,7 @@ celloMusic = \relative { @seealso Die Vorlagen, mit denen wir begonnen haben, können im Anhang @qq{Vorlagen} gefunden werden, siehe -@ref{Ein einzelnes System}. +@ref{Vorlagen für ein einzelnes System}. @node Vierstimmige SATB-Partitur @@ -2588,34 +2565,39 @@ sopranoMusic = \relative { sopranoWords = \lyricmode { Wor -- thy | is the lamb | that was slain | } + altoMusic = \relative { \clef "treble" r4 a'2 a4 | fis4. fis8 a2 | g4 fis e2 | } altoWords = \sopranoWords + tenorMusic = \relative { \clef "G_8" r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 | } tenorWords = \sopranoWords + bassMusic = \relative { \clef "bass" r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 | } bassWords = \sopranoWords + upper = \relative { \clef "treble" \global - r4 2 4 - 4. 8 2 - 4 2 + r4 2 4 | + 4. 8 2 | + 4 2 | } + lower = \relative { \clef "bass" \global - 4 2 4 - 4. 8 2 - 4 2 + 4 2 4 | + 4. 8 2 | + 4 2 | } \score { @@ -2638,9 +2620,7 @@ lower = \relative { \altoMusic } >> - \new Lyrics \lyricsto "altos" { - \altoWords - } + \new Lyrics \lyricsto "altos" { \altoWords } \new Staff = "tenors" << \set Staff.instrumentName = #"Tenor" \new Voice = "tenors" { @@ -2648,9 +2628,7 @@ lower = \relative { \tenorMusic } >> - \new Lyrics \lyricsto "tenors" { - \tenorWords - } + \new Lyrics \lyricsto "tenors" { \tenorWords } \new Staff = "basses" << \set Staff.instrumentName = #"Bass" \new Voice = "basses" { @@ -2662,7 +2640,6 @@ lower = \relative { \bassWords } >> % end ChoirStaff - \new PianoStaff << \set PianoStaff.instrumentName = #"Piano" \new Staff = "upper" \upper @@ -2672,9 +2649,17 @@ lower = \relative { } @end lilypond -Keine der Vorlage bietet diesen Aufbau direkt an. Die Vorlage, die -am nächsten daran liegt, ist @qq{SATB-Partitur und automatischer -Klavierauszug}, siehe @ref{Vokalensemble}. Wir müssen diese +@warning{Das vorliegende Layout kann sehr einfach erzeugt werden. Am Besten +verwenden sie dafür das vordefinierte Beispiel @code{satb.ly}, siehe auch +@ref{Built-in templates}. Zum Zweck der einfachen Handhabung wird der +verwendete Kontextaufbau bewusst versteckt und sich darauf verlassen, dass LilyPond +alles automatisch bereit stellt. Lassen sie uns zu Lehrzwecken probieren, +das alles von Grund auf selbst zu entwickeln. Irgendwann werden sie das sowieso machen +müssen, nämlich genau dann, wenn ein vorgegebenes Beispiel ihre +Anforderungen nicht angemessen erfüllt.} + +Dem gewünschten Ergebnis am nächsten kommt sicher das +@ref{SATB-Partitur und automatischer Klavierauszug} -- wir müssen diese Vorlage aber so anpassen, dass die Noten für das Klavier nicht automatisch aus dem Chorsatz generiert werden. Die Variablen für die Noten und den Text des Chores sind in Ordnung, wir @@ -2698,7 +2683,7 @@ Damit erhalten wir folgenden @code{ChoirStaff}: @example \new ChoirStaff << \new Staff = "sopranos" << - \set Staff.instrumentName = #"Sopran" + \set Staff.instrumentName = #"Soprano" \new Voice = "sopranos" @{ \global \sopranoMusic @@ -2708,7 +2693,7 @@ Damit erhalten wir folgenden @code{ChoirStaff}: \sopranoWords @} \new Staff = "altos" << - \set Staff.instrumentName = #"Alt" + \set Staff.instrumentName = #"Alto" \new Voice = "altos" @{ \global \altoMusic @@ -2747,14 +2732,14 @@ aus der @qq{Piano solo}-Vorlage: @example \new PianoStaff << \set PianoStaff.instrumentName = #"Piano " - \new Staff = "oben" \oben - \new Staff = "unten" \unten + \new Staff = "upper" \upper + \new Staff = "lower" \lower >> @end example @noindent -und fügen die Variablen @code{oben} -und @code{unten} hinzu. +und fügen die Variablen @code{upper} +und @code{lower} hinzu. Das Chorsystem und das Pianosystem müssen mit spitzen Klammern kombiniert werden, damit beide @@ -2815,10 +2800,7 @@ Alles miteinander kombiniert und mit den Noten für drei Takte sieht unser Beispiel nun so aus: @lilypond[quote,verbatim,ragged-right,addversion] -global = { - \key d \major - \time 4/4 -} +global = { \key d \major \time 4/4 } sopranoMusic = \relative { \clef "treble" r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 | @@ -2844,16 +2826,16 @@ bassWords = \sopranoWords upper = \relative { \clef "treble" \global - r4 2 4 - 4. 8 2 - 4 2 + r4 2 4 | + 4. 8 2 | + 4 2 | } lower = \relative { \clef "bass" \global - 4 2 4 - 4. 8 2 - 4 2 + 4 2 4 | + 4. 8 2 | + 4 2 | } \score { @@ -2927,7 +2909,7 @@ manchmal einfacher ist, von Grund auf anzufangen, anstatt die fertigen Vorlagen zu verändern. Auf diese Art könne Sie auch Ihren eigenen Stil entwickeln, und ihn der Musik anpassen, die Sie notieren wollen. Als Beispiel wollen wir demonstrieren, -wie man die Partitur für ein Orgelpreludium von Grund auf +wie man die Partitur für ein Orgelpräludium von Grund auf konstruiert. Beginnen wir mit dem Kopf, dem @code{header}-Abschnitt. @@ -2938,7 +2920,7 @@ schließlich am Ende die eigentliche Partitur, den Struktur, in die wir dann die Einzelheiten nach und nach eintragen. -Als Beispiel benutzen wir zwei Takte aus dem Orgelpreludium +Als Beispiel benutzen wir zwei Takte aus dem Orgelpräludium @notation{Jesu, meine Freude} von J. S. Bach, notiert für zwei Manuale und Pedal. Sie können die Noten am Ende dieses Abschnittes sehen. Das obere Manual trägt zwei Stimmen, @@ -2950,7 +2932,7 @@ Taktart und Tonart zu definieren. \version @w{"@version{}"} \header @{ title = "Jesu, meine Freude" - composer = "J. S. Bach" + composer = "J S Bach" @} keyTime = @{ \key c \minor \time 4/4 @} ManualOneVoiceOneMusic = @{ s1 @} @@ -3006,7 +2988,7 @@ häufiger Fehler, der wohl auch Ihnen früher oder später unterläuft. Sie können das fertige Beispiel am Ende des Abschnittes kopieren und die Klammern entfernen, um zu sehen, wie die -Fehlermeldung aussehen kann, die Sie in solch +Fehlermeldungen aussehen könnten, die Sie in solch einem Fall erhalten würden. @example @@ -3035,7 +3017,7 @@ einem Fall erhalten würden. @end example Es ist nicht notwendig, die simultane Konstruktion -@code{<< .. >>} innerhalb des zweiten Manualsystems +@code{<< @dots{} >>} innerhalb des zweiten Manualsystems und des Pedalsystems zu benutzen, denn sie enthalten nur eine Stimme. Andererseits schadet es nichts, sie zu schreiben, und es ist eine gute Angewohnheit, immer @@ -3043,7 +3025,7 @@ die spitzen Klammern nach einem @code{\new Staff} zu schreiben, wenn mehr als eine Stimme vorkommen könnten. Für Stimmen (@code{Voice}) dagegen gilt genau das Gegenteil: eine neue Stimme sollte immer von -geschweiften Klammern (@code{@{ .. @}}) gefolgt +geschweiften Klammern (@code{@{ @dots{} @}}) gefolgt werden, falls Sie ihre Noten in mehrere Variable aufteilen, die nacheinander gesetzt werden sollen. @@ -3061,7 +3043,7 @@ Variable @code{\keyTime} eingefügt. << % PianoStaff and Pedal Staff must be simultaneous \new PianoStaff << \new Staff = "ManualOne" << - \keyTime % set time signature and key + \keyTime % set key and time signature \clef "treble" \new Voice @{ \voiceOne @@ -3161,7 +3143,6 @@ sind. >> @} % end Score context @end example - Damit ist das Grundgerüst fertig. Jede Orgelmusik mit drei Systemen hat die gleiche Struktur, auch wenn die Anzahl der Stimmen in einem System sich ändern kann. Jetzt müssen wir nur noch @@ -3176,7 +3157,7 @@ die Variablen mit einem Backslash in die Partitur einbauen. keyTime = { \key c \minor \time 4/4 } ManualOneVoiceOneMusic = \relative { g'4 g f ees | - d2 c2 | + d2 c | } ManualOneVoiceTwoMusic = \relative { ees'16 d ees8~ 16 f ees d c8 d~ d c~ | @@ -3184,7 +3165,7 @@ ManualOneVoiceTwoMusic = \relative { } ManualTwoMusic = \relative { c'16 b c8~ 16 b c g a8 g~ 16 g aes ees | - f16 ees f d g aes g f ees d e8~ 8es16 f ees d | + f16 ees f d g aes g f ees d ees8~ 16 f ees d | } PedalOrganMusic = \relative { r8 c16 d ees d ees8~ 16 a, b g c b c8 | @@ -3195,7 +3176,7 @@ PedalOrganMusic = \relative { << % PianoStaff and Pedal Staff must be simultaneous \new PianoStaff << \new Staff = "ManualOne" << - \keyTime % set time signature and key + \keyTime % set key and time signature \clef "treble" \new Voice { \voiceOne @@ -3232,8 +3213,8 @@ Glossar: @rglos{system}. -@node Tipparbeit durch Variablen und Funktionen ersparen -@subsection Tipparbeit durch Variablen und Funktionen ersparen +@node Tipparbeit durch Variablen und Funktionen einsparen +@subsection Tipparbeit durch Variablen und Funktionen einsparen @translationof Saving typing with variables and functions @cindex Variablen @@ -3256,6 +3237,7 @@ Musik sehr nützlich sein könnte: @lilypond[quote,verbatim,ragged-right] fragmentA = \relative { a'4 a8. b16 } fragmentB = \relative { a'8. gis16 ees4 } + violin = \new Staff { \fragmentA \fragmentA | \fragmentB \fragmentA | @@ -3272,20 +3254,21 @@ Diese Variablen (die man auch als Makros oder Benutzer-Befehl bezeichnet) können jedoch auch für eigene Anpassungen eingesetzt werden: -@c TODO Avoid padtext - not needed with skylining @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 + +centreText = { \once \override TextScript.self-alignment-X = #CENTER } + +fthenp =_\markup { + \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p } violin = \relative { \repeat volta 2 { - c''4._\dolce b8 a8 g a b - \padText - c4.^"hi there!" d8 e' f g d - c,4.\fthenp b8 c4 c-. + c''4._\dolce b8 a8 g a b | + \centreText + c4.^"hi there!" d8 e f g d | + c4.\fthenp b8 c4 c-. | } } @@ -3293,11 +3276,11 @@ violin = \relative { { \violin } - \layout{ragged-right=##t} } @end lilypond -Derartige Variablen sind offensichtlich sehr nützlich, zu Tipparbeit zu ersparen. Aber es lohnt sich schon, sie zu +Derartige Variablen sind offensichtlich sehr nützlich, sich +Tipparbeit zu ersparen. Aber es lohnt sich schon, sie zu benutzen, wenn man sie nur einmal benutzen will, denn sie vereinfachen die Struktur einer Datei sehr stark. Hier das vorige Beispiel ohne jede Benutzung von Variablen. Es ist @@ -3306,10 +3289,10 @@ sehr viel schwerer lesbar, besonders die letzte Zeile. @example violin = \relative @{ \repeat volta 2 @{ - c''4._\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 @{ + c''4._\markup @{ \italic \bold dolce @} b8 a8 g a b | + \once \override TextScript.self-alignment-X = #CENTER + c4.^"hi there!" d8 e f g d | + c4._\markup @{ \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p @} b8 c4 c-. | @@ -3317,13 +3300,10 @@ violin = \relative @{ @} @end example -@c TODO Replace the following with a better example -td -@c Skylining handles this correctly without padText - Bisher haben wir vor allem statische Ersetzungen betrachtet: -wenn LilyPond etwa @code{\padText} sieht, wird es ersetzt mit +wenn LilyPond etwa @code{\centreText} sieht, wird es ersetzt mit all dem Code, mit dem wir es definiert haben (also alles, -was sich rechts von @code{padtext=} befindet). +was sich rechts von @code{centreText=} befindet). LilyPond kann auch nicht-statische Ersetzungen bewältigen. Man kann sie sich als Funktionen vorstellen. @@ -3338,26 +3318,25 @@ padText = #}) \relative { - c'''4^"piu mosso" b a b | + c''4^"piu mosso" b a b \padText #1.8 - c4^"piu mosso" d e f | + c4^"piu mosso" b a b \padText #2.6 - c4^"piu mosso" fis a g | + c4^"piu mosso" b a b } @end lilypond Die Benutzung von Variablen ist auch eine gute Möglichkeit, Arbeit zu vermeiden, wenn sich einmal die Syntax von LilyPond -ändern sollte (siehe auch @rprogram{Updating old input files -with convert-ly}). +ändern sollte (siehe auch @rprogram{Dateien mit convert-ly aktualisieren}). Wenn man eine einzige Definition hat (wie etwa @code{\dolce}), die für alle Vorkommen in der Notation eingesetzt wird, muss man auch nur einmal diese Definition aktualisieren, anstatt dass man sie in jeder @file{.ly}-Datei einzeln ändern müsste. -@node Partitur und Stimmen -@subsection Partitur und Stimmen +@node Partituren und Stimmen +@subsection Partituren und Stimmen @translationof Scores and parts In Orchestermusik werden alle Noten zweimal gedruckt. Einmal @@ -3427,22 +3406,18 @@ in einem 2/4-Takt: R2*3 @end example -Wenn die Stimme gesetzt wird, werden Mehrtaktpausen komprimiert. Das geschieht, indem man folgendes in die Datei -schreibt: +Wenn die Stimme gesetzt wird, sollen Mehrtaktpausen zusammen gefasst werden. +Zu diesem Zweck gibt es eine Musik Funktion: @example -\set Score.skipBars = ##t +\compressMMRests @{ ... @} @end example -@noindent -Dieser Befehl setzt die Eigenschaft @code{skipBars} im -@code{Score}-Kontext auf wahr (@code{##t}). Die Pause und diese Option zu der Musik von oben hinzugefügt, ergibt folgendes -Beispiel: +Angewendet auf @code{hornNotes} erhält man: @lilypond[quote,ragged-right] -\transpose f c' \relative { +\compressMMRests \transpose f c' \relative { \time 2/4 - \set Score.skipBars = ##t R2*3 | r4 f8 a | cis4 f | e4 d | } @@ -3482,3 +3457,13 @@ woraus sich ergibt: } >> @end lilypond + +@seealso +Handbuch zum Lernen: +@ref{Stücke durch Variablen organisieren}. + +Notationsreferenz: +@ruser{Transponieren}, +@ruser{Orchesterstimmen erstellen}, +@ruser{Ganztaktpausen}, +@ruser{LilyPond-Dateien einfügen}. diff --git a/Documentation/de/learning/templates.itely b/Documentation/de/learning/templates.itely index a31cd4fc4a..bf9b8194a6 100644 --- a/Documentation/de/learning/templates.itely +++ b/Documentation/de/learning/templates.itely @@ -1,16 +1,16 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*- @ignore - Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94 + Translation of GIT committish: 8819d7cb0ba2ab359e4aa2276695afb9c1957c42 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.16.0" +@c \version "2.19.25" -@c Translators: Till Paala +@c Translators: Till Paala, Michael Gerdau @node Vorlagen @appendix Vorlagen @@ -21,41 +21,365 @@ LilyPond-Partitur schon eingerichtet ist. Sie müssen nur noch Ihre Noten einfügen, die Datei mit LilyPond übersetzen und sich an dem schönen Notenbild erfreuen! -@c bad node name for ancient notation to avoid conflict @menu -* Ein einzelnes System:: +* Eingebaute Vorlagen:: +* Vorlagen für ein einzelnes System:: * Klaviervorlagen:: -* Streichquartett:: +* Vorlagen für Streichquartette:: * Vokalensemble:: -* Orchestervorlage:: +* Orchestervorlagen:: * Vorlagen für alte Notation:: * Andere Vorlagen:: @end menu -@node Ein einzelnes System -@appendixsec Ein einzelnes System -@translationof Single staff +@node Eingebaute Vorlagen +@appendixsec Eingebaute Vorlagen +@translationof Built-in templates + +LilyPond enthält ein paar eingebaute Vorlagen für Chormusik in einer ganzen +Reihe unterschiedlicher Ausprägungen. Die Palette umfasst Chormusik mit und +ohne Klavierbegleitung, in zwei, vier oder acht Systemen. Im Gegensatz zu +anderen Vorlagen sind diese Vorlagen in LilyPond @q{eingebaut}, d.h. sie +werden nicht kopiert und dann angepasst. Vielmehr werden sie einfach in der +Eingabedatei @code{@bs{}include}'d (eingefügt). + +@warning {Anders als die meisten anderen eingefügten Dateien werden diese +eingebauten Vorlagen am @emph{Ende} der Eingabedatei @code{@bs{}include}'d.} + +Die benötigten musikalischen Ausdrücke werden speziellen Variablen (oder Makros) +zugewiesen und müssen definiert sein, bevor die Vorlage @code{@bs{}include}'d wird. + +@menu +* SATB Vorlage:: +* SSAATTBB Vorlage:: +@end menu + +@node SATB Vorlage +@appendixsubsec SATB Vorlage +@translationof SATB template + +Die Musik kann wahlweise mit einer oder zwei Stimmen je System gesetzt werden. +Hierzu setzt man den Wert von @code{TwoVoicesPerStaff} auf @code{##f} oder @code{##t}. + +Hier folgt die vollständige Eingabedatei für ein komplettes vierstimmiges SATB +Arrangement mit verschiedenem Text je Stimme und einer Klavierbegleitung: + +@lilypond[verbatim, quote] + SopranoMusic = \relative { a'4\f a8 a a4 a } + SopranoLyrics = \lyricmode { Sop -- ra -- no ly -- rics } + AltoMusic = \relative { d'4\f d d d } + AltoLyrics = \lyricmode { Al -- to ly -- rics } + TenorMusic = \relative { a4\p a a a } + TenorLyrics = \lyricmode { Te -- nor ly -- rics } + BassMusic = \relative { c2\p c4 c } + BassLyrics = \lyricmode { Bass ly -- rics } + PianoRHMusic = \relative { c' e g c } + PianoDynamics = { s2\mp s4 s4 } + PianoLHMusic = \relative { c e g c } + \include "satb.ly" +@end lilypond + +Mit der gleichen Eingabe kann man auch eine Partitur erzeugen, die zwei +Stimmen je System enthält. Hierzu wird lediglich @code{TwoVoicesPerStaff} +auf @code{##t} gesetzt. Beachten sie dass nach wie vor jede Stimme einen +eigenen Text hat. + + +@lilypond[verbatim, quote] + SopranoMusic = \relative { a'4\f a8 a a4 a } + SopranoLyrics = \lyricmode { Sop -- ra -- no ly -- rics } + AltoMusic = \relative { d'4\f d d d } + AltoLyrics = \lyricmode { Al -- to ly -- rics } + TenorMusic = \relative { a4\p a a a } + TenorLyrics = \lyricmode { Te -- nor ly -- rics } + BassMusic = \relative { c2\p c4 c } + BassLyrics = \lyricmode { Bass ly -- rics } + PianoRHMusic = \relative { c' e g c } + PianoDynamics = { s2\mp s4 s4 } + PianoLHMusic = \relative { c e g c } + TwoVoicesPerStaff = ##t + \include "satb.ly" +@end lilypond + +Ist die Variable @code{TwoVoicesPerStaff} auf false oder auch gar nicht gesetzt, +dann kann jede der Variablen weg gelassen werden, um so ein Arrangement mit +weniger Stimmen zu erzeugen. So sähe z.B. ein Duett für Sopran und Bass +folgendermaßen aus: + +@lilypond[verbatim,quote] + SopranoMusic = \relative { c'' c c c } + SopranoLyrics = \lyricmode { High voice ly -- rics } + BassMusic = \relative { a a a a } + BassLyrics = \lyricmode { Low voice ly -- rics } + \include "satb.ly" +@end lilypond + +Eine zweite Strophe oder einen anderer Text könnte man so hinzufügen: + +@lilypond[verbatim, quote] + SopranoMusic = \relative { a'4 a a a } + SopranoLyricsOne = \lyricmode { + \set stanza = "1." + Words to verse one + } + SopranoLyricsTwo = \lyricmode { + \set stanza = "2." + Words to verse two + } + \include "satb.ly" +@end lilypond + +Sind Text und Rhythmus für für alle Stimmen gleich, dann kann man die +Musik gut in zwei Systemen mit zwei Stimmen je System anordnen. Die +Vorlage sieht bis zu neun Strophen vor. Es folgt ein unbegleitetes +Beispiel mit drei Strophen. + +@lilypond[verbatim, quote] + SopranoMusic = \relative { a' a a a } + AltoMusic = \relative { f' f f f } + VerseOne = \lyricmode { + \set stanza = "1." + Words to verse one + } + VerseTwo = \lyricmode { + \set stanza = "2." + Words to verse two + } + VerseThree = \lyricmode { + \set stanza = "3." + Words to verse three + } + TenorMusic = \relative { a a a a } + BassMusic = \relative { f f f f } + TwoVoicesPerStaff = ##t + \include "satb.ly" +@end lilypond + +Es gibt noch weitere Variablen, die man setzen kann. Die Tonart und +die Taktart können angepasst werden: + +@lilypond[verbatim, quote] + Key = \key a \major + Time = { + \time 5/4 + \tempo "Allegro" 4 = 144 + } + SopranoMusic = \relative { gis' gis gis gis gis } + AltoMusic = \relative { cis' cis cis cis cis } + VerseOne = \lyricmode { Words to this du -- et } + TwoVoicesPerStaff = ##t + \include "satb.ly" +@end lilypond + +Die Bezeichnung der Stimmen und/oder deren Kurzform können verändert werden: + +@lilypond[verbatim,quote] + SopranoMusic = \relative { c'' c c c } + SopranoLyrics = \lyricmode { High voice ly -- rics } + SopranoInstrumentName = "Soprano 1" + SopranoShortInstrumentName = "S1" + AltoMusic = \relative { a' a a a } + AltoLyrics = \lyricmode { Low voice ly -- rics } + AltoInstrumentName = "Soprano 2" + AltoShortInstrumentName = "S2" + \include "satb.ly" +@end lilypond + +Andererseits könnte es in diesem konkreten Fall besser sein die +@code{ssaattbb.ly} Vorlage zu verwenden, siehe @ref{SSAATTBB Vorlage}. + +Sie könnten auch einen Descant hinzufügen. Einfach die Variablen +@code{DescantMusic} und @code{DescantLyrics} mit Inhalt befüllen. +In gleicher Weise fügen sie eine Solostimme oberhalb der gruppierten +Chorstimmen hinzu, indem sie die Variablen @code{SoloMusic} und +@code{SoloLyrics} befüllen. + +@code{\header} und @code{\paper} Blöcke können ganz normal hinzu gefügt +werden. Auch einen @code{\layout} Block können sie wie gewöhnlich auf +oberster Ebene angeben. Dessen Inhalt wird zu den Voreinstellungen der +Vorlage hinzugefügt. Allerdings wird es sie nicht überschreiben. +Wollen sie alle Voreinstellungen der Vorlage löschen, so können sie +das tun, indem sie eine Variable @code{Layout} definieren, die @emph{alle} +benötigten Einstellungen enthält: + +@example +Layout = \layout @{ ... @} +@end example + +Für eine vollständige Liste aller Variablen, die gesetzt werden können, +schauen sie sich bitte direkt die Vorlagendatei @file{ly/satb.ly} an, +siehe auch @ref{Mehr Information}. + +@seealso +Handbuch zum Lernen: +@ref{Stücke durch Variablen organisieren}, +@ref{Vokalensemble}, +@ref{Erweiterung der Vorlagen}, +@ref{Mehr Information}. + +@knownissues +Das Setzen der Variablen @code{TwoVoicesPerStaff} gilt für die gesamte +Partitur. Es ist nicht möglich ihren Wert im Verlauf eines Stückes +zu verändern. + +Komplexere Arrangements von SATB Chorwerken sind mit dieser doch eher +einfachen eingebauten Vorlage nicht möglich. + + +@node SSAATTBB Vorlage +@appendixsubsec SSAATTBB Vorlage +@translationof SSAATTBB template + +Alle Variablen, die wir im Zusammenhang mit der SATB Vorlage kennen +gelernt haben, gibt es auch in der SSAATTBB Vorlage. Die einzige +Ausnahme sind die @code{VerseXxx} Variablen, siehe auch @ref{SATB Vorlage}. +Zusätzlich können Noten und Text für die erste und zweite Stimme jeder +Stimmgruppe unter Verwendung der Variablen @code{SopranoOneMusic}, @code{SopranoTwoMusic}, +etc, bzw. @code{SopranoOneLyrics} und @code{SopranoTwoLyrics}, +etc. Es können bis zu vier Strophen für jede Stimme definiert werden. +Für Sopran 1, Strophe 1 definiert man @code{SopranoOneLyricsOne}. Die +Variablen der anderen Stimmen und Strophen ergeben sich analog. + +Das Setzen von @code{TwoVoicesPerStaff} auf @code{##t} bewirkt, dass @emph{all} +Stimmgruppen auf einzelne Systeme als divisi Stimmen gesetzt werden. Ist +@code{TwoVoicesPerStaff} nicht oder auf @code{##f} gesetzt, dann werden +die einzelnen Stimmgruppen in Abhängigkeit der Variablen @code{SopranoTwoVoicesPerStaff}, +@code{MenTwoVoicesPerStaff}, etc. entweder als einzelne Stimmen in zwei +Systemen oder zweistimmig in einen System gesetzt. + +Das folgende Beispiel ist ein Stück für Sopran und Alt. Es beginnt mit +allen Stimmen unisono, gefolgt von einer zweistimmigen Sequenz für +Sopran und Alt, um dann schließlich vierstimmig zu enden. Das sieht +dann wie folgt aus: + +@lilypond[verbatim,quote] +Time = { s1 \break s1 \break } +WomenMusic = \relative { a'4 a a a } +WomenLyrics = \lyricmode { Wo -- men ly -- rics } +SopranoMusic = \relative { s1 | c''4 c c c8 c } +SopranoLyrics = \lyricmode{ So -- pra -- no ly -- rics } +AltoMusic = \relative { s1 | g'4 g g g } +AltoLyrics = \lyricmode { Al -- to ly -- rics } +SopranoOneMusic = \relative { s1 | s1 |e''4 e e e } +SopranoOneLyrics = \lyricmode { Sop One ly -- rics } +SopranoTwoMusic = \relative { s1 | s1 | c''4 c c c } +SopranoTwoLyrics = \lyricmode { Sop Two ly -- rics } +AltoOneMusic = \relative { s1 | s1 | g'4 g g g8 g } +AltoOneLyrics = \lyricmode { Al -- to One ly -- rics } +AltoTwoMusic = \relative { s1 | s1 | e'4 e e e8 e } +AltoTwoLyrics = \lyricmode { Al -- to Two ly -- rics } +\layout { ragged-right = ##t } +\include "ssaattbb.ly" +@end lilypond + +Männerstimmen könnten in gleicher Weise hinzu gefügt werden. + +Wir können das Layout auch einfach dahingehende verändern, dass die +divisi Soprani in einem einzigen System notiert würden, indem wir +@code{SopranoTwoVoicesPerStaff} auf ##t setzen. Alle anderen +Variablen unverändert gelassen sähe es dann so aus: + +@lilypond[verbatim,quote] +SopranoTwoVoicesPerStaff = ##t +Time = { s1 \break s1 \break } +WomenMusic = \relative { a'4 a a a } +WomenLyrics = \lyricmode { Wo -- men ly -- rics } +SopranoMusic = \relative { s1 | c''4 c c c8 c } +SopranoLyrics = \lyricmode{ So -- pra -- no ly -- rics } +AltoMusic = \relative { s1 | g'4 g g g } +AltoLyrics = \lyricmode { Al -- to ly -- rics } +SopranoOneMusic = \relative { s1 | s1 |e''4 e e e } +SopranoOneLyrics = \lyricmode { Sop One ly -- rics } +SopranoTwoMusic = \relative { s1 | s1 | c''4 c c c } +SopranoTwoLyrics = \lyricmode { Sop Two ly -- rics } +AltoOneMusic = \relative { s1 | s1 | g'4 g g g8 g } +AltoOneLyrics = \lyricmode { Al -- to One ly -- rics } +AltoTwoMusic = \relative { s1 | s1 | e'4 e e e8 e } +AltoTwoLyrics = \lyricmode { Al -- to Two ly -- rics } +\layout { ragged-right = ##t } +\include "ssaattbb.ly" +@end lilypond + +oder wir können alle Stimmgruppen jeweils in ein zweistimmiges +System setzen, indem wir @code{TwoVoicesPerStaff} auf ##t setzen: + +@lilypond[verbatim,quote] +TwoVoicesPerStaff = ##t +Time = { s1 \break s1 \break } +WomenMusic = \relative { a'4 a a a } +WomenLyrics = \lyricmode { Wo -- men ly -- rics } +SopranoMusic = \relative { s1 | c''4 c c c8 c } +SopranoLyrics = \lyricmode{ So -- pra -- no ly -- rics } +AltoMusic = \relative { s1 | g'4 g g g } +AltoLyrics = \lyricmode { Al -- to ly -- rics } +SopranoOneMusic = \relative { s1 | s1 |e''4 e e e } +SopranoOneLyrics = \lyricmode { Sop One ly -- rics } +SopranoTwoMusic = \relative { s1 | s1 | c''4 c c c } +SopranoTwoLyrics = \lyricmode { Sop Two ly -- rics } +AltoOneMusic = \relative { s1 | s1 | g'4 g g g8 g } +AltoOneLyrics = \lyricmode { Al -- to One ly -- rics } +AltoTwoMusic = \relative { s1 | s1 | e'4 e e e8 e } +AltoTwoLyrics = \lyricmode { Al -- to Two ly -- rics } +\layout { ragged-right = ##t } +\include "ssaattbb.ly" +@end lilypond + +Für eine vollständige Liste aller Variablen, die gesetzt werden können, +schauen sie sich bitte direkt die Vorlagendatei @file{ly/ssaattbb.ly} an, +siehe auch @ref{Mehr Information}. + +@seealso +Handbuch zum Lernen: +@ref{Stücke durch Variablen organisieren}, +@ref{Vokalensemble}, +@ref{Erweiterung der Vorlagen}, +@ref{Mehr Information}. + +@knownissues +Das Setzen der diversen Variablen @code{...TwoVoicesPerStaff} gilt für die +gesamte Partitur. Es ist nicht möglich ihren Wert im Verlauf eines Stückes +zu verändern. + +Komplexere Arrangements von 8-stimmigen Chorwerken sind mit dieser doch eher +einfachen eingebauten Vorlage nicht möglich. + + +@node Vorlagen für ein einzelnes System +@appendixsec Vorlagen für ein einzelnes System +@translationof Single staff templates + +@menu +* Nur Noten:: +* Noten und Text:: +* Noten und Akkordbezeichnungen:: +* Noten Text und Akkordbezeichnungen:: +@end menu +@node Nur Noten @appendixsubsec Nur Noten +@translationof Notes only @lilypondfile[verbatim,quote,ragged-right,texidoc,addversion] {single-staff-template-with-only-notes.ly} - +@node Noten und Text @appendixsubsec Noten und Text +@translationof Notes and lyrics @lilypondfile[verbatim,quote,ragged-right,texidoc,addversion] {single-staff-template-with-notes-and-lyrics.ly} - +@node Noten und Akkordbezeichnungen @appendixsubsec Noten und Akkordbezeichnungen +@translationof Notes and chords @lilypondfile[verbatim,quote,ragged-right,texidoc] {single-staff-template-with-notes-and-chords.ly} - +@node Noten Text und Akkordbezeichnungen @appendixsubsec Noten, Text und Akkordbezeichnungen +@translationof Notes lyrics and chords @lilypondfile[verbatim,quote,ragged-right,texidoc] {single-staff-template-with-notes,-lyrics,-and-chords.ly} @@ -65,29 +389,53 @@ schönen Notenbild erfreuen! @appendixsec Klaviervorlagen @translationof Piano templates +@menu +* Piano Solo:: +* Klavier und Gesangsstimme:: +* Klavier mit eingeschobenem Gesangstext:: +@end menu + +@node Piano Solo @appendixsubsec Piano Solo +@translationof Solo piano @lilypondfile[verbatim,quote,ragged-right,texidoc] {piano-template-simple.ly} - -@appendixsubsec Klavier und Gesangstimme +@node Klavier und Gesangsstimme +@appendixsubsec Klavier und Gesangsstimme +@translationof Piano and melody with lyrics @lilypondfile[verbatim,quote,ragged-right,texidoc] {piano-template-with-melody-and-lyrics.ly} +@node Klavier mit eingeschobenem Gesangstext +@appendixsubsec Klavier mit eingeschobenem Gesangstext +@translationof Piano centered lyrics + +@lilypondfile[verbatim,quote,ragged-right,texidoc] +{piano-template-with-centered-lyrics.ly} + + +@node Vorlagen für Streichquartette +@appendixsec Vorlagen für Streichquartette +@translationof String quartet templates + +@menu +* Streichquartett:: +* Streichquartettstimmen:: +@end menu @node Streichquartett -@appendixsec Streichquartett +@appendixsubsec Streichquartett @translationof String quartet -@appendixsubsec Einfaches Streichquartett - @lilypondfile[verbatim,quote,ragged-right,texidoc] {string-quartet-template-simple.ly} - +@node Streichquartettstimmen @appendixsubsec Streichquartettstimmen +@translationof String quartet parts @lilypondfile[verbatim,quote,ragged-right,texidoc] {string-quartet-template-with-separate-parts.ly} @@ -95,79 +443,123 @@ schönen Notenbild erfreuen! @node Vokalensemble @appendixsec Vokalensemble -@translationof Vocal ensembles +@translationof Vocal ensembles templates +Die im Folgenden gezeigten Vorlagen sind dafür gedacht in ihre Partitur +kopiert und dann nach ihren Bedürfnissen angepasst zu werden. Falls +sie ein eher einfaches SATB Layout benötigen, sollten sie erwägen eine +der eingebauten Vorlagen zu verwenden, die sie lediglich mit @code{\include} +einzufügen bräuchten, siehe auch @ref{Eingebaute Vorlagen}. + +@menu +* SATB-Partitur:: +* SATB-Partitur und automatischer Klavierauszug:: +* SATB mit daran ausgerichteten Kontexten:: +* SATB auf vier Systemen:: +* Sologesang und zweistimmiger Refrain:: +* Kirchenlieder:: +* Psalmengesang:: +@end menu + +@node SATB-Partitur @appendixsubsec SATB-Partitur +@translationof SATB vocal score @lilypondfile[verbatim,quote,ragged-right,texidoc] {vocal-ensemble-template.ly} - +@node SATB-Partitur und automatischer Klavierauszug @appendixsubsec SATB-Partitur und automatischer Klavierauszug +@translationof SATB vocal score and automatic piano reduction @lilypondfile[verbatim,quote,ragged-right,texidoc] {vocal-ensemble-template-with-automatic-piano-reduction.ly} - +@node SATB mit daran ausgerichteten Kontexten @appendixsubsec SATB mit daran ausgerichteten Kontexten +@translationof SATB with aligned contexts @lilypondfile[verbatim,quote,ragged-right,texidoc] {vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly} - +@node SATB auf vier Systemen @appendixsubsec SATB auf vier Systemen +@translationof SATB on four staves @lilypondfile[verbatim,quote,ragged-right,texidoc] {satb-choir-template---four-staves.ly} - +@node Sologesang und zweistimmiger Refrain @appendixsubsec Sologesang und zweistimmiger Refrain +@translationof Solo verse and two-part refrain @lilypondfile[verbatim,quote,ragged-right,texidoc] {vocal-ensemble-template-with-verse-and-refrain.ly} - -@appendixsubsec Hymnen +@node Kirchenlieder +@appendixsubsec Kirchenlieder +@translationof Hymn tunes @lilypondfile[verbatim,quote,ragged-right,texidoc] {hymn-template.ly} - +@node Psalmengesang @appendixsubsec Psalmengesang +@translationof Psalms @lilypondfile[verbatim,quote,ragged-right,texidoc] {anglican-psalm-template.ly} -@node Orchestervorlage -@appendixsec Orchestervorlage +@node Orchestervorlagen +@appendixsec Orchestervorlagen @translationof Orchestral templates +@menu +* Orchester Chor und Klavier:: +@end menu + +@node Orchester Chor und Klavier @appendixsubsec Orchester, Chor und Klavier +@translationof Orchestra choir and piano + @lilypondfile[verbatim,quote,ragged-right,texidoc] {orchestra,-choir-and-piano-template.ly} -@c bad node name to avoid node name conflict @node Vorlagen für alte Notation @appendixsec Vorlagen für alte Notation @translationof Ancient notation templates +@menu +* Transkription mensuraler Musik:: +* Vorlage zur Transkription von Gregorianik:: +@end menu + +@node Transkription mensuraler Musik @appendixsubsec Transkription mensuraler Musik +@translationof Transcription of mensural music + @lilypondfile[verbatim,quote,ragged-right,texidoc] {incipit.ly} - +@node Vorlage zur Transkription von Gregorianik @appendixsubsec Vorlage zur Transkription von Gregorianik +@translationof Gregorian transcription template @lilypondfile[verbatim,quote,ragged-right,texidoc] {ancient-notation-template----modern-transcription-of-gregorian-music.ly} + @node Andere Vorlagen @appendixsec Andere Vorlagen @translationof Other templates +@menu +* Jazz-Combo:: +@end menu +@node Jazz-Combo @appendixsubsec Jazz-Combo @translationof Jazz combo @@ -175,8 +567,9 @@ schönen Notenbild erfreuen! {jazz-combo-template.ly} -@ignore + +@ignore This isn't very useful, and only duplicates material in "global issues". And if this info changes, this section often gets forgotten. @@ -195,7 +588,7 @@ violin concerto as TchaikovskyPI, whereas perhaps you wish to print @ The `line-width' is for \header. @li lypond[quote,verbatim,ragged-right,line-width] -\version "2.16.0" +\version "2.19.2" \header { dedication = "dedication" title = "Title" @@ -241,5 +634,4 @@ violin concerto as TchaikovskyPI, whereas perhaps you wish to print } } @end lilypond - @end ignore diff --git a/Documentation/de/learning/tutorial.itely b/Documentation/de/learning/tutorial.itely index 2e5a69e66d..2df1136746 100644 --- a/Documentation/de/learning/tutorial.itely +++ b/Documentation/de/learning/tutorial.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*- @ignore - Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94 + Translation of GIT committish: 8819d7cb0ba2ab359e4aa2276695afb9c1957c42 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -11,11 +11,11 @@ @include included/generating-output.itexi @c \version "2.19.21" -@c Translators: Till Paala, Reinhold Kainhofer +@c Translators: Till Paala, Reinhold Kainhofer, Michael Gerdau @c Translation checkers: Hajo Bäß -@node Übung -@chapter Übung +@node Tutorium +@chapter Tutorium @translationof Tutorial Dieses Kapitel stellt dem Leser das grundlegende Arbeiten mit LilyPond @@ -23,14 +23,13 @@ vor. @menu * Eine Quelldatei übersetzen:: -* Arbeiten an Eingabe-Dateien:: -* Mit Fehlern umgehen:: -* Wie die Handbücher gelesen werden sollen:: +* Wie werden Eingabe-Dateien geschrieben:: +* Fehlerbehandlung:: +* Wie die Handbücher gelesen werden sollten:: @end menu - @node Eine Quelldatei übersetzen -@subsection Eine Quelldatei übersetzen +@section Eine Quelldatei übersetzen @translationof Compiling a file Dieser Abschnitt führt in die @qq{Kompilation} ein -- den @@ -57,8 +56,12 @@ haben) um eine Ausgabedatei zu erstellen. @cindex Großbuchstaben @cindex Kleinbuchstaben +@menu +* Ausgabe erzeugen:: +@end menu + @qq{Kompilation} ist der Begriff, der benutzt wird, um eine -Lilypond-Eingabedatei mit dem Programm LilyPond in eine +LilyPond-Eingabedatei mit dem Programm LilyPond in eine Notenausgabe umzuwandeln. Ausgabedateien sind in erster Linie PDF-Dateien (zum Anschauen und Drucken), MIDI (zum Abspielen) und PNG (für die Benutzung auf Internetseiten). Die Eingabedateien @@ -93,7 +96,7 @@ weggelassen werden. Es kann sein, dass in diesem Handbuch die Klammern in manchen Beispielen fehlen, aber man sollte immer daran denken, sie in den eigenen Dateien zu benutzen! Mehr Informationen zu der Darstellung der Beispiele in diesem -Handbuch gibt der Abschnitt @ref{Wie die Handbücher gelesen werden sollen}.} +Handbuch gibt der Abschnitt @ref{Wie die Handbücher gelesen werden sollten}.} Zusätzlich unterscheidet LilyPond @strong{Groß- und Kleinschreibung}. @w{@samp{ @{ c d e @}}} ist zulässiger Code, @@ -101,7 +104,9 @@ Zusätzlich unterscheidet LilyPond @strong{Groß- und Kleinschreibung}. @smallspace -@subheading Ansicht des Ergebnisses +@node Ausgabe erzeugen +@unnumberedsubsubsec Ausgabe erzeugen +@translationof Producing output @cindex PDF-Datei @cindex Noten anzeigen @@ -146,9 +151,6 @@ die auf dem System zur Verfügung stehen, untersucht. Aber nach diesem ersten Mal läuft LilyPond sehr viel schneller.} - - - @node MacOS X @subsection MacOS X @translationof MacOS X @@ -177,7 +179,6 @@ diesem ersten Mal läuft LilyPond sehr viel schneller.} @lilypadCommandLine - @node Wie werden Eingabe-Dateien geschrieben @section Wie werden Eingabe-Dateien geschrieben @translationof How to write input files @@ -191,7 +192,6 @@ bei den ersten Anfängen, eine LilyPond-Eingabedatei zu schreiben. @end menu - @node Einfache Notation @subsection Einfache Notation @translationof Simple notation @@ -199,6 +199,16 @@ bei den ersten Anfängen, eine LilyPond-Eingabedatei zu schreiben. @cindex einfache Notation @cindex Notation, einfach +@menu +* Tonhöhen:: +* Tondauern (Rhythmen):: +* Pausen:: +* Taktartangabe:: +* Tempobezeichnung:: +* Notenschlüssel:: +* Alles zusammen:: +@end menu + LilyPond fügt einige Bestandteile des Notenbildes automatisch hinzu. Im nächsten Beispiel sind nur vier Tonhöhen angegeben, aber LilyPond setzt trotzdem einen Schlüssel, eine Taktangabe und Notendauern. @@ -213,7 +223,10 @@ trotzdem einen Schlüssel, eine Taktangabe und Notendauern. Diese Einstellungen können verändert werden, aber in den meisten Fällen sind die automatischen Werte durchaus brauchbar. -@subheading Tonhöhen + +@node Tonhöhen +@unnumberedsubsubsec Tonhöhen +@translationof Pitches @cindex Tonhöhen @cindex relativer Modus @@ -232,16 +245,28 @@ Glossar: @rglos{pitch}, @rglos{interval}, @rglos{scale}, @rglos{middle C}, @rglos{octave}, @rglos{accidental}. +In LilyPond werden Tonhöhen generell mit Kleinbuchstaben eingegeben. +Die Buchstaben @code{c} bis@tie{}@code{b} bezeichnen Tonhöhen in der +@q{Oktave} unterhalb des @notation{mittleren C}. Das Anhängen von +@code{'} oder@tie{}@code{,} an die Noten markieren eine höhere oder +niedrigere Oktave. +Hier ist eine Tonleiter, beginnend auf dem @notation{mittleren C}, +gefolgt von einem Arpeggio: + +@lilypond[verbatim,quote] +{ c' d' e' f' g' a' b' c'' g c' e' g' c'' e'' g'' c''' } +@end lilypond + @c Addition for German users about pitch naming conventions -Die Tonhöhen werden mit Kleinbuchstaben eingegeben, die den Notennamen -entsprechen. Es ist jedoch wichtig zu wissen, dass LilyPond in seiner -Standardeinstellung die englischen Notennamen verwendet. Bis auf eine -Ausnahme entsprechen sie den deutschen, deshalb wird die Voreinstellung -von LilyPond für diese Übung beibehalten. Die @emph{Ausnahme} ist das h -- in -LilyPond muss man anstelle dessen b schreiben! Das deutsche b dagegen -wird als bes notiert, ein his dagegen würde bis geschrieben. Siehe auch -@ruser{Versetzungszeichen} und @ruser{Notenbezeichnungen in anderen Sprachen}, hier -wird beschrieben, +Wie oben beschrieben werden Tonhöhen werden mit Kleinbuchstaben eingegeben, +die den Notennamen entsprechen. Es ist jedoch wichtig zu wissen, dass +LilyPond in seiner Standardeinstellung die englischen Notennamen verwendet. +Bis auf eine Ausnahme entsprechen sie den deutschen, deshalb wird die +Voreinstellung von LilyPond für dieses Tutorium beibehalten. Die @emph{Ausnahme} +ist das h -- in LilyPond muss man anstelle dessen b schreiben! Das +deutsche b dagegen wird als bes notiert, ein his dagegen würde bis +geschrieben. Siehe auch @ruser{Versetzungszeichen} und +@ruser{Notenbezeichnungen in anderen Sprachen}, hier wird beschrieben, wie sich die deutschen Notennamen benutzen lassen. @c end addition @@ -254,9 +279,7 @@ Note gesetzt. Fangen wir unser erstes Notationsbeispiel mit einer @notation{Tonleiter} an, wo also die nächste Note immer nur eine Notenlinie über der vorherigen steht. -@c KEEP LY @lilypond[verbatim,quote] -% Beginnpunkt auf das mittlere C setzen \relative { c' d e f g a b c @@ -279,18 +302,15 @@ gebildet werden: @end lilypond @noindent -Es ist nicht notwendig, dass die erste Note der Melodie mit der -Note beginnt, die die erste Tonhöhe angibt. -Die erste Note (das @q{D}) des vorigen Beispiels ist das nächste D -vom eingestrichenen C aus gerechnet. +Die erste Note des vorherigen Beispiels -- das @code{d'} mit einem +angehängten @code{'} -- ist das D in der Oktave beginnend beim mittleren +C bis hin zum darüber liegenden H. Indem man Apostrophe @code{'} (Taste Shift+#) oder Kommata @code{,} -zu dem @w{@code{\relative c' @{}} hinzufügt oder entfernt, kann die -Oktave der ersten Tonhöhe verändert werden: +zur ersten Note hinzufügt (oder entfernt), kann die Oktave der ersten +Note verändert werden: -@c KEEP LY @lilypond[verbatim,quote] -% zweigestrichenes C \relative { e'' c a c } @@ -334,15 +354,17 @@ direkt hinter dem Notennamen wird die Oktave um eins erhöht, mit einem Komma @c @end lilypond @noindent -Um eine Notenhöhe um zwei (oder mehr!) Oktaven zu verändern, -werden sukzessive @code{''} oder @code{,,} benutzt -- es muss +Um eine Tonhöhe um zwei (oder mehr!) Oktaven zu verändern, +werden mehrfache @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! +@node Tondauern (Rhythmen) +@unnumberedsubsubsec Tondauern (Rhythmen) +@translationof Durations (rhythms) -@subheading Tondauern (Rhythmen) - -@cindex Notendauern +@cindex Tondauer +@cindex Notendauer @cindex Dauern @cindex Rhythmus @cindex Ganze Noten @@ -384,8 +406,9 @@ angegeben werden. } @end lilypond - -@subheading Pausen +@node Pausen +@unnumberedsubsubsec Pausen +@translationof Rests @cindex Pausen @cindex schreiben von Pausen @@ -402,7 +425,9 @@ Bezeichnung ist @code{r}@tie{}: @end lilypond -@subheading Taktangabe +@node Taktartangabe +@unnumberedsubsubsec Taktartangabe +@translationof Time signature @cindex Taktart @@ -411,8 +436,8 @@ Bezeichnung ist @code{r}@tie{}: Glossar: @rglos{time signature}. -Die @notation{Taktart} kann mit dem -@code{\time}-Befehl definiert werden: +Die @notation{Taktart} wird mit dem +@code{\time}-Befehl gesetzt: @lilypond[verbatim,quote] \relative { @@ -425,8 +450,9 @@ Die @notation{Taktart} kann mit dem } @end lilypond - -@subheading Tempobezeichnung +@node Tempobezeichnung +@unnumberedsubsubsec Tempobezeichnung +@translationof Tempo marks @cindex Tempobezeichnung @cindex Metronom-Angabe @@ -436,8 +462,8 @@ Die @notation{Taktart} kann mit dem Glossar: @rglos{tempo indication}, @rglos{metronome}. -Die @notation{Tempobezeichnung} und die @notation{Metronom-Angabe} können -mit dem @code{\tempo}-Befehl gesetzt werden: +Die @notation{Tempobezeichnung} und die @notation{Metronom-Angabe} werden +mit dem @code{\tempo}-Befehl gesetzt: @lilypond[verbatim,quote] \relative { @@ -454,7 +480,9 @@ mit dem @code{\tempo}-Befehl gesetzt werden: @end lilypond -@subheading Notenschlüssel +@node Notenschlüssel +@unnumberedsubsubsec Notenschlüssel +@translationof Clef @cindex Schlüssel @cindex Alt @@ -467,8 +495,8 @@ mit dem @code{\tempo}-Befehl gesetzt werden: Glossar: @rglos{clef}. -Der @notation{Notenschlüssel} kann mit dem @code{\clef}-Befehl -gesetzt werden: +Der @notation{Notenschlüssel} wird mit dem @code{\clef}-Befehl +gesetzt: @lilypond[verbatim,quote] \relative { @@ -484,7 +512,9 @@ gesetzt werden: @end lilypond -@subheading Alles zusammen +@node Alles zusammen +@unnumberedsubsubsec Alles zusammen +@translationof All together Hier ist ein kleines Beispiel, dass all diese Definitionen beinhaltet: @@ -520,21 +550,25 @@ Notationsreferenz: @ruser{Tonhöhen setzen}, @cindex Ausdrücke @cindex Großbuchstaben @cindex Kleinbuchstaben +@cindex Versionierung +@cindex Version +@cindex Versionsnummer +@funindex \version @funindex { ... } @funindex % @funindex %@{ ... %@} LilyPonds Quelldateien ähneln Dateien in den meisten -Programmiersprachen: Sie enthalten eine Versionsbezeichnung, +Programmiersprachen: Sie enthalten eine Versionsbezeichnung, es ist auf Groß- und Kleinschreibung -zu achten und Leerzeichen werden ignoriert. Ausdrücke werden -mit geschweiften Klammern @w{@code{@{ @}}} eingeklammert und Kommentare +zu achten und Leerzeichen werden ignoriert. Ausdrücke werden +mit geschweiften Klammern @w{@code{@{ @}}} eingeklammert und mit dem Prozentzeichen @code{%} auskommentiert oder mit @w{@code{%@{ @dots{} %@}}} umgeben. -Wenn das jetzt unverständlich erscheint, sind hier die Erklärungen: +Wenn das jetzt unverständlich erscheint, sind hier die Erklärungen: @itemize @item @@ -548,12 +582,12 @@ Beispiel: \version "@w{@version{}}" @end example -Üblicherweise wird die Versionsbezeichnung oben in die Datei +Üblicherweise wird die Versionsbezeichnung ganz oben in die Datei geschrieben. -Die Versionsbezeichnung ist aus zwei Gründen sehr wichtig: 1. kann +Die Versionsbezeichnung ist aus zwei Gründen wichtig: 1. kann man mit ihrer Hilfe automatische Aktualisierungen der Eingabedateien -vornehmen, wenn sich die LilyPond-Syntax ändern sollte. 2. wird +vornehmen, wenn sich die LilyPond-Syntax ändern sollte. 2. wird hier die Version von LilyPond beschrieben, die nötig ist, um die Datei zu kompilieren. @@ -591,7 +625,7 @@ Leerzeichen @emph{sind} jedoch nötig, um viele syntaktische Elemente voneinander zu trennen. Leerzeichen können also immer @emph{hinzugefügt} werden, aber sie dürfen nicht @emph{entfernt} werden. Da fehlende Leerzeichen sehr seltsame Fehlermeldungen hervorrufen können, wird -es nahe gelegt, immer ein Leerzeichen vor und nach jedem syntaktischen +es nahe gelegt, immer ein Leerzeichen vor und nach jedem syntaktischen Element, etwa vor und nach geschweiften Klammern, einzufügen. @item @strong{Ausdrücke:} @@ -654,31 +688,31 @@ mögliche Anwendung von Kommentaren: @end itemize -@node Mit Fehlern umgehen -@section Mit Fehlern umgehen +@node Fehlerbehandlung +@section Fehlerbehandlung @translationof Dealing with errors -@cindex Fehlerlösung +@cindex Fehlerbehandlung -Manchmal erstellt LlilyPond nicht das Notenbild, das Sie erwarten. Dieser +Manchmal erstellt LilyPond 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:: +* Allgemeine Fehlerbehandlungstipps:: * Einige häufige Fehler:: @end menu -@node Allgemeine Fehlerlösungstipps -@subsection Allgemeine Fehlerlösungstipps +@node Allgemeine Fehlerbehandlungstipps +@subsection Allgemeine Fehlerbehandlungstipps @translationof General troubleshooting tips -Fehlerlösung für LilyPond-Probleme kann eine große Herausforderung für Menschen +Fehlerbehandlung 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 +und zu Lösen. Einige Richtlinien, wie Sie diese Problemlösung erlernen können, finden sich in @rprogram{Troubleshooting}. @@ -695,12 +729,12 @@ Fehlermeldungen der Log-Datei hat. Sie werden näher erklärt in -@node Wie die Handbücher gelesen werden sollen -@section Wie die Handbücher gelesen werden sollen +@node Wie die Handbücher gelesen werden sollten +@section Wie die Handbücher gelesen werden sollten @translationof How to read the manuals -Dieser Abschnitt zeigt, wie die Dokumentation effizient gelesen -werden kann und erklärt auch einige nützliche Interaktionseigenschaften +Dieser Abschnitt erklärt, wie die Dokumentation effizient gelesen +werden kann und behandelt auch einige nützliche Interaktionseigenschaften der Online-Version. @menu @@ -714,6 +748,7 @@ der Online-Version. @subsection Ausgelassenes Material @translationof Omitted material + @cindex Handbuch, Lesen @cindex Wie soll das Handbuch gelesen werden @cindex Lesen des Handbuchs @@ -726,39 +761,23 @@ der Online-Version. @cindex Hinweise zur Konstruktion von Dateien 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}. +@q{@w{@code{@bs{}relative @{ @dots{} @}}}} umgeben sein, wie +in @ref{Arbeiten an Eingabe-Dateien} gezeigt. 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 -@w{@code{@bs{}relative c'' @{ @dots{} @}}} einfügen, wie hier gezeigt: +Quellcode kopieren und in eine Textdatei zwischen @code{@{} +und @code{@}} einfügen. @example -\relative c'' @{ +@{ @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 -@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 @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 -Noten zu einer schon bestehenden Datei irgendwo in der Mitte -hinzufügen, deshalb wurde der relative Modus für die Beispiele -im Handbuch weggelassen. - Denken Sie auch daran, dass jede LilyPond-Datei eine Versionsbezeichnung 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 +die Versionsbezeichnung. Sie sollten sie aber immer in Ihre eigenen Dateien einfügen. @@ -793,6 +812,7 @@ cut-&-pastable section} bis ganz zum Ende der Datei. @ignore +This is item 825 @n ode Navigation mit der Tastatur @s ubsection Navigation mit der Tastatur @@ -823,7 +843,7 @@ fallen, spätere Abschnitte zu verstehen.} @item @strong{Bevor Sie @emph{irgendetwas} ausprobieren}: Lesen Sie die -Abschnitte @ref{Übung} und @ref{Übliche Notation}. Wenn +Abschnitte @ref{Tutorium} und @ref{Übliche Notation}. Wenn Sie auf musikalische Fachbegriffen stoßen, die Sie nicht kennen, schauen Sie diese im @rglosnamed{Top, Glossar} nach. @@ -836,7 +856,7 @@ in der @item @strong{Bevor Sie versuchen, die Standardnotation zu verändern}: -Lesen Sie @ref{Die Ausgabe verändern} im Handbuch zum Lernen. +Lesen Sie @ref{Die Ausgabe verbessern} im Handbuch zum Lernen. @item @strong{Bevor Sie sich an ein größeres Projekt machen}: Lesen @@ -845,4 +865,3 @@ Sie den Abschnitt in der Programmbenutzung. @end itemize - diff --git a/Documentation/de/learning/tweaks.itely b/Documentation/de/learning/tweaks.itely index 6dae44d447..953986ba5b 100644 --- a/Documentation/de/learning/tweaks.itely +++ b/Documentation/de/learning/tweaks.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*- @ignore - Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94 + Translation of GIT committish: 8819d7cb0ba2ab359e4aa2276695afb9c1957c42 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -9,9 +9,10 @@ @end ignore @c \version "2.19.22" +@c Translators: ???, Michael Gerdau -@node Die Ausgabe verändern -@chapter Die Ausgabe verändern +@node Die Ausgabe verbessern +@chapter Die Ausgabe verbessern @translationof Tweaking output In diesem Kapitel wird erklärt, wie man die Notenausgabe verändern @@ -24,11 +25,11 @@ Notenfragment kann geändert werden. * Die Referenz der Programminterna:: * Erscheinung von Objekten:: * Positionierung von Objekten:: +* Vertikale Abstände:: * Kollision von Objekten:: * Weitere Optimierungen:: @end menu - @node Grundlagen für die Optimierung @section Grundlagen für die Optimierung @translationof Tweaking basics @@ -84,7 +85,7 @@ von Optimierungen verstehen zu können. @cindex Eigenschaften von Objekten Optimierung bedeutet, die internen Operationen und Strukturen -des LilyPond-Programmes zu verändern, darum sollen hier +des LilyPond-Programms zu verändern, darum sollen hier zunächst die wichtigsten Begriffe erklärt werden, die zur Beschreibung dieser Operationen und Strukturen benutzt werden. @@ -99,7 +100,7 @@ spezifische Angaben über die Engraver, die innerhalb dieses Systems eingesetzt werden. Für alle anderen Kontexte gibt es genauso Objekte, die deren Eigenschaften beinhalten, beispielsweise für @code{Voice}-Objekte, @code{Score}-Objekte, @code{Lyrics}-Objekte, -aber auch für Objekte, die Notationselemente wie die Taktlinien, +aber auch für Objekte, die Notationselemente wie die Taktstriche, Notenköpfe, Bögen und Dynamikbezeichnung enthalten. Jedes Objekt hat eine eigene Gruppe an Eigenschaftswerten. @@ -114,12 +115,20 @@ Farbe usw. Einige Layout-Objekte sind etwas spezieller. Phrasierungsbögen, Crescendo-Klammern, Oktavierungszeichen und viele andere -Grobs sind nicht an einer Stelle plaziert -- sie haben vielmehr +Grobs sind nicht an einer Stelle platziert -- sie haben vielmehr einen Anfangspunkt, einen Endpunkt und eventuell noch andere Eigenschaften, die ihre Form bestimmen. Objekte mit solch einer erweiterten Gestalt werden als @qq{Strecker} (engl. Spanners) bezeichnet. +Darüber hinaus gibt es @q{abstrakte} Grobs, die selbst keinen Ausdruck +irgendwelcher Art erzeugen. Vielmehr sammeln sie, positionieren oder +verwalten andere Grobs. Typische Beispiele hierfür sind +@code{DynamicLineSpanner}, @code{BreakAlignment}, +@code{NoteColumn}, @code{VerticalAxisGroup}, +@code{NonMusicalPaperColumn} und Ähnliche. Wir werden uns später +mit einigen von ihnen noch näher befassen. + Es bleibt uns noch übrig zu erklären, was @qq{Schnittstellen} (engl. interface) sind. Wenn auch viele Objekte sehr unterschiedlich sind, haben sie doch oft gemeinsame Eigenschaften, die auf @@ -186,16 +195,29 @@ Zeichen werden explizit angegeben. Es wird bald ersichtlich werden, dass die Eigenschaften von unterschiedlichen Objekttypen mit unterschiedlichen Befehlen -geändert werden. Deshalb ist es nützlich, aus der -Schreibweise zu erkennen, um was -für ein Objekt es sich handelt, um den entsprechenden -Befehl einsetzen zu können. +geändert werden. Deshalb ist es nützlich, bereits am Namen +den Typ und die Eigenschaften eines Objekts zu erkennen. @node Optimierungsmethoden @subsection Optimierungsmethoden @translationof Tweaking methods +@cindex Optimierungsmethoden + +@menu +* Der override-Befehl:: +* Der revert-Befehl:: +* Der once-Präfix:: +* Der overrideProperty-Befehl:: +* Der tweak-Befehl:: +* Der single-Präfix:: +@end menu + +@node Der override-Befehl +@unnumberedsubsubsec Der @code{@bs{}override}-Befehl +@translationof The override command + @cindex override-Befehl @funindex \override @funindex override @@ -222,8 +244,7 @@ uns an, wie das vor sich geht. Die allgemeine Syntax dieses Befehles ist: @example -\override @var{Kontext}.@var{LayoutObjekt} #'@var{layout-eigenschaft} = -#@var{Wert} +\override @var{Kontext}.@var{LayoutObjekt}.@var{layout-eigenschaft} = #@var{Wert} @end example @noindent @@ -235,23 +256,29 @@ Wert @var{value}. Der @var{Kontext} kann (und wird auch normalerweise) ausgelassen werden, wenn der benötigte Kontext eindeutig impliziert ist und einer der untersten Kontexte ist, also etwa @code{Voice}, @code{ChordNames} -oder @code{Lyrics}. Auch in diesem Text wird der Kontext oft ausgelassen -werden. Später soll gezeigt werden, in welchen Fällen er ausdrücklich +oder @code{Lyrics}. Auch in diesem Text wird der Kontext oft ausgelassen +werden. Später soll gezeigt werden, in welchen Fällen er ausdrücklich definiert werden muss. Spätere Abschnitte behandeln umfassend Eigenschaften und ihre -Werte, siehe @ref{Typen von Eigenschaften}. Aber um ihre Funktion und ihr +Werte, siehe @ref{Typen von Eigenschaften}. Aber um ihre Funktion und ihr Format zu demonstrieren, werden wir hier nur einige einfache Eigenschaften und Werte einsetzen, die einfach zu verstehen sind. -Für den Moment könne Sie die @code{#'}-Zeichen ignorieren, die vor jeder -Layout-Eigenschaft, und die @code{#}-Zeichen, die vor jedem Wert -stehen. Sie müssen immer in genau dieser Form geschrieben werden. -Das ist der am häufigsten gebrauchte Befehl für die Optimierung, -und der größte Teil dieses Abschnittes wird dazu benutzt, seine Benutzung -zu erläutern. Hier ein einfaches Beispiel, um die Farbe des Notenkopfes -zu ändern: +LilyPond's hauptsächliche Ausdrücke sind musikalische Dinge wie Noten, +Notendauern und Markierungen. Diesen zugrunde liegende Ausdrücke wie +Zahlen, Zeichenketten und Listen werden im @q{Scheme Modus} verarbeitet. +Der Präfix @samp{#} leitet diesen Modus ein. Einige dieser Werte haben +manchmal eine gültige Repräsentation in LilyPond's Musik Modus, in diesem +Handbuch werden wir aus Gründen der Einheitlichkeit immer das @samp{#} +für ihre Eingabe verwenden. Weiterführende Informationen zu LilyPond's +Scheme mode finden sie unter @rextend{LilyPond Scheme-Syntax}. + +@code{\override} ist der bei Optimierungen am häufigsten verwendete Befehl. +Daher wird der Rest dieses Kapitels im Wesentlichen aus Anwendungsbeispielen +dieses Befehls bestehen. Hier kommt gleich ein einfaches Beispiel +zur Änderung der Farbe von Notenköpfen: @cindex color-Eigenschaft, Beispiel @cindex Farb-Eigenschaft, Beispiel @@ -269,9 +296,12 @@ zu ändern: @end lilypond -@strong{Der \revert-Befehl} +@node Der revert-Befehl +@unnumberedsubsubsec Der @code{@bs{}revert}-Befehl +@translationof The revert command @cindex revert-Befehl + @funindex \revert @funindex revert @@ -284,7 +314,7 @@ jedoch auf den vorigen Wert, wenn mehrere @code{\override}-Befehle benutzt wurden. @example -\revert @var{Kontext}.@var{LayoutObjekt} #'@var{layout-eigenschaft} +\revert @var{Kontext}.@var{LayoutObjekt}.@var{layout-eigenschaft} @end example Wiederum, genauso wie der @var{Kontext} bei dem @code{\override}-Befehl, @@ -309,7 +339,10 @@ wieder auf den Standardwert für die letzten zwei Noten gesetzt. } @end lilypond -@strong{\once-Präfix} + +@node Der once-Präfix +@unnumberedsubsubsec Der @code{@bs{}once}-Präfix +@translationof The once prefix @funindex \once @funindex once @@ -328,18 +361,42 @@ geändert werden: @cindex NoteHead, Beispiel für override @cindex Notenkopf, Beispiel für Veränderung -@lilypond[quote,fragment,ragged-right,verbatim,relative=1] -c4 d -\override NoteHead.color = #red -e4 f | -\once \override NoteHead.color = #green -g4 a -\revert NoteHead.color -b c | +@lilypond[quote,verbatim] +\relative { + c'4 d + \override NoteHead.color = #red + e4 f | + \once \override NoteHead.color = #green + g4 a + \revert NoteHead.color + b c | +} +@end lilypond + +Der @code{\once} Präfix eignet sich also dazu, die Geltungsdauer eines +anderen vordefinierten Befehls, dem er vorangestellt ist, auf ein +einziges musikalisches Ereignis zu beschränken: + +@lilypond[quote,verbatim] +\relative { + c'4( d) + \once \slurDashed + e4( f) | + g4( a) + \once \hideNotes + b( c) | +} @end lilypond +Allerdings funktioniert das nicht bei vordefinierten Befehlen wie +@code{\@dots{}Neutral}, @code{\@dots{}Off} oder @code{\un@dots{}}, weil +diese intern @code{\revert} verwenden und nicht @code{\override}, sodass +ein @code{\once} Präfix hier keine Auswirkungen hat. + -@strong{Der \overrideProperty-Befehl} +@node Der overrideProperty-Befehl +@unnumberedsubsubsec Der @code{@bs{}overrideProperty}-Befehl +@translationof The overrideProperty command @cindex overrideProperty-Befehl @@ -354,16 +411,19 @@ in @rextend{Schwierige Korrekturen}. @c Maybe explain in a later iteration -td -@strong{Der \tweak-Befehl} +@node Der tweak-Befehl +@unnumberedsubsubsec Der @code{@bs{}tweak}-Befehl +@translationof The tweak command @cindex tweak-Befehl + @funindex \tweak @funindex tweak Der letzte Optimierungsbefehl in LilyPond ist @code{\tweak} (engl. optimieren). Er wird eingesetzt um Eigenschaften nur eines Objektes von mehreren Objekten zu verändern, -die zum selben Musik-Moment +die zum selben Musik-Zeitpunkt 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 @@ -423,7 +483,7 @@ kein Gleichheitszeichen vorhanden sein. Die verallgemeinerte Syntax des @code{\tweak}-Befehls ist also @example -\tweak #'@var{layout-eigenschaft} #@var{Wert} +\tweak @var{layout-eigenschaft} #@var{Wert} @end example Ein @code{\tweak}-Befehl kann auch benutzt werden, um nur @@ -455,16 +515,16 @@ mit solchen indirekt erstelltn Objekten zu verwenden, indem man die Layout-Objekte direkt benennt, vorausgesetzt dass LilyPond ihre Herkunft bis zu dem ursprünglichen Ereignis zurück verfolgen kann: -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] -<\tweak Accidental.color #red cis4 - \tweak Accidental.color #green es - g> +@lilypond[quote,fragment,ragged-right,verbatim] +<\tweak Accidental.color #red cis''4 + \tweak Accidental.color #green es'' + g''> @end lilypond Diese Langform des @code{\tweak}-Befehls kann wie folgend beschrieben werden: @example -\tweak @var{layout-object} #'@var{layout-property} @var{value} +\tweak @var{layout-object}.@var{layout-property} @var{value} @end example @cindex Triolen, geschachtelt @@ -473,6 +533,7 @@ Diese Langform des @code{\tweak}-Befehls kann wie folgend beschrieben werden: @cindex Triolenklammer @cindex N-tolenklammer @cindex Komplizierte Rhythmen, Schachtelung von + @funindex TupletBracket Der @code{\tweak}-Befehl muss auch benutzt werden, wenn das @@ -482,7 +543,7 @@ Im folgenden Beispiel beginnen die lange Klammer und die erste Triolenklammer zum selben Zeitpunkt, sodass ein @code{\override}-Befehl sich auf beide beziehen würde. In dem Beispiel wird @code{\tweak} benutzt, um zwischen -ihnen zu unterscheiden. Der erste @code{\tweak}Befehl +ihnen zu unterscheiden. Der erste @code{\tweak}Befehl gibt an, dass die lange Klammer über den Noten gesetzt werden soll, und der zweite, dass die Zahl der rhythmischen Aufteilung für die erste der kurzen Klammern in rot @@ -538,11 +599,70 @@ beginnen, kann ihr Aussehen auf die übliche Art mit dem Notationsreferenz: @ruser{Der tweak-Befehl}. +@node Der single-Präfix +@unnumberedsubsubsec Der @code{@bs{}single}-Präfix +@translationof The single prefix + +@funindex \single +@cindex tweak, von override erzeugt + +Nehmen wir einmal an, wir möchten bestimmte Noten betonen, indem wir ihre +Köpfe rot einfärben und sie außerdem vergrößern. Damit das einfach zu +machen ist nehmen wir ferner an, wir hätten dafür eine Funktion definiert: + +@lilypond[quote,verbatim] +emphNoteHead = { + \override NoteHead.color = #red + \override NoteHead.font-size = 2 +} +\relative { + c''4 a \once \emphNoteHead f d | +} +@end lilypond + +Der @code{\once} Präfix funktioniert wunderbar, wenn es darum geht einzelne +Noten oder ganze Akkorde zu betonen, jedoch versagt er, gilt es eine einzelne +Note @emph{innerhalb} eines Akkordes zu betonen. Wir haben schon gesehen, +wie @code{\tweak} dennoch dazu gebracht werden kann, siehe +@ref{Der tweak-Befehl,,Der @code{@bs{}tweak}-Befehl}. Aber +@code{\tweak} kann nicht auf eine Funktion angewandt werden; hier +kommt @code{\single} ins Spiel: + +@lilypond[quote,verbatim] +emphNoteHead = { + \override NoteHead.color = #red + \override NoteHead.font-size = 2 +} +\relative { + 4 +} +@end lilypond + +Zusammenfassend kann man sagen, @code{\single} wandelt overrides in tweaks +sodass bei mehreren zeitgleichen musiklaischen Objekten (wie die Notenköpfe +eines Akkords), man mit @code{\single} lediglich ein einzelnes Objekt +beeinflusst, nämlich dasjenige, was im direkt folgenden musikalischen +Ausdruck steckt. Das ist anders, als @code{\once}, welches alle diese +Objekte beträfe. + +Man kann so @code{\single} dafür verwenden, jede kleine Funktion, die +lediglich overrides enthält auf einzelne Noten innerhalb eines Akkords +anzuwenden. Es sei jedoch darauf hingewiesen, @code{\single} wandelt +weder @code{\revert}, noch noch @code{\set} oder @code{\unset} in tweaks. + +@seealso +Handbuch zum Lernen: +@ref{Der tweak-Befehl,,Der @code{@bs{}tweak}-Befehl}, +@ref{Variablen für Layout Anpassungen einsetzen}. + @node Die Referenz der Programminterna @section Die Referenz der Programminterna @translationof The Internals Reference manual +@cindex Referenz der Programminterna +@cindex Programminterna, Referenz + @menu * Eigenschaften von Layoutobjekten:: * Eigenschaften die Schnittstellen besitzen können:: @@ -630,7 +750,7 @@ auf der LilyPond-Webseite unter der Adresse @uref{http://lilypond.org}. Gehen Sie zur Dokumentationsseite und klicken Sie auf den Link zur Referenz der Interna. @c Addition for German users -Die Sprache ändert sich ab hier nach englisch. Für diese Übung +Die Sprache ändert sich ab hier nach englisch. Für diese Übung sollten Sie die HTML-Version benutzen, nicht die @qq{auf einer großen Seite} oder die PDF-Version. Damit Sie die nächsten Absätze verstehen können, müssen Sie @@ -638,26 +758,25 @@ genauso vorgehen, während Sie weiterlesen. Unter der Überschrift @strong{Top} befinden sich fünf Links. Wählen Sie den Link zum @emph{Backend}, wo sich die Information -über Layout-Objekte befindet. Hier, unter der Überschrift +über Layout-Objekte befindet. Hier, unter der Überschrift @strong{Backend}, wählen Sie den Link @emph{All layout objects}. Die Seite, die sich öffnet, enthält ein Liste aller Layout-Objekte, -die in Ihrerer LilyPond-Version benutzt werden, in alphabetischer +die in Ihrer LilyPond-Version benutzt werden, in alphabetischer Ordnung. Wählen Sie den Link @emph{Slur} und die Eigenschaften der Legatobögen (engl. slur) werden aufgelistet. Eine alternative Methode, auf diese Seite zu gelangen, ist von -der Notationsreferenz aus. Auf einer der Seiten zu Legatobögen -findet sich ein Link zur Referenz der Interna. Dieser Link führt -Sie direkt auf diese Seite. Wenn Sie aber eine Ahnung haben, +der Notationsreferenz aus. Auf einer der Seiten zu Legatobögen +findet sich ein Link zur Referenz der Interna. Dieser Link führt +Sie direkt auf diese Seite. Wenn Sie aber eine Ahnung haben, wie die Bezeichnung des Layout-Objektes lauten könnte, das sie ändern wollen, ist es oft schneller, direkt zur IR zu gehen und dort nachzuschlagen. -Aus der Slur-Seite in der IR könne wir entnehmen, dass +Der Slur-Seite in der IR können wir entnehmen, dass Legatobögen (Slur-Objekte) durch den Slur_engraver erstellt -werden. Dann werden die Standardeinstellungen aufgelistet. -Beachten Sie, dass diese @strong{nicht} in alphabetischer Reihenfolge -geordnet sind. Schauen Sie sich die Liste an, ob sie eine Eigenschaft +werden. Dann werden die Standardeinstellungen aufgelistet. +Schauen Sie sich die Liste an, ob sie eine Eigenschaft enthält, mit der die Dicke von Legatobögen kontrolliert werden kann. Sie sollten folgendes finden: @@ -692,9 +811,7 @@ Befehl auch funktioniert. Also: \override Slur.thickness = #5.0 @end example -Vergessen Sie nicht das Rautenzeichen und Apostroph -(@code{#'}) vor der Eigenschaftsbezeichnung und das -Rautenzeichen vor dem neuen Wert! +Vergessen Sie nicht das@tie{}@code{#} vor dem neuen Wert! Die nächste Frage ist nun: @qq{Wohin soll dieser Befehl geschrieben werden?} Solange wir uns noch im Lernstadium befinden, ist @@ -733,8 +850,7 @@ eigenen Befehle zu konstruieren -- wenn Sie auch noch etwas Übung benötigen. Die sollen Sie durch die folgenden Übungen erhalten. - -@subheading Den Kontext finden +@subsubsubheading Den Kontext finden @cindex Kontext, Finden und identifizieren @@ -757,11 +873,11 @@ der untersten Ebene ist, welcher eindeutig schon dadurch definiert ist, dass wir Noten eingeben, kann er an dieser Stelle auch weggelassen werden. - -@subheading Nur einmal mit \override verändern +@subsubsubheading Nur einmal mit \override verändern @cindex Override nur einmal @cindex once override + @funindex \once @funindex once @@ -779,12 +895,12 @@ muss also wie folgt positioniert werden: @cindex Legatobogen, Beispiel zur Veränderung @cindex thickness-Eigenschaft, Beispiel -@lilypond[quote,verbatim,relative=2] +@lilypond[quote,verbatim] { + \key es \major \time 6/8 - { - \key es \major - r4 bes8 + \relative { + r4 bes'8 % Increase thickness of immediately following slur only \once \override Slur.thickness = #5.0 bes8[( g]) g | @@ -803,13 +919,13 @@ Jetzt bezieht er sich nur noch auf den ersten Legatobogen. Der @code{\once}-Befehl kann übrigens auch vor einem @code{\set}-Befehl eingesetzt werden. - -@subheading Rückgängig machen +@subsubsubheading Rückgängig machen @cindex Revert @cindex Rückgängig machen @cindex Wiederherstellen von Standardeinstellungen @cindex Standardeinstellungen, Wiederherstellen + @funindex \revert @funindex revert @@ -943,25 +1059,20 @@ die auch das @code{font-interface} unterstützen, setzen diese Eigenschaften anders, wenn sie erstellt werden. Versuchen wir nun einen @code{\override}-Befehl zu konstruieren, -der den Gesangstext kursiv setzt. Das Objekt hat die Bezeichnung +der den Gesangstext kursiv setzt. Das Objekt hat die Bezeichnung @code{LyricText}, die Eigenschaft ist @code{font-shape} -und der Wert @code{italic}. Wie vorher schon lassen wir den +und der Wert @code{italic}. Wie vorher schon lassen wir den Kontext aus. -Am Rande sei angemerkt, dass die Werte der @code{font-shape}-Eigenschaft -mit einem Apostroph (@code{'}) gekennzeichnet werden -müssen, weil es sich um Symbole handelt. Aus dem gleichen -Grund mussten auch für @code{thickness} weiter oben im -Text ein Apostroph gesetzt werden. Symbole sind besondere -Bezeichnungen, die LilyPond intern bekannt sind. Einige -sind Bezeichnungen von Eigenschaften, wie eben @code{thickness} -oder @code{font-shape}. Andere sind besondere Werte, -die an Eigenschaften übergeben werden können, wie -@code{italic}. Im Unterschied hierzu gibt es auch beliebige +Am Rande sei auf das wichtige Detail hingewiesen, dass die Werte für +manche Eigenschaften Symbole sind, wie z.B. @code{italic} und dass +diese mit einem Apostroph (@code{'}) gekennzeichnet werden müssen. +Symbole sind besondere Bezeichnungen, die LilyPond intern +bekannt sind. Im Unterschied hierzu gibt es auch beliebige Zeichenketten, die immer mit Anführungszeichen, also als @code{"Zeichenkette"} auftreten. Für weitere Einzelheiten zu Zeichenketten und Werten, siehe -@rextend{Scheme-Übung}. +@rextend{Scheme-Tutorium}. Gut, der @code{\override}-Befehl, mit dem der Gesangstext kursiv gesetzt wird, lautet: @@ -998,42 +1109,13 @@ bezieht, etwa so: @noindent Jetzt wird der Text kursiv gesetzt. - -@subheading Den Kontext im Liedtextmodus bestimmen - - -@cindex Kontext im Gesangstextmodus angeben -@cindex Gesangstextmodus, Kontext angeben - -Bei Gesangstexten funktioniert der @code{\override}-Befehl -nicht mehr, wenn Sie den Kontext im oben dargestellten -Format angeben. Eine Silbe wird im Gesangtextmodus -(lyricmode) entweder von einem Leerzeichen, einer -neuen Zeile oder einer Zahl beendet. Alle anderen -Zeichen werden als Teil der Silbe integriert. Aus diesem -Grund muss auch vor der schließenden Klammer -@code{@}} ein Leerzeichen gesetzt oder eine neue -Zeile begonnen werden. Genauso müssen Leerzeichen -vor und nach einem Punkt benutzt werden, um die -Kontext-Bezeichnung von der Objekt-Bezeichnung zu -trennen, denn sonst würden beide Bezeichnungen als -ein Begriff interpretiert und von LilyPond nicht verstanden -werden. Der Befehl muss also lauten: - -@example -\override Lyrics.LyricText.font-shape = #'italic -@end example - @warning{Innerhalb von Gesangstext muss immer ein Leerzeichen zwischen der letzten Silbe und der schließenden Klammer gesetzt werden.} -@warning{Innerhalb von @code{\override}-Befehlen in -Gesangstexten müssen Leerzeichen um Punkte zwischen -Kontext- und Objektbezeichnungen gesetzt werden.} @seealso -Erweitern: @rextend{Scheme-Übung}. +Erweitern: @rextend{Scheme-Tutorium}. @node Typen von Eigenschaften @@ -1052,7 +1134,11 @@ angegeben. Hier eine Liste der Typen, die Sie vielleicht benötigen werden, mit den Regeln, die für den jeweiligen Typ gelten und einigen Beispielen. Sie müssen immer ein Rautenzeichen (@code{#}) vor den Typeintrag setzen, -wenn sie in einem @code{\override}-Befehl benutzt werden. +wenn sie in einem @code{\override}-Befehl benutzt werden, +auch dann, wenn der Wert selbst bereits mit@tie{}@code{#} +anfängt. Alle Beispiele verwenden ausschließlich Konstanten. +Für die Verwendungen von mit Scheme berechneten Werten siehe +@rextend{Berechnungen in Scheme}. @multitable @columnfractions .2 .45 .35 @headitem Eigenschaftstyp @@ -1062,23 +1148,24 @@ wenn sie in einem @code{\override}-Befehl benutzt werden. @tab Entweder wahr oder falsch, dargestellt als @code{#t} oder @code{#f} @tab @code{#t}, @code{#f} @item Dimension (in Notenlinienabständen) - @tab Eine positive Dezimalzahl (in Notenlinienabstand-Einheiten) + @tab Eine Dezimalzahl (in Notenlinienabstand-Einheiten) @tab @code{2.5}, @code{0.34} @item Richtung @tab Eine gültige Richtungskonstante oder das numerische Äquivalent + (@code{0} or @code{CENTER} bezeichnen eine neutrale Richtung) @tab @code{LEFT}, @code{CENTER}, @code{UP}, @code{1}, @w{@code{-1}} @item Integer - @tab Eine positive ganze Zahl - @tab @code{3}, @code{1} + @tab Eine ganze Zahl + @tab @code{3}, @code{-1} @item Liste - @tab Eine eingeklammerte Liste von Einträgen, angeführt von einem Apostroph; + @tab Eine Folge von Konstanten oder Symbolen in Klammern, angeführt von einem Apostroph; Einträge durch Leerzeichen voneinander getrennt - @tab @code{'(left-edge staff-bar)}, @code{'(1)}, + @tab @code{'(left-edge staff-bar)}, @code{'(1)}, @code{'()}, @code{'(1.0 0.25 0.5)} @item Textbeschriftung (markup) @tab Beliebige gültige Beschriftung - @tab @code{\markup @{ \italic "cresc." @}} + @tab @code{\markup @{ \italic "cresc." @}}, @code{"bagpipe"} @item Moment @tab Ein Bruch einer ganzen Note, mit der make-moment-Funktion konstruiert @@ -1086,7 +1173,7 @@ wenn sie in einem @code{\override}-Befehl benutzt werden. @code{(ly:make-moment 3/8)} @item Zahl @tab Eine beliebige positive oder negative Dezimalzahl - @tab @code{3.5}, @w{@code{-2.45}} + @tab @code{3}, @w{@code{-2.45}} @item Paar (Zahlenpaar) @tab Zwei Zahlen getrennt durch @qq{Leerzeichen . Leerzeichen}, eingeklammert und angeführt von einem Apostroph @@ -1107,7 +1194,7 @@ wenn sie in einem @code{\override}-Befehl benutzt werden. @seealso -Erweitern: @rextend{Scheme-Übung}. +Erweitern: @rextend{Scheme-Tutorium}. @node Erscheinung von Objekten @@ -1133,8 +1220,8 @@ In Unterrichtsmaterial für den Musikunterricht wird oft eine Partitur dargestellt, in der bestimmte Notationselemente fehlen, so dass der Schüler die Aufgabe bekommt, die nachzutragen. Ein einfaches Beispiel ist etwa, die -Taktlinien zu entfernen, damit der Schüler sie selber zeichnen -kann. Aber die Tatklinien werden normalerweise automatisch +Taktstriche zu entfernen, damit der Schüler sie selber zeichnen +kann. Aber die Taktstriche werden normalerweise automatisch eingefügt. Wie verhindern wir, dass sie ausgegeben werden? Bevor wir uns hieran machen, sei daran erinnert, dass @@ -1154,26 +1241,35 @@ Schnittstelle geöffnet wird. Zu Information, wie man Eigenschaften von Grobs findet, siehe @ref{Eigenschaften von Layoutobjekten}. Wir benutzen also jetzt die selbe Methode um in der IR das Layout-Objekt zu finden, -dass für die Tatklinien zuständig ist. Über die Überschriften +dass für die Taktstriche zuständig ist. Über die Überschriften @emph{Backend} und @emph{All layout objects} kommen wir zu einem Layout-Objekt mit der Bezeichnung -@code{BarLine} (engl. TaktLinie). Seine Eigenschaften +@code{BarLine} (engl. Taktstrich). Seine Eigenschaften beinhalten zwei, die über die Sichtbarkeit entscheiden: @code{break-visibility} und @code{stencil}. @code{BarLine} unterstützt auch einige Schnittstellen, unter anderem @code{grob-interface}, wo wir eine @code{transparent} und eine @code{color}-Eigenschaft -finden. Alle können die Sichtbarkeit von Taktlinien (und +finden. Alle können die Sichtbarkeit von Taktstriche (und natürlich auch die Sichtbarkeit von vielen anderen Objekten) beeinflussen. Schauen wir uns diese Eigenschaften eine nach der anderen an. -@subheading stencil (Matrize) +@menu +* Die stencil-Eigenschaft:: +* Die break-visibility-Eigenschaft:: +* Die transparent-Eigenschaft:: +* Die color-Eigenschaft:: +@end menu + +@node Die stencil-Eigenschaft +@unnumberedsubsubsec Die @code{stencil}-Eigenschaft (Matrize) +@translationof The stencil property @cindex Stencil-Eigenschaft @cindex Matrizen-Eigenschaft -Diese Eigenschaft kontrolliert die Erscheinung der Taktlinien, +Diese Eigenschaft kontrolliert die Erscheinung der Taktstriche, indem sie das Symbol bestimmt, das ausgegeben werden soll. Wie bei vielen anderen Eigenschaften auch, kann sie so eingestellt werden, dass sie nichts ausgibt, indem ihr Wert @@ -1181,20 +1277,20 @@ auf @code{#f} (falsch) gesetzt wird. Ein Versuch also, wie vorher, indem wir den impliziten Kontext (@code{Voice}) auslassen: -@cindex Taktlinie, Beispiel zur Veränderung +@cindex Taktstrich, Beispiel zur Veränderung @cindex stencil-Eigenschaft, Beispiel -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] -{ +@lilypond[quote,ragged-right,verbatim] +\relative { \time 12/16 \override BarLine.stencil = ##f - c4 b8 c d16 c d8 + c''4 b8 c d16 c d8 | g,8 a16 b8 c d4 e16 | e8 } @end lilypond -Die Taktlinien werden aber immer noch angezeigt. Was ist da +Die Taktstriche werden aber immer noch angezeigt. Was ist da falsch gelaufen? Gehen Sie zurück zur IR und schauen Sie auf die Seite, die die Eigenschaften für @code{BarLine} angibt. Oben auf der Seite steht: @qq{Barline objects are created @@ -1204,28 +1300,42 @@ eine Liste der Kontexte, in denen der Takt-Engraver funktioniert. Alle Kontexte sind @code{Staff}-Typen (also Notensystem-Typen). Der Grund, warum der @code{\override}-Befehl nicht funktioniert hat, liegt -also darin, dass das Taktlinie-Objekt (@code{BarLine}) sich nicht +also darin, dass das Taktstrich-Objekt (@code{BarLine}) sich nicht im @code{Voice}-Kontext befindet. Wenn der Kontext falsch angegeben wird, bewirkt der Befehl einfach gar nichts. Keine Fehlermeldung wird ausgegeben und auch nichts in die Log-Datei geschrieben. Versuchen wir also, den richtigen Kontext mit anzugeben: -@cindex Taktlinie, Beispiel zur Veränderung +@cindex Taktstrich, Beispiel zur Veränderung @cindex stencil-Eigenschaft, Beispiel -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] -{ +@lilypond[quote,ragged-right,verbatim] +\relative { \time 12/16 \override Staff.BarLine.stencil = ##f - c4 b8 c d16 c d8 - g,8 a16 b8 c d4 e16 + c''4 b8 c d16 c d8 | + g,8 a16 b8 c d4 e16 | e8 } @end lilypond @noindent -Jetzt sind die Taktlinien wirklich verschwunden. +Jetzt sind die Taktstriche wirklich verschwunden. Setzen der +@code{stencil}-Eigenschaft auf @code{#f} wird derart häufig verwendet, +dass es dafür einen eigenen Befehl gibt, @code{\omit}: +@funindex \omit + +@lilypond[quote,ragged-right,verbatim] +\relative { + \time 12/16 + \omit Staff.BarLine + c''4 b8 c d16 c d8 | + g,8 a16 b8 c d4 e16 | + e8 +} +@end lilypond + Es sollte jedoch beachtet werden, dass das Setzen der @code{stencil}-Eigenschaft auf @code{#f} zu Fehlerhinweisen führen @@ -1244,8 +1354,9 @@ den Stencil auf ein Objekt mit der Größe Null setzt: } @end lilypond - -@subheading break-visibility (unsichtbar machen) +@node Die break-visibility-Eigenschaft +@unnumberedsubsubsec The @code{break-visibility}-Eigenschaft (unsichtbar machen) +@translationof The break-visibility property @cindex break-visibility-Eigenschaft @cindex Unsichtbar machen (break-visibility) @@ -1253,35 +1364,37 @@ den Stencil auf ein Objekt mit der Größe Null setzt: Aus der Beschreibung der Eigenschaften für @code{BarLine} in der IR geht hervor, dass die @code{break-visibility}-Eigenschaft einen Vektor mit drei Booleschen Werten benötigt. Diese -kontrollieren jeweils, ob die Taktlinien am Ende einer Zeile, +kontrollieren jeweils, ob die Taktstriche am Ende einer Zeile, in der Mitte einer Zeile und am Anfang einer Zeile ausgegeben -werden. Wenn also alle Taktlinien unsichtbar sein sollen, wie in -unserem Beispiel, brauchen wir den Wert @code{'#(#f #f #f)}. +werden. Wenn also alle Taktstriche unsichtbar sein sollen, wie in +unserem Beispiel, brauchen wir den Wert @code{#(#f #f #f)}, (den es auch +unter dem symbolischen Namen @code{all-invisible} gibt). Versuchen wir es also, und berücksichtigen wir auch den -@code{Staff}-Kontext. Beachten Sie auch, dass Sie @code{#'#} +@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 +@code{#} wird benötigt als Teil des Wertes, um einen Vektor zu 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 +@cindex Taktstrich, Beispiel zur Veränderung @cindex break-visibility-Eigenschaft, Beispiel -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] -{ +@lilypond[quote,ragged-right,verbatim] +\relative { \time 12/16 - \override Staff.BarLine.break-visibility = #'#(#f #f #f) - c4 b8 c d16 c d8 | + \override Staff.BarLine.break-visibility = ##(#f #f #f) + c''4 b8 c d16 c d8 | g,8 a16 b8 c d4 e16 | e8 } @end lilypond @noindent -Auch auf diesem Weg gelingt es, die Taktlinien unsichtbar zu machen. +Auch auf diesem Weg gelingt es, die Taktstriche unsichtbar zu machen. - -@subheading transparent (durchsichtig) +@node Die transparent-Eigenschaft +@unnumberedsubsubsec Die @code{transparent}-Eigenschaft (durchsichtig) +@translationof The transparent property @cindex transparent-Eigenschaft @cindex Durchsichtig machen (transparent) @@ -1290,7 +1403,7 @@ Aus den Eigenschaftsdefinitionen auf der @code{grob-interface}-Seite in der IR geht hervor, dass die @code{transparent}-Eigenschaft boolesch ist. Mit @code{#t} (wahr) wird also ein Grob durchsichtig gemacht. Im unserem Beispiel soll jetzt die Taktart durchsichtig -gemacht werden, anstatt die Taktlinien durchsichtig zu machen. +gemacht werden, anstatt die Taktstriche durchsichtig zu machen. Wir brauchen also wieder die Grob-Bezeichnung für die Taktart. Auf der @qq{All layout objects}-Seite in der IR müssen wir die Eigenschaften des @code{TimeSignature}-Layout-Objekts suchen @@ -1314,12 +1427,27 @@ machen, ist also: @end lilypond @noindent -Die Taktangabe ist verschwunden, aber mit diesem Befehl wird ein -freier Platz gelassen, wo sich die Taktangabe eigentlich befinden +Auch das Setzen der @code{transparent}-Eigenschaft ist ein recht häufige +Operation und so gibt es auch hierfür eine Kurzform names @code{\hide}: +@funindex \hide + +@lilypond[quote,ragged-right,verbatim] +\relative { + \time 12/16 + \hide Staff.TimeSignature + c''4 b8 c d16 c d8 | + g,8 a16 b8 c d4 e16 | + e8 +} +@end lilypond + +@noindent +In beiden Fällen ist die Taktangabe ist verschwunden, aber mit diesem Befehl +bleibt freier Platz, wo sich die Taktangabe eigentlich befinden würde. Das braucht man vielleicht für eine Schulaufgabe, in der die richtige Taktangabe eingefügt werden soll, aber in anderen Fällen ist diese Lücke nicht schön. Um auch die Lücke zu entfernen, -muss die Matrize (stencil) der Taktangabe auf @code{#f} (falsch) +muss stattdessen die Matrize (stencil) der Taktangabe auf @code{#f} (falsch) gesetzt werden: @cindex Taktart, Beispiel zur Veränderung @@ -1336,19 +1464,21 @@ gesetzt werden: @end lilypond @noindent -Und der Unterschied wird deutlich: hiermit wird das gesamte Objekt -entfernt, während man mit @code{transparent} ein Objekt -unsichtbar machen kann, es aber an seinem Platz gelassen wird. +Und der Unterschied wird deutlich: Setzen des stencil auf @code{#f} (ggf. +mittels @code{\omit}) entfernt das gesamte Objekt, während man mit +@code{transparent} (was auch mittels @code{\hide} eingestellt werden kann) +ein Objekt unsichtbar machen kann, es aber an seinem Platz gelassen wird. - -@subheading color (Farbe) +@node Die color-Eigenschaft +@unnumberedsubsubsec Die @code{color}-Eigenschaft (Farbe) +@translationof The color property @cindex color-Eigenschaft @cindex Farb-Eigenschaft -Abschließend wollen wir die Taktlinien unsichtbar machen, indem +Abschließend wollen wir die Taktstriche unsichtbar machen, indem wir sie weiß einfärben. (Es gibt hier eine Schwierigkeit: die weiße -Taktlinie übermalt manchmal die Taktlinien, wo sie sie kreuzt, +Taktstrich übermalt manchmal die Taktstriche, wo sie sie kreuzt, manchmal aber auch nicht. Sie können in den Beispielen unten sehen, dass das nicht vorhersagbar ist. Die Einzelheiten dazu, warum das passiert und wie sie es kontrollieren können, werden dargestellt @@ -1363,10 +1493,10 @@ internen Einheiten, aber damit Sie nicht wissen müssen, wie diese aussehen, gibt es mehrere Wege, Farben anzugeben. Der erste Weg ist es, @qq{normale} Farben zu benutzen, wie sie in der Tabelle in @ruser{Liste der Farben} aufgelistet sind. Beachten Sie, -dass die Bezeichnungen auf Englisch sind. Um die Taktlinien auf +dass die Bezeichnungen auf Englisch sind. Um die Taktstriche auf weiß zu setzen, können Sie schreiben: -@cindex Taktlinie, Beispiel zur Veränderung +@cindex Taktstrich, Beispiel zur Veränderung @cindex color-Eigenschaft, Beispiel @lilypond[quote,ragged-right,verbatim] @@ -1380,28 +1510,28 @@ weiß zu setzen, können Sie schreiben: @end lilypond @noindent -und die Taktlinien verschwinden in der Tat. Beachten Sie, +und die Taktstriche verschwinden in der Tat. Beachten Sie, dass @emph{white} nicht mit einem Apostroph angeführt -wird -- es ist kein Symbol, sondern eine @emph{Funktion}. -Wenn sie aufgerufen wird, stellt sie eine Liste mit internen +wird -- es ist kein Symbol, sondern eine @emph{Variable}. +Wird sie ausgewertet, stellt sie eine Liste mit internen Werten zu Verfügung, mit welcher die Farbe auf weiß gestellt wird. Die anderen Farben in der Liste sind auch Funktionen. Um sich zu überzeugen, dass der Befehl auch wirklich funktioniert, können Sie die Farbe auf eine der -anderen Funktionen dieser Liste abändern. +anderen Variablen dieser Liste abändern. @cindex Farben, X11 @cindex X11-Farben + @funindex x11-color Die zweite Art die Farbe zu ändern geschieht, indem die Liste der X11-Farbbezeichnungen einzusetzen, siehe die zweite Liste -in @ruser{Liste der Farben}. Diesen Farben muss jedoch eine -andere Funktion vorangestellt werden, die die X11-Farbbezeichnungen -in interne Werte konvertiert: -@code{x11-color}. Das geschieht wie folgt: +in @ruser{Liste der Farben}. Diese Namen werden durch die Funktion +@code{x11-color} durch die tatsächlichen internen Farbwerte ersetzt. +Das geschieht wie folgt: -@cindex Taktlinie, Beispiel zur Veränderung +@cindex Taktstrich, Beispiel zur Veränderung @cindex color-Eigenschaft, Beispiel @lilypond[quote,ragged-right,verbatim] @@ -1417,13 +1547,15 @@ in interne Werte konvertiert: @noindent In diesem Fall hat die Funktion @code{x11-color} ein Symbol als Argument, darum muss dem Symbol ein Apostroph vorangestellt -und beide zusammen in Klammern gesetzt werden. +werden, damit es nicht als Variable interpretiert wird. Beide +zusammen müssen in Klammern gesetzt werden. @cindex RGB-Farben @cindex Farben, RGB + @funindex rgb-color -Es gibt noch eine dritte Funktion, die RGB-Werte in die +Es gibt noch eine weitere Funktion, die RGB-Werte in die internen Werte übersetzt -- die @code{rgb-color}-Funktion. Sie braucht drei Argumente, um die Stärke von Rot, Grün und Blau darzustellen. Die Werte befinden sich zwischen @@ -1431,7 +1563,7 @@ Blau darzustellen. Die Werte befinden sich zwischen Wert der Funktion lauten: @code{(rgb-color 1 0 0)}, weiß würde sein: @code{(rgb-color 1 1 1)}. -@cindex Taktlinie, Beispiel zur Veränderung +@cindex Taktstrich, Beispiel zur Veränderung @cindex color-Eigenschaft, Beispiel @lilypond[quote,ragged-right,verbatim] @@ -1445,19 +1577,19 @@ würde sein: @code{(rgb-color 1 1 1)}. @end lilypond Schließlich gibt es noch eine Grauskala, die zu den X11-Farben -gehört. Sie reicht von schwarz (@code{'grey0'}) bis +gehört. Sie reicht von schwarz (@code{'grey0}) bis weiß (@code{'grey100}), in Einerschritten. Wir wollen das illustrieren, indem alle Layout-Objekte im Beispiel -verschiede Grauschattierungen erhalten: +verschiedene Grauschattierungen erhalten: @cindex StaffSymbol, Beispiel zur Veränderung @cindex TimeSignature, Beispiel zur Veränderung @cindex Schlüssel, Beispiel zur Veränderung @cindex Notenhals, Beispiel zur Veränderung -@cindex Taktlinie, Beispiel zur Veränderung +@cindex Taktstrich, Beispiel zur Veränderung @cindex Farbeigenschaft, Beispiel @cindex x11-Farben, Beispiel -@cindex Taktlinien, Beispiel zur Veränderung +@cindex Taktstriche, Beispiel zur Veränderung @cindex Taktart, Beispiel zur Veränderung @cindex Clef, Beispiel zur Veränderung @cindex Stem, Beispiel zur Veränderung @@ -1508,13 +1640,13 @@ braucht. @cindex über dem System anordnen, Beispiel @cindex @code{\with}-Beispiel -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +@lilypond[quote,ragged-right,verbatim] \new Staff ="main" { \relative { r4 g'8 g c4 c8 d | e4 r8 << - { f c c } + { f8 c c } \new Staff \with { alignAboveContext = #"main" } { f8 f c } @@ -1532,14 +1664,14 @@ wir setzen den Stencil von beiden auf @code{#f}: @cindex alignAboveContext-Eigenschaft, Beispiel @cindex über dem System anordnen, Beispiel @cindex @code{\with}-Beispiel -@cindex stencil-Eigenschaft, Beispiel +@funindex \omit @cindex Schlüssel, Beispiel zur Veränderung @cindex Taktart, Beispiel zur Veränderung -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +@lilypond[quote,ragged-right,verbatim] \new Staff ="main" { \relative { - r4 g'8 g c4 c8 d + r4 g'8 g c4 c8 d | e4 r8 << { f8 c c } @@ -1547,12 +1679,12 @@ wir setzen den Stencil von beiden auf @code{#f}: alignAboveContext = #"main" } { - \override Staff.Clef.stencil = ##f - \override Staff.TimeSignature.stencil = ##f + \omit Staff.Clef + \omit Staff.TimeSignature { f8 f c } } >> - r4 + r4 | } } @end lilypond @@ -1564,9 +1696,10 @@ die Noten sich auch auf das Ossia-System beziehen. Was für einen Unterschied macht es, ob man den @code{Staff}-Kontext mit @code{\with} verändert, oder ob man die Stencils mit -@code{\override} beeinflusst? Der größte Unterschied liegt +@code{\override} oder wie in diesem Fall mit @code{\omit} beeinflusst? +Der größte Unterschied liegt darin, dass Änderungen, die mit @code{\with} eingeführt werden, -während der Erstellung des Kontextes miterzeugt werden und +während der Erstellung des Kontextes mit erzeugt werden und als @strong{Standardeinstellungen} für diesen Kontext während seiner gesamten Dauer gelten, während @code{\set}- oder @code{\override}-Befehle dynamisch in die Noten eingebettet werden -- sie führen die @@ -1605,10 +1738,10 @@ Das obige Beispiel könnte also auch so aussehen: @cindex Schlüssel, Beispiel zur Veränderung @cindex Taktart, Beispiel zur Veränderung -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +@lilypond[quote,ragged-right,verbatim] \new Staff ="main" { \relative { - r4 g'8 g c4 c8 d + r4 g'8 g c4 c8 d | e4 r8 << { f8 c c } @@ -1621,7 +1754,33 @@ Das obige Beispiel könnte also auch so aussehen: } { f8 f c } >> - r4 + r4 | + } +} +@end lilypond + +Es zeigt sich, dass wir hier ebenso die Kurzformen @code{\hide} +und @code{\omit} zum Setzen der @code{transparent}-Eigenschaft und +zum Entfernen des @code{stencil} verwenden können, was zu folgender +Fassung führt + +@lilypond[quote,ragged-right,verbatim] +\new Staff ="main" { + \relative { + r4 g'8 g c4 c8 d | + e4 r8 + << + { f8 c c } + \new Staff \with { + alignAboveContext = #"main" + % Don't print clefs in this staff + \omit Clef + % Don't print time signatures in this staff + \omit TimeSignature + } + { f8 f c } + >> + r4 | } } @end lilypond @@ -1640,7 +1799,7 @@ Bögen -- oder allgemein Strecker-Objekte -- werden individuell gezeichnet, es gibt dazu also keine @code{font-size}, die mit ihnen verknüpft wäre. Weitere Eigenschaften wie die Länge von Hälsen und -Taktlinien, Dicke von Balken und anderen Linien und +Taktstriche, Dicke von Balken und anderen Linien und der Abstand der Notenlinien voneinander müssen auf spezielle Weise verändert werden. @@ -1676,23 +1835,23 @@ Setzen wir das also in unserem Ossia-Beispiel ein: @cindex Schlüssel, Beispiel zur Veränderung @cindex Taktart, Beispiel zur Veränderung -@lilypond[quote,verbatim,fragment,ragged-right,relative=2] +@lilypond[quote,ragged-right,verbatim] \new Staff ="main" { \relative { - r4 g'8 g c4 c8 d + r4 g'8 g c4 c8 d | e4 r8 << { f8 c c } \new Staff \with { alignAboveContext = #"main" - \override Clef.stencil = ##f - \override TimeSignature.stencil = ##f - % Reduce all font sizes by ~24% + \omit Clef + \omit TimeSignature + % Verkleinere alle Fonts um ~24% fontSize = #-2 } { f8 f c } >> - r4 + r4 | } } @end lilypond @@ -1735,7 +1894,7 @@ zu entsprechen? Das kann mit einer besonderen Funktion diesen Zweck vorhanden ist. Sie nimmt ein Argument auf, die Änderung der Schriftgröße (#-2 im obigen Beispiel) und gibt einen Skalierungsfaktor aus, der dazu dient, -Objekte proportionell zueinander zu verändern. So wird +Objekte proportional zueinander zu verändern. So wird sie benutzt: @cindex alignAboveContext-Eigenschaft, Beispiel @@ -1749,24 +1908,24 @@ sie benutzt: @cindex magstep-Funktion, Beispiel @cindex Schriftart-Eigenschaft, Beispiel -@lilypond[quote,verbatim,fragment,ragged-right,relative=2] +@lilypond[quote,ragged-right,verbatim] \new Staff ="main" { \relative { - r4 g'8 g c4 c8 d + r4 g'8 g c4 c8 d | e4 r8 << { f8 c c } \new Staff \with { alignAboveContext = #"main" - \override Clef.stencil = ##f - \override TimeSignature.stencil = ##f + \omit Clef + \omit TimeSignature fontSize = #-2 - % Reduce stem length and line spacing to match + % Reduziere Halslängen und Notenlinienabstände in gleicher Weise \override StaffSymbol.staff-space = #(magstep -2) } { f8 f c } >> - r4 + r4 | } } @end lilypond @@ -1787,7 +1946,7 @@ aller anderen Objekte können auf analoge Weise geändert werden. Für kleine Größenänderungen, wie in dem obigen Beispiel, -braucht die Dicke der verschiedenen Linien, wie Taktlinien, +braucht die Dicke der verschiedenen Linien, wie Taktstriche, Notenlinien, Balken, Dynamikklammern usw. normalerweise keine spezielle Anpassung. Wenn die Dicke eines bestimmten Layout-Objektes angepasst werden muss, kann man das erreichen, @@ -1863,11 +2022,11 @@ er unter @qq{Text2} passt. @cindex Textbeschriftungsbeispiel -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] -c2^"Text1" -c2^"Text2" -c2^"Text3" -c2^"Text4" +@lilypond[quote,fragment,ragged-right,verbatim] +c''2^"Text1" +c''2^"Text2" | +c''2^"Text3" +c''2^"Text4" | @end lilypond Notensysteme werden in den Standardeinstellungen auch so dicht @@ -1895,13 +2054,14 @@ Im nächsten Beispiel sehen Sie, wie Noten auf zwei Systemen Es wurde schon gezeigt, wie die Befehle @code{\voiceXXX} die Richtung von Bögen, Fingersatz und allen anderen Objekten beeinflusst, -die von der Richtung der Notenhälsen abhängen. Diese Befehle +die von der Richtung der Notenhälsen abhängen -- siehe @ref{Stimmen explizit beginnen}. +Diese Befehle sind nötig, wenn polyphone Musik geschrieben wird, damit sich die einzelnen Melodielinien klar abzeichnen. Es kann aber von Zeit zu Zeit nötig sein, dieses automatische Verhalten zu verändern. Das kann entweder für ganze Abschnitte, aber genauso auch nur für eine einzelne Note vorgenommen werden. Die Eigenschaft, die die Richtung -bestimmt, ist die @code{direction}-Eigenschaft jedes Layout-Objekts. +bestimmt, ist die @code{direction}-Eigenschaft eines jeden Layout-Objekts. Es soll erst erklärt werden, was sie bewirkt und dann eine Anzahl an fertigen Befehlen für die üblicheren Situationen präsentiert werden, mit denen Sie gleich loslegen können. @@ -1913,6 +2073,15 @@ je nach der Richtung, in die sie zeigen. Das wird automatisch berücksichtigt, wenn die @code{direction}-Eigenschaft verändert wird. +@menu +* Die direction-Eigenschaft:: +* Fingersatz:: +@end menu + +@node Die direction-Eigenschaft +@unnumberedsubsubsec The @code{direction}-Eigenschaft (Richtung) +@translationof The direction property + @funindex down @funindex up @funindex center @@ -1923,29 +2092,29 @@ wird. @cindex neutral-Eigenschaft Das folgende Beispiel zeigt im ersten Takt die Standardeinstellung -für Hälse, die bei hohen Noten nach unten zeigen und bei tiefen -noten nach oben. Im nächsten Takt werden alle Hälse nach unten -gezwungen, im dritten Takt nach oben, und im vierten wird wieder -der Standard eingestellt. +für Legatobögen, die bei hohen Noten oberhalb, bei tiefen Noten indessen +unterhalb platziert werden. Im nächsten Takt werden beide Bögen nach +unten gezwungen, im darauf folgenden Takt nach oben, um schließlich +wieder auf den Standard eingestellt zu werden. -@cindex Notenhals, Beispiel zur Veränderung +@cindex Legatobogen, Beispiel zur Veränderung @cindex Richtungseigenschaft, Beispiel -@lilypond[quote,verbatim,relative=2] -a4 g c a -\override Stem.direction = #DOWN -a4 g c a -\override Stem.direction = #UP -a4 g c a -\revert Stem.direction -a4 g c a +@lilypond[quote,fragment,verbatim] +a'4( g') c''( a') | +\override Slur.direction = #DOWN +a'4( g') c''( a') | +\override Slur.direction = #UP +a'4( g') c''( a') | +\revert Slur.direction +a'4( g') c''( a') | @end lilypond -Hier werden die Konstanten @code{DOWN} und @code{UP} +Wir haben hier die Konstanten @code{DOWN} und @code{UP} 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 +bedeutet für die Legatobögen das gleiche wie @code{UP}, für einige andere Objekte jedoch @qq{zentriert}. Es gibt hierzu die Konstante @code{CENTER}, die den Wert @code{0} hat. @@ -1996,16 +2165,25 @@ erklärt, wenn sie nicht selbstverständlich ist. @tab Befehl für Richtung von Klammern/Zahlen der N-tolen @end multitable -Diese vordefinierten Befehl können allerdings @strong{nicht} -zusammen mit @code{\once} benutzt werden. Wenn Sie die -Wirkung eines Befehl auf eine einzige Noten begrenzen wollen, -müssen Sie den entsprechenden -@code{\once \override}-Befehl benutzen oder den definierten -Befehl, gefolgt von dem entsprechenden neutralisierenden -@code{xxxNeutral}-Befehl nach der Note. +Die neutralen/normalen Varianten dieser Befehle verwenden intern +@code{\revert} und können daher @strong{nicht} mit einem +vorangestellten @code{\once} benutzt werden. Wenn Sie die +Wirkung eines der anderen Befehle (die intern @code{\override} verwenden) +auf eine einzige Noten begrenzen wollen, müssen Sie ihm ein @code{\once} +voranstellen, genauso wie Sie es auch bei einem expliziten @code{\override} +machen würden. + +Falls nur ein einziges Layout Objekt nach oben oder unten gezwungen werden +soll, können auch die Richtungsindikatoren @code{^} oder @code{_} verwendet werden: +@lilypond[quote,fragment,verbatim] +a'4( g') c''( a') | +a'4^( g') c''_( a') | +@end lilypond -@subheading Fingersatz +@node Fingersatz +@unnumberedsubsubsec Fingersatz +@translationof Fingering @cindex Fingersatz, Positionierung @cindex Fingersatz, Akkorde @@ -2027,12 +2205,14 @@ die Wirkung von @code{DOWN} (runter) und @code{UP} @cindex Fingersatz, Beispiel zur Veränderung @cindex direction-Eigenschaft, Beispiel -@lilypond[quote,verbatim,relative=2] -c4-5 a-3 f-1 c'-5 -\override Fingering.direction = #DOWN -c4-5 a-3 f-1 c'-5 -\override Fingering.direction = #UP -c4-5 a-3 f-1 c'-5 +@lilypond[quote,verbatim] +\relative { + c''4-5 a-3 f-1 c'-5 | + \override Fingering.direction = #DOWN + c4-5 a-3 f-1 c'-5 | + \override Fingering.direction = #UP + c4-5 a-3 f-1 c'-5 | +} @end lilypond Eine Beeinflussung der @code{direction}-Eigenschaft ist jedoch @@ -2043,10 +2223,12 @@ zu benutzen. Hier das vorherigen Beispiel mit dieser Methode: @cindex Fingersatz-Beispiel -@lilypond[quote,verbatim,relative=2] -c4-5 a-3 f-1 c'-5 -c4_5 a_3 f_1 c'_5 -c4^5 a^3 f^1 c'^5 +@lilypond[quote,verbatim] +\relative { + c''4-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 @@ -2115,22 +2297,24 @@ Hier ein paar Beispiele: @cindex @code{\set}, Benutzungsbeispiel @cindex fingerOrientations-Eigenschaft, Beispiel -@lilypond[quote,verbatim,relative=1] -\set fingeringOrientations = #'(left) -4 -4 -\set fingeringOrientations = #'(left) -4 -4 -\set fingeringOrientations = #'(up left down) -4 -4 -\set fingeringOrientations = #'(up left) -4 -4 -\set fingeringOrientations = #'(right) -4 -4 +@lilypond[quote,ragged-right,verbatim] +\relative { + \set fingeringOrientations = #'(left) + 4 + 4 + \set fingeringOrientations = #'(left) + 4 + 4 | + \set fingeringOrientations = #'(up left down) + 4 + 4 + \set fingeringOrientations = #'(up left) + 4 + 4 | + \set fingeringOrientations = #'(right) + 4 + 4 +} @end lilypond @noindent @@ -2140,33 +2324,49 @@ werden. Der Standardwert kann aus dem @code{Fingering}-Objekt in der IR entnommen werden, 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 -\set fingeringOrientations = #'(left) -4 -4 -\set fingeringOrientations = #'(left) -4 -4 -\set fingeringOrientations = #'(up left down) -4 -4 -\set fingeringOrientations = #'(up left) -4 -4 -\set fingeringOrientations = #'(right) -4 -4 +@lilypond[quote,ragged-right,verbatim] +\relative { + \override Fingering.font-size = #-7 + \set fingeringOrientations = #'(left) + 4 + 4 + \set fingeringOrientations = #'(left) + 4 + 4 | + \set fingeringOrientations = #'(up left down) + 4 + 4 + \set fingeringOrientations = #'(up left) + 4 + 4 | + \set fingeringOrientations = #'(right) + 4 + 4 +} @end lilypond - - @node Objekte außerhalb des Notensystems @subsection Objekte außerhalb des Notensystems @translationof Outside-staff objects Objekte außerhalb des Notensystems werden automatisch gesetzt, -um Kollisionen zu vermeiden. Objekten mit einem geringeren +um Kollisionen zu vermeiden. Es gibt eine ganze Reihe von Möglichkeiten +die Platzierung zu beeinflussen, sollte die Automatik kein optimales +Resultat produzieren. + +@menu +* Die outside-staff-priority-Eigenschaft:: +* Der textLengthOn-Befehl:: +* Positionierung von Dynamikzeichen:: +* Verändern der Größe von grobs:: +@end menu + + +@node Die outside-staff-priority-Eigenschaft +@unnumberedsubsubsec Die @code{outside-staff-priority}-Eigenschaft +@translationof The outside-staff-priority property + +Objekten mit einem geringeren Prioritätswert der Eigenschaft @code{outside-staff-priority} werden näher an das System gesetzt, und andere Objekte außerhalb des Systems werden dann soweit vom System entfernt gesetzt, dass @@ -2237,17 +2437,19 @@ Objekten zeigt. @cindex Text-Strecker @cindex Text-Spanner + @funindex \startTextSpan @funindex \stopTextSpan @funindex startTextSpan @funindex stopTextSpan + @cindex Ottava-Klammer @cindex Oktavierungsklammer @cindex TextSpanner, Beispiel zur Veränderung @cindex bound-details-Eigenschaft, Beispiel -@lilypond[quote,fragment,ragged-right,verbatim,relative=1] +@lilypond[quote,fragment,ragged-right,verbatim] % Set details for later Text Spanner \override TextSpanner.bound-details.left.text = \markup { \small \bold Slower } @@ -2255,18 +2457,18 @@ Objekten zeigt. \dynamicUp % Start Ottava Bracket \ottava #1 -c'4 \startTextSpan +c''4 \startTextSpan % Add Dynamic Text and hairpin -c4\pp\< -c4 +c''4\pp\< +c''4 % Add Text Script -c4^Text -c4 c +c''4^Text | +c''4 c'' % Add Dynamic Text and terminate hairpin -c4\ff c \stopTextSpan +c''4\ff c'' \stopTextSpan | % Stop Ottava Bracket \ottava #0 -c,4 c c c +c'4 c' c' c' | @end lilypond Dieses Beispiel zeigt auch, wie man Text-Strecker erstellt, d.h. @@ -2303,7 +2505,7 @@ erstellt wird: @cindex TextSpanner, Beispiel zur Veränderung @cindex bound-details-Eigenschaft, Beispiel -@lilypond[quote,fragment,ragged-right,verbatim,relative=1] +@lilypond[quote,fragment,ragged-right,verbatim] % Set details for later Text Spanner \override TextSpanner.bound-details.left.text = \markup { \small \bold Slower } @@ -2313,19 +2515,19 @@ erstellt wird: \once \override Staff.OttavaBracket.outside-staff-priority = #340 % Start Ottava Bracket \ottava #1 -c'4 \startTextSpan +c''4 \startTextSpan % Add Dynamic Text -c4\pp +c''4\pp % Add Dynamic Line Spanner -c4\< +c''4\< % Add Text Script -c4^Text -c4 c +c''4^Text | +c''4 c'' % Add Dynamic Text -c4\ff c \stopTextSpan +c''4\ff c'' \stopTextSpan | % Stop Ottava Bracket \ottava #0 -c,4 c c c +c'4 c' c' c' | @end lilypond Beachten Sie, dass einige dieser Objekte, insbesondere Taktzahlen, @@ -2349,18 +2551,20 @@ numerischen Wert gesetzt werden, sodass er mit anderen Außersystem-Objekten anhand dieses Wertes gesetzt wird. Hier ein Beispiel, das die beiden Möglichkeiten veranschaulicht: -@lilypond[quote,verbatim,relative=2] -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 -\once \override Slur.outside-staff-priority = #500 -c4( c^\markup { \tiny \sharp } d4.) c8 +@lilypond[quote,verbatim] +\relative c'' { + 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 | + \once \override Slur.outside-staff-priority = #500 + c4( c^\markup { \tiny \sharp } d4.) c8 | +} @end lilypond Eine Änderung der @code{outside-staff-priority} kann auch dazu -benutzt werden, die vertikale Plazierung von individuellen Objekten +benutzt werden, die vertikale Platzierung von individuellen Objekten zu kontrollieren, auch wenn das Ergebnis nicht immer optimal ist. Im nächsten Beispiel soll @qq{Text3} oberhalb von @qq{Text4} gesetzt werden, das Beispiel wurde behandelt in @@ -2383,14 +2587,17 @@ c''2^"Text4" | Damit wird zwar @qq{Text3} ganz richtig über @qq{Text4} platziert, aber auch über @qq{Text2}, und @qq{Text4} wird jetzt weiter unten gesetzt. Eigentlich sollten ja alle -diese Anmerkungen gleichweit vom System entfernt sein. +diese Anmerkungen gleich weit vom System entfernt sein. Dazu muss offensichtlich horizontal etwas Platz gemacht werden. Das kann erreicht werden mit dem @code{textLengthOn}-(Textlänge an)-Befehl. -@subheading \textLengthOn (Textlänge berücksichtigen) +@node Der textLengthOn-Befehl +@unnumberedsubsubsec Der @code{@bs{}textLengthOn}-Befehl (Textlänge berücksichtigen) +@translationof The textLengthOn command @cindex Noten, durch Text gespreizt + @funindex \textLengthOn @funindex textLengthOn @funindex \textLengthOff @@ -2412,10 +2619,12 @@ c''2^"Text4" | @end lilypond Dieses Verhalten wird mit dem @code{\textLengthOff}-Befehl -rückgängig gemacht. Erinnern Sie sich, dass @code{\once} nur mit -@code{\override}, @code{\set}, @code{\revert} oder @code{unset} -funktioniert, der Befehl kann also nicht zusammen mit -@code{\textLengthOn} benutzt werden. +rückgängig gemacht. Alternativ kann auch @code{\once} zusammen mit +@code{\textLengthOn} benutzt werden, um die Auswirkung auf einen +einzigen musikalisches Zeitpunkt zu begrenzen. Das entsprechende +Verhalten bzgl. des horizontalen Platzes für Übungzeichen und +Tempomarkierungen kann hiervon unabhängig durch die Befehle +@code{\markLengthOn} und @code{\markLengthOff} analog gesteuert werden. @cindex Textbeschriftung, Vermeidung von Zusammenstößen @cindex Zusammenstöße vermeiden mit Textbeschriftung @@ -2452,28 +2661,31 @@ eine Textbeschriftung mit diesen Noten reagiert: } @end lilypond - -@subheading Dynamik +@node Positionierung von Dynamikzeichen +@unnumberedsubsubsec Positionierung von Dynamikzeichen +@translationof Dynamics placement @cindex Verändern der Positionierung von Dynamikzeichen @cindex Dynamikzeichen: Positionierung verändern Dynamikbezeichnung wird üblicherweise unter dem System gesetzt, kann aber auch nach oben mit dem Befehl -@code{dynamicUp} gezwungen werden. Die Bezeichnung +@code{\dynamicUp} gezwungen werden. Die Bezeichnung wird vertikal relativ zu der Note positioniert, an die sie angefügt wurde. Sie wird vertikal variabel gesetzt in Bezug zu Innersystemobjekten wie Bögen oder Taktnummern. Damit können oft recht gute Resultate erreicht werden, wie im folgenden Beispiel: -@lilypond[quote,fragment,ragged-right,verbatim,relative=1] -\clef "bass" -\key aes \major -\time 9/8 -\dynamicUp -bes4.~\f\< \( bes4 bes8 des4\ff\> c16 bes\! -ees,2.~\)\mf ees4 r8 +@lilypond[quote,ragged-right,verbatim] +\relative { + \clef "bass" + \key aes \major + \time 9/8 + \dynamicUp + bes4.~\f\< \( bes4 bes8 des4\ff\> c16 bes\! | + ees,2.~\)\mf ees4 r8 | +} @end lilypond Wenn aber Noten und Dynamikzeichen sehr dicht beieinander @@ -2482,9 +2694,9 @@ später kommende Dynamikzeichen weiter weg, was allerdings nicht immer die beste Möglichkeit ist, wie in dem folgenden, etwas gewollten Beispiel zu sehen ist: -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +@lilypond[quote,ragged-right,verbatim,fragment] \dynamicUp -a4\f b\mf c\mp b\p | +\relative { a'4\f b\mf a\mp b\p } @end lilypond @noindent @@ -2497,8 +2709,9 @@ aber es gibt keinen entsprechenden Befehl für Dynamik. Wir müssen also unsere eigenen Befehle mit @code{\override} konstruieren. - -@subheading Verändern der Größe von grobs +@node Verändern der Größe von grobs +@unnumberedsubsubsec Verändern der Größe von grobs +@translationof Grob sizing @cindex Grob, Größenveränderung @cindex Größenveränderung von grobs @@ -2522,17 +2735,17 @@ gehören zu allen Grobs, die das Standardmäßig haben Außersystemobjekte eine Länge von Null, so dass sie sich in horizontaler Richtung überlappen können. Das geschieht, indem dem linken Rand Unendlich zugewiesen wird -und dem rechten Rand minus Unendlich (der Code der +und dem rechten Rand minus Unendlich, d.h. die @code{extra-spacing-width}-(zusätzliche Positionierungslänge)-Eigenschaft -lautet: @code{'(+inf.0 . -inf.0)}). +wird auf den Wert @code{'(+inf.0 . -inf.0)} gesetzt. Damit sich diese Objekte also horizontal nicht überschneiden, muss -der Wert von @code{extra-spacing-width} auf -@code{'(0 . 0)} gesetzt werden, sodass die wirkliche Länge eines -Objektes zur Geltung kommt. Mit diesem Befehl wird das für -Dynamik-Zeichen erledigt: +der Wert von @code{extra-spacing-width} überschrieben werden um den +Objekten ein wenig zusätzlich Platz zuzuweisen. Die Einheit ist der +Abstand zwischen zwei Notenlinien, also sollte es reichen die linke +und rechte Kante je eine halbe Einheit nach links bzw. rechts zu verschieben: @example -\override DynamicText.extra-spacing-width = #'(0 . 0) +\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5) @end example @noindent @@ -2541,31 +2754,12 @@ Schauen wir uns an, wie es mit dem vorigen Beispiel funktioniert: @cindex DynamicText, Beispiel zur Veränderung @cindex extra-spacing-width-Eigenschaft, Beispiel -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] -\dynamicUp -\override DynamicText.extra-spacing-width = #'(0 . 0) -a4\f b\mf c\mp b\p -@end lilypond - -@noindent -Damit werden die Dynamik-Zeichen also wirklich nebeneinander -gesetzt, aber es gibt noch zwei Probleme. Die Zeichen sollten -etwas weiter außeinander stehen und es wäre gut, wenn sie alle -den gleichen Abstand zum System hätte. Das erste Problem ist -einfach behoben. Anstatt der @code{extra-spacing-width}-Eigenschaft -Null zuzuweisen, können wir auch einen etwas größeren Wert -wählen. Die Einheit wird gemessen in dem Abstand zwischen zwei -Notenlinien, es scheint also gut, den rechten und linken -Rand eine halbe Einheit zu vergrößern: -@cindex DynamicText, Beispiel zur Veränderung -@cindex extra-spacing-width-Eigenschaft, Beispiel - -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] +@lilypond[quote,ragged-right,verbatim,fragment] \dynamicUp % Extend width by 1 staff space \override DynamicText.extra-spacing-width = #'(-0.5 . 0.5) -a4\f b\mf c\mp b\p +\relative { a'4\f b\mf a\mp b\p } @end lilypond @noindent @@ -2576,6 +2770,205 @@ höher und tiefer zu sitzen. Das kann mit der die wir uns im folgenden Abschnitt genauer anschauen werden. +@node Vertikale Abstände +@section Vertikale Abstände +@translationof Vertical spacing + +In aller Regel ist die vertikale Platzierung von Objekten durch LilyPond +ziemlich gut. Schauen wir uns das an einem einfachen Lied mit zwei Stimmen +und Klavierbegleitung etwas näher an: + +@lilypond[quote,fragment,ragged-right] +<< + \new ChoirStaff + << + \new Staff { + \new Voice = "music" { + b'2 c' c' c' + } + } + \new Lyrics + \lyricsto "music" { + Here are some lyrics + } + \new Staff { + \clef bass e'2 f e c + } + >> + \new PianoStaff + << + \new Staff { + g''2 c'' c'' a'' + } + \new Staff { + \clef bass e2 f c e + } + >> +>> +@end lilypond + +An der vertikalen Platzierung ist nichts auszusetzen. Nehmen wir aber einmal +an, wir arbeiten mit einem Verleger zusammen, der spezielle Wünsche bzgl. +des Abstands von Systemen und Text hat: Der Text soll weit weg von allen +Noten und die Klavierbegleitung soll weit weg von den Gesangslinien. +Schließlich soll das Klaviersystem noch etwas enger zusammen geschoben +werden. Fangen wir mit dem Liedtext an. + +Gesangstext wird innerhalb eines Systems platziert. Daher finden sich die +Befehle zu seiner Platzierung in +@ruser{Flexible vertikale Abstände in Systemgruppen}. Dort erfahren wir, +das Gesangstext vom Typ @code{non-staff lines} ist und wir daher die +Eigenschaft @code{nonstaff} anpassen müssen. Den Text weiter weg vom +darüber liegenden System zu schieben verwendet die +@code{relatedstaff}-Eigenschaft. Für den Abstand nach unten greifen +wir auf die @code{unrelatedstaff}-Eigenschaft zurück. Gesangsstimmen +gehören zu einer @code{VerticalAxisGroup}, also setzen wir deren +Eigenschaften. Mal sehen, wie das klappt. + +@lilypond[quote,fragment,ragged-right,verbatim] +<< + \new ChoirStaff + << + \new Staff { + \new Voice = "music" { + b'2 c' c' c' + } + } + \new Lyrics \with { + \override VerticalAxisGroup. + nonstaff-relatedstaff-spacing.padding = #5 + \override VerticalAxisGroup. + nonstaff-unrelatedstaff-spacing.padding = #5 + } + \lyricsto "music" { + Here are some lyrics + } + \new Staff { + \clef bass e'2 f e c + } + >> + \new PianoStaff + << + \new Staff { + g''2 c'' c'' a'' + } + \new Staff { + \clef bass e2 f c e + } + >> +>> +@end lilypond + +Nun ja, es klappt. Aber vielleicht war das doch des Guten zu viel. +Wenn wir @code{padding} auf 5 setzen, dann fügt LilyPond 5 System Abstände +zum Abstand zwischen den Objekten hinzu, was im vorliegenden Fall +eindeutig zu viel ist. Wir werden 2 verwenden. + +Als nächstes verschieben wir die Klavierbegleitung weiter weg von den +Gesangsstimmen. Die Gesangsstimmen sind ein @code{ChoirStaff}, also werden +wir den Abstand zwischen diesem und dem darunter liegenden Klaviersystem +vergrößern. Das geschieht indem wir die @code{basic-distance} des +@code{StaffGrouper}'s @code{staffgroup-staff-spacing} anpassen. + +@lilypond[quote,fragment,ragged-right,verbatim] +<< + \new ChoirStaff \with { + \override StaffGrouper. + staffgroup-staff-spacing.basic-distance = #15 + } + << + \new Staff { + \new Voice = "music" { + b'2 c' c' c' + } + } + \new Lyrics \with { + \override VerticalAxisGroup. + nonstaff-relatedstaff-spacing.padding = #2 + \override VerticalAxisGroup. + nonstaff-unrelatedstaff-spacing.padding = #2 + } + \lyricsto "music" { + Here are some lyrics + } + \new Staff { + \clef bass e'2 f e c + } + >> + \new PianoStaff + << + \new Staff { + g''2 c'' c'' a'' + } + \new Staff { + \clef bass e2 f c e + } + >> +>> +@end lilypond + +Wunderbar. Jetzt kümmern wir uns noch um die letzte Anforderung, die +Klaviersysteme enger zusammen zu schieben. Auch hierfür passen wir +wieder die Eigenschaften des @code{StaffGrouper} an, aber dieses Mal +werden wir sowohl die @code{basic-distance} als auch das @code{padding} +reduzieren. Wie genau sehen Sie unten. + +@lilypond[quote,fragment,ragged-right,verbatim] +<< + \new ChoirStaff \with { + \override StaffGrouper. + staffgroup-staff-spacing.basic-distance = #15 + } + << + \new Staff { + \new Voice = "music" { + b'2 c' c' c' + } + } + \new Lyrics \with { + \override VerticalAxisGroup. + nonstaff-relatedstaff-spacing.padding = #2 + \override VerticalAxisGroup. + nonstaff-unrelatedstaff-spacing.padding = #2 + } + \lyricsto "music" { + Here are some lyrics + } + \new Staff { + \clef bass e'2 f e c + } + >> + \new PianoStaff \with { + \override StaffGrouper.staff-staff-spacing = #'( + (basic-distance . 0) + (padding . 0)) + } + << + \new Staff { + g''2 c'' c'' a'' + } + \new Staff { + \clef bass e2 f c e + } + >> +>> +@end lilypond + +Damit sind die echt eng beieinander -- aber das ist es, was der +Verleger wollte. Wir könnten sie bei Bedarf wieder ein wenig auseinander +schieben, indem wir @code{padding} oder @code{basic-distance} +ändern. + +Es gibt viele Arten die vertikalen Abstände zu verändern. Im Grunde +brauchen wir uns lediglich zu merken, dass der Abstand zwischen Objekten +in einer @code{StaffGroup} (wie @code{GrandStaff} oder @code{PianoStaff} +Gruppen) durch die Platzierungsvariablen des @code{StaffGrouper} +kontrolliert wird. Wohingegen die Abstände von nicht gruppierten +Systemen (wie @code{Lyrics} und @code{Staff}) von den Variablen der +@code{VerticalAxisGroup} kontrolliert werden. Siehe +@ruser{Flexible vertical spacing paper variables} und +@ruser{Flexible vertikale Abstände in Systemgruppen} für weitere +Details. @node Kollision von Objekten @section Kollision von Objekten @@ -2584,7 +2977,7 @@ die wir uns im folgenden Abschnitt genauer anschauen werden. @menu * Verschieben von Objekten:: * Überlappende Notation in Ordnung bringen:: -* Beispiele aus dem Leben:: +* Beispiel aus dem Leben:: @end menu @node Verschieben von Objekten @@ -2594,7 +2987,7 @@ die wir uns im folgenden Abschnitt genauer anschauen werden. @cindex Verschieben von überschneidenden Objekten @cindex Verschieben von Zusammenstößen @cindex Zusammenstöße vermeiden -@cindex Objekte, verschieben von Zusammestößen +@cindex Objekte, verschieben von Zusammenstößen @cindex Vermeiden von Zusammenstößen Es wird vielleicht eine Überraschung sein, aber LilyPond ist nicht @@ -2613,7 +3006,8 @@ anwenden: Die @strong{Richtung} eines der überlappenden Objekte kann geändert werden, indem die vordefinierten Befehle für Innersystemobjekte verwendet werden, wie beschrieben in -@ref{within-staff (Objekte innerhalb des Notensystems)}. Hälse, Bögen, Balken, Dynamik-Zeichen +@ref{within-staff (Objekte innerhalb des Notensystems)}. +Hälse, Bögen, Balken, Dynamik-Zeichen und Triolen können auf diese Weise einfach umgeordnet werden. Beschränkt ist diese Methode insofern, als es nur zwei Möglichkeiten zur Veränderung gibt: oben oder unten. @@ -2755,27 +3149,59 @@ wie Ganztaktpausen, Bögen und Noten in verschiedenen Stimmen zu lösen. @item -@code{force-hshift} (vertikale Verschiebung erzwingen) +@code{horizontal-shift} (horizontale Verschiebung) + +@cindex horizontal-shift-Eigenschaft +@cindex Notenkolumne +@cindex Notenkollisionen +@cindex Kollision, Noten +@cindex shift Befehl +@funindex \shiftOff +@funindex shiftOff +@funindex \shiftOn +@funindex shiftOn +@funindex \shiftOnn +@funindex shiftOnn +@funindex \shiftOnnn +@funindex shiftOnnn + +Innerhalb einer Stimme werden alle Noten, die zeitgleich stattfinden, +zu einer Gruppe zusammen gefasst, einem sog. @code{NoteColumn} Objekt. +Dieses Objekt dient dem Zweck, diese Gruppe von Noten horizontal zu +positionieren (siehe auch @qq{Notenkolumnen} in @ref{Stimmen explizit beginnen}). +@emph{Genau dann, wenn} zwei oder mehr Notenkolumnen innerhalb eines +Systemkontexts, die beide jeweils die Hälse in die gleiche Richtung haben +und auch zur gleichen Zeit stattfinden, werden die Werte ihrer +@code{horizontal-shift}-Eigenschaften nach Größe sortiert und die Objekte +dann mit einer Ordnungsnummer versehen. Je größer diese Ordnungsnummer, +desto stärker wird ein Objekt verschoben um eine Kollision der Notenköpfe +zu vermeiden. Diese Eigenschaft wird mit den @code{\voiceXXX}-Befehlen +gesetzt und kann direkt durch einen @code{\override}-Befehl, oder was für +gewöhnlich häufiger vorkommt, durch einen @code{\shiftOn}-Befehl gesetzt +werden. Bedenken sie bitte, diese Eigenschaft dient lediglich dazu, den +Notenkolumnen eine @emph{Ordnungsnummer} zuzuweisen - sie bestimmt in +keinster Weise die Größe der jeweiligen Verschiebung. Die steigt mit +zunehmender Ordnungsnummer in festen Schritten. Die Schrittweite ist +für gewöhnlich eine halbe Notenkopfbreite. Bei sehr eng platzierten Notengruppen +kann sie aber auch mal eine ganze Notenkopfbreite betragen. -@cindex force-hshift-Eigenschaft +@item +@code{force-hshift} (horizontale Verschiebung erzwingen) -Eng beieinander stehende Noten in einem Akkord oder Noten, die zum -gleichen Zeitpunkt in unterschiedlichen Stimmen stehen, werden -in zwei oder manchmal auch mehr Kolumnen gesetzt, um Kollisionen -zu umgehen. Diese Kolumnen werden Notenkolumnen genannt; -ein @code{NoteColumn}-Objekt wird erstellt um die Noten in den -Kolumnen zu setzen. +@cindex force-hshift-Eigenschaft Die @code{force-hshift}-(erzwinge horizontale Verschiebung)-Eigenschaft ist eine Eigenschaft von @code{NoteColumn} (bzw. vom @code{note-column-interface}). Eine Veränderung dieser Eigenschaft -macht es möglich, eine Notenkolumne zu verschieben, dabei gilt als -Einheit die Breite einer Kolumne, also die Breite des Notenkopfes der -ersten Stimme. Diese Eigenschaft kann in Situationen benutzt werden, -in denen die normalen @code{\shiftOn}-Befehle (siehe auch -@ref{Stimmen explizit beginnen}) das Problem nicht beseitigen. -Diese Eigenschaft ist besser in solchen Fällen zu verwenden als die -@code{extra-offset}-Eigenschaft, weil man die richtige Entfernung nicht +macht es möglich, eine Notenkolumne zu verschieben, wenn sie mit anderen +überlappt. Diese Eigenschaft hat keinerlei Auswirkungen, wenn keine +Überlappung vorliegt. Veränderungen werden in einer Einheit angegeben, +die zu der Notenkolumne passt, d.h. der Breite des Notenkopfes der Note +der ersten Stimme. Diese Eigenschaft sollte in denjenigen komplexen +Fällen verwendet werden, die sich nicht mit dem normalen @code{\shiftOn}-Befehle +(siehe auch @ref{Stimmen explizit beginnen}) lösen lassen. +Sie ist auf jeden Fall der Verwendung der @code{extra-offset}-Eigenschaft +vorzuziehen, weil man die richtige Entfernung nicht in Notenlinienabständen ausrechnen muss. Wenn eine Note in eine Notenkolumne oder aus ihr heraus geschoben wird, werden auch andere Funktionen beeinflusst, wie etwa die Verschmelzung von Notenköpfen. @@ -2864,14 +3290,27 @@ vorigen Abschnitt vorgestellt wurden, bei der Problemlösung mit sich überschneidenden Notationselementen eingesetzt werden können. -@subheading padding (Fülleigenschafte) +@menu +* Die padding-Eigenschaft:: +* Die right-padding-Eigenschaft:: +* Die staff-padding-Eigenschaft:: +* Die self-alignment-X-Eigenschaft:: +* Die staff-position-Eigenschaft:: +* Die extra-offset-Eigenschaft:: +* Die positions-Eigenschaft:: +* Die force-hshift-Eigenschaft:: +@end menu + +@node Die padding-Eigenschaft +@unnumberedsubsubsec Die @code{padding}-Eigenschaft (auffüllen) +@translationof The padding property @cindex padding (Verschiebungs-Eigenschaft) @cindex Überschneidende Notation korrigieren @cindex Korrigieren von überschneidender Notation Die @code{padding}-(Verschiebungs-)Eigenschaft kann benutzt -werden, um den Abstand zwischen Symbolen zu vergößern (oder +werden, um den Abstand zwischen Symbolen zu vergrößern (oder zu verkleinern), die über oder unter den Noten gesetzt werden. @cindex Script, Beispiel zur Veränderung @@ -2911,10 +3350,13 @@ Außersystempriorität (@code{outside-staff-priority}) positioniert werden, werden das Objekt und alle, die sich außerhalb davon befinden, entsprechend verschoben. -@subheading right-padding (Verschieben nach links) -@cindex Verschiebung nach rechts -@cindex right-padding-Eigenschaft (Verschiebung nach rechts) +@node Die right-padding-Eigenschaft +@unnumberedsubsubsec Die @code{right-padding}-Eigenschaft (rechts auffüllen) +@translationof The right-padding property + +@cindex Verschiebung nach links +@cindex right-padding-Eigenschaft (Verschiebung nach links) Die @code{right-padding}-Eigenschaft wirkt sich auf den Abstand zwischen einem Versetzungszeichen und der Note, auf das sie sich @@ -2961,17 +3403,19 @@ definiert. Dieser Glyph wird dann weiter vom Notenkopf entfernt durch die Veränderung von @code{right-padding} mit einem @code{\override}-Befehl. -@subheading staff-padding (Systemfüllungseigenschaft) +@node Die staff-padding-Eigenschaft +@unnumberedsubsubsec The @code{staff-padding}-Eigenschaft (Systemfüllungseigenschaft) +@translationof The staff-padding property @cindex staff-padding-Eigenschaft @cindex Objekte an der Grundlinie ausrichten @cindex Ausrichten von Objekten an der Grundlinie -@code{staff-padding} (Verschiebung zum Notensystem) kann +@code{staff-padding} kann verwendet werden um Objekte wie Dynamikzeichen an einer -Grundlinie auf einer bestimmten Höhe über dem System -auszurichten, sodass sie nicht von der Position der Note abhängen, -an die sie angehängt sind. Diese Verschiebung ist keine Eigenschaft +Grundlinie mit einem festen (Mindest-) Abstand zum System auszurichten, +wenn keine anderen Notationsobjekte einen noch weiteren Abstand erfordern. +Diese Verschiebung ist keine Eigenschaft von @code{DynamicText}, sondern von @code{DynamicLineSpanner}. Das liegt daran, dass die Grundlinie sich gleicherweise auf @strong{alle} Dynamikzeichen beziehen soll, also auch auf die, @@ -2983,45 +3427,44 @@ aus dem Beispiel des vorigen Abschnitts auszurichten: @cindex DynamicLineSpanner, Beispiel zur Veränderung @cindex staff-padding-Eigenschaft, Beispiel -@lilypond[quote,fragment,ragged-right,verbatim,relative=2] -\dynamicUp -% Extend width by 1 unit -\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5) -% Align dynamics to a base line 2 units above staff -\override DynamicLineSpanner.staff-padding = #2 -a4\f b\mf c\mp b\p +@lilypond[quote,fragment,ragged-right,verbatim] +\override DynamicLineSpanner.staff-padding = #3 +\relative { a'4\f b\mf a\p b\mp } @end lilypond -@subheading self-alignment-X (Selbstausrichtung-X-Eigenschaft) +@node Die self-alignment-X-Eigenschaft +@unnumberedsubsubsec Die @code{self-alignment-X}-Eigenschaft (Selbstausrichtung-X-Eigenschaft) +@translationof The self-alignment-X property -@cindex self-alignment-X-Eigenschaft - -Das nächste Beispiel zeigt, wie man den Zusammenstoß -einer Fingersatzbezeichnung mit einem Notenhals -verhindern kann, indem die rechte Ecke an dem -Referenzpunkt der abhängigen Note angeordnet wird: +Das nächste Beispiel zeigt, wie man die Position einer +Fingersatzbezeichnung relativ zu einem Notenhals justieren kann, +indem dessen rechte Kante an dem Referenzpunkt der zugehörigen Note +ausgerichtet wird: @cindex StringNumber, Beispiel zur Veränderung +@cindex self-alignment-X-Eigenschaft +@cindex Selbstausrichtung-X-Eigenschaft -@lilypond[quote,fragment,ragged-right,verbatim,relative=3] +@lilypond[quote,fragment,ragged-right,verbatim] \voiceOne -< a\2 > + \once \override StringNumber.self-alignment-X = #RIGHT -< a\2 > + @end lilypond - -@subheading staff-position (Position innerhalb des Systems) +@node Die staff-position-Eigenschaft +@unnumberedsubsubsec Die @code{staff-position}-Eigenschaft (Position innerhalb des Systems) +@translationof The staff-position property @cindex staff-position-Eigenschaft @cindex Notensystem-Position-Eigenschaft @cindex Kollision von Objekten im System @cindex Zusammenstöße von Objekten im System -Vieltaktpausen in einer Stimmen können mit Noten in anderen +Mehrtaktpausen in einer Stimmen können mit Noten in anderen Stimmen kollidieren. Da diese Pausen zentriert zwischen den -Taktlinien gesetzt werden, würde es für LilyPond eine recht große +Taktstriche gesetzt werden, würde es für LilyPond eine recht große Anstrengung bedeuten herauszufinden, welche Noten mit ihnen zusammenstoßen könnten, denn alle Kollisionsvermeidung für Noten und Pausen funktioniert nur für Noten bzw. Pausen, die @@ -3032,11 +3475,11 @@ Kollision dieser Art: << \relative { c'4 c c c } \\ { R1 } >> @end lilypond -Die beste Lösung ist es, die Ganztaktpause nach unten zu +Die beste Lösung ist es hier, die Ganztaktpause nach unten zu schieben, denn die Pause ist in der zweiten Stimme. Per Standardeinstellung für die zweite Stimme (@code{\voiceTwo}, also die zweite Stimme in der -@code{<<@{...@} \\ @{...@}>>}-Konstruktion) wird die +@code{<<@{@dots{}@} \\ @{@dots{}@}>>}-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 @w{@code{-8}} gesetzt werden, @@ -3058,8 +3501,9 @@ d.h. vier halbe Notenlinienabstände weiter nach unten: Das ist besser, als etwa @code{extra-offset} zu benutzen, denn in unserem Fall wird die Hilfslinie der Pause automatisch gesetzt. - -@subheading extra-offset (Genaues Positionieren) +@node Die extra-offset-Eigenschaft +@unnumberedsubsubsec Die @code{extra-offset}-Eigenschaft (Genaues Positionieren) +@translationof The extra-offset property @cindex extra-offset-Eigenschaft @cindex Zusätzlicher Abstand, Positionierung @@ -3076,15 +3520,16 @@ links und 1,8 Notenlinienabstände nach unten verschoben: @cindex Fingersatz, Beispiel zur Veränderung @cindex extra-offset-Eigenschaft, Beispiel -@lilypond[quote,fragment,relative=1,verbatim] -\stemUp -f4-5 +@lilypond[quote,fragment,verbatim] +f'4-5 \once \override Fingering.extra-offset = #'(-0.3 . -1.8) -f4-5 +f'4-5 @end lilypond -@subheading Ausrichtungseigenschaft +@node Die positions-Eigenschaft +@unnumberedsubsubsec Die @code{positions}-Eigenschaft (Ausrichtungseigenschaft) +@translationof The positions property @cindex positions-Eigenschaft @cindex Kontrolle über Triolen, Bögen und Balken manuell @@ -3093,58 +3538,67 @@ f4-5 @cindex Bögen, manuelle Kontrolle @cindex Legatobögen, manuelle Kontrolle @cindex Phrasierungsbögen, manuelle Kontrolle -@cindex Triollen-Klammer, manuelle Kontrolle +@cindex Triolen-Klammer, manuelle Kontrolle -Die @code{positions}-Eigenschaft erlaubt die Kontrolle von Position und -Steigung von Balken, Legato- und Phrasierungsbögen sowie Triolenklammern. -Hier ein Beispiel, in der ein unschöner Phrasierungsbogen auftritt, weil -er den Bogen des Vorschlags vermeidet: +Die @code{positions}-Eigenschaft ermöglicht es, die vertikale Position +und damit implizit die Neigung von N-tolen, Legato- und Phrasierungsbögen +sowie Balken manuell zu steuern. -@lilypond[quote,verbatim,fragment,ragged-right,relative=1] -r4 \acciaccatura e8\( d8 c~ c d c d\) -@end lilypond +Im folgenden Beispiel überlappen der Legato- und er Phrasierungsbogen: -@noindent -Man könnte einfach den Phrasierungsbogen oberhalb der Noten setzen, und -das wäre auch die beste Lösung: +@lilypond[quote,verbatim,ragged-right] +\relative { a'8 \( ( a'16 ) a \) } +@end lilypond @cindex Phrasierungsbogen, Beispiel zur Veränderung @cindex positions-Eigenschaft, Beispiel @cindex Positionierung, Beispiel -@lilypond[quote,verbatim,fragment,ragged-right,relative=1] -r4 -\phrasingSlurUp -\acciaccatura e8\( d8 c~ c d c d\) -@end lilypond - @noindent -aber wenn es einen Grund geben sollte, warum das nicht geht, könnte -man das linke Ende des Phrasierungsbogens etwas nach unten verschieben, -indem man die @code{positions}-Eigenschaft einsetzt. Damit -verschwindet auch die etwas unschöne Form: - -@lilypond[quote,verbatim,fragment,ragged-right,relative=1] -r4 -\once \override PhrasingSlur.positions = #'(-4 . -3) -\acciaccatura e8\( d8 c~ c d c d\) +Ein Möglichkeit wäre es, die beiden Endpunkte des Phrasierungsbogen +weiter nach oben zu verschieben. Wir probieren einmal das linke +Ende 2.5 Staff-Einheiten über die Mittellinie und das rechte Ende +4.5 Einheiten darüber zu fixieren und überlassen es LilyPond, einen +zu diesen Endpunkten passenden Phrasierungsbogen auszuwählen: + +@lilypond[quote,verbatim,fragment,ragged-right] +\once \override PhrasingSlur.positions = #'(2.5 . 4.5) +a'8 \( ( a''16 ) a'' \) @end lilypond +Auf jeden Fall eine Verbesserung, aber warum das rechte Ende des +Legatobogens nicht ein wenig nach unten verschieben? Wenn Sie es +versuchen werden sie feststellen, es ist auf diesem Wege nicht +möglich, und das liegt daran, dass LilyPond von sich aus keinen +Bogen erzeugt, der niedriger läge, als der, den es bereits auswählt. +In solch einem Fall hat eine Änderung der @code{positions}-Eigenschaft +keinerlei Auswirkung. Allerdings @emph{können} Binde-, Legato- und +Phrasierungsbögen bei Bedarf sehr exakt positioniert und auch geformt +werden. Unter @ruser{Bögen verändern} können sie lernen, wie. + 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] +@lilypond[quote,verbatim,ragged-right] { \time 4/2 << - { c'1 ~ 2. e'8 f' } + \relative { c'1~ 2. e8 f } \\ - { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } + \relative { + e''8 e e e + e e e e + f2 g + } >> << - { c'1 ~ 2. e'8 f' } + \relative { c'1~ 2. e8 f } \\ - { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } + \relative { + e''8 e e e + e e e e + f2 g + } >> } @end lilypond @@ -3152,37 +3606,48 @@ stößt der Balken mit den oberen Bögen zusammen: @noindent Das kann manuell gelöst werden, indem beide Enden des Balkens von ihrer Position 1.81 Notenlinienabstände unter der Mittellinie -hochgeschoben werden, etwa auf 1: +hoch geschoben werden, etwa auf 1: @cindex Balken, Beispiel zur Veränderung @cindex positions-Eigenschaft, Beispiel @cindex Positionierung, Beispiel -@lilypond[quote,verbatim,fragment,ragged-right] +@lilypond[quote,verbatim,ragged-right] { \time 4/2 << - { c'1 ~ 2. e'8 f' } + \relative { c'1~ 2. e8 f } \\ - { + \relative { \override Beam.positions = #'(-1 . -1) - e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' + e''8 e e e + e e e e + f2 g } >> << - { c'1 ~ 2. e'8 f' } + \relative { c'1~ 2. e8 f } \\ - { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } + \relative { + e''8 e e e + e e e e + f2 g + \revert Beam.positions + } >> } @end lilypond @noindent 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. +die zweite Stimme des weiteren Taktes mit Achtelnoten auswirkt, +während sie keine Auswirkung auf die Hälse der ersten Stimme hat. +Sobald das override nicht mehr benötigt wird, sollte es wie +zu sehen reverted werden. -@subheading force-hshift (vertikale Verschiebunseigenschaft) +@node Die force-hshift-Eigenschaft +@unnumberedsubsubsec Die @code{force-hshift}-Eigenschaft (horizontale Verschiebunseigenschaft) +@translationof The force-hshift property @cindex force-hshift-Eigenschaft @cindex Vertikale Verschiebung erzwingen @@ -3210,14 +3675,19 @@ gebracht: @noindent Die inneren Noten des ersten Akkordes (also das As in der vierten Stimme) müssen nicht mit shift verschoben aus der Noten-Kolumne der höheren Stimme -verschoben werden. Um das zu korrigieren, setzen wir den Wert von -@code{force-hshift}, einer Eigenschaft von @code{NoteColumn}, auf Null. +verschoben werden, daher verwenden wir @code{\shiftOff}. -Im zweiten Akkord wollen wir, dass das F sich am A orientiert und die +Im zweiten Akkord wollen wir, dass das F sich am As orientiert und die tiefste Note leicht nach rechts verschoben wird, damit ein Zusammenstoß der Hälse vermieden wird. Das erreicht man mit @code{force-hshift} in -@code{NoteColumn} des unteren Des, um es nach rechts um einen halben -Notenlinienzwischenraum zu verschieben. +@code{NoteColumn} des unteren Des, um es einen halben +Notenlinienzwischenraum nach rechts zu verschieben und gleichzeitig +@code{force-hshift} für das F auf Null. +Ihnen ist sicher aufgefallen, dass wir @code{\once} verwenden damit +die Veränderung nicht über den konkreten Fall hinaus wirkt, auch wenn +im konkreten kleinen Beispiel @code{\once} und das zweite @code{\override} +in der vierten Stimme weggelassen werden könnte. Das wäre aber +schlechter Stil. Hier das Endergebnis: @@ -3231,25 +3701,18 @@ Hier das Endergebnis: << { c''2 aes4. bes8 } \\ - { - 2 - \once \override NoteColumn.force-hshift = #0.5 - des2 - } + { 2 \once \override NoteColumn.force-hshift = 0.5 des } \\ \\ - { - \override NoteColumn.force-hshift = #0 - aes'2 f4 fes - } + { \once \shiftOff aes'2 \once \shiftOff f4 fes } >> | 1 | } @end lilypond -@node Beispiele aus dem Leben -@subsection Beispiele aus dem Leben +@node Beispiel aus dem Leben +@subsection Beispiel aus dem Leben @translationof Real music example Das Kapitel zu Optimierungen soll mit einem komplizierten Beispiel @@ -3267,7 +3730,9 @@ Hier zunächst der Satz, wie er aussehen soll, allerdings ohne Dynamik, Fingersatz und Pedalbezeichnung, um das Beispiel nicht zu kompliziert zu machen. +@c The following should appear as music without code @c This example should not be indexed +@c line-width ensures no break @lilypond[quote,ragged-right,line-width=6\in] rhMusic = \relative { \new Voice { @@ -3278,7 +3743,7 @@ rhMusic = \relative { \time 6/4 \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn - bes2.^\markup { \bold "Moderato" } r8 + bes2.\tempo "Moderato" r8 << { c,8 d fis bes a } \new Voice { @@ -3356,7 +3821,8 @@ erstellt: @c line-width ensures no break @lilypond[quote,verbatim,ragged-right,line-width=6\in] rhMusic = \relative { - \new Voice { r2 c''4. g8 | + \new Voice { + r2 c''4. g8 | bes1~ | \time 6/4 bes2. r8 @@ -3464,13 +3930,13 @@ lhMusic = \relative { @end lilypond Der erste Takt stimmt jetzt schon. Der zweite Takt enthält ein -Arpeggio und wird mit einer doppelten Taktlinie beschlossen. +Arpeggio und wird mit einem doppelten Taktstrich beschlossen. Wie können wir diese notieren, denn sie sind im Handbuch zum Lernen nicht vorgekommen? Hier brauchen wir jetzt die Notationsreferenz. Ein Blick in den Index zeigt uns die -Einträge für @qq{Arpeggio} und @qq{Taktlinien}: ein +Einträge für @qq{Arpeggio} und @qq{Taktstriche}: ein Arpeggio also erstellt man mit dem Befehl @code{\arpeggio} -hinter einem Akkord und eine doppelte Taktlinie wird mit dem +hinter einem Akkord und einen doppelten Taktstrich wird mit dem Befehl @code{\bar "||"} erstellt. Das ist einfach. Als nächstes muss der Zusammenstoß des Bindebogens mit der Taktartbezeichnung gelöst werden. Das geht am besten, indem wir den Bogen nach @@ -3480,7 +3946,7 @@ die relativ zum System positioniert werden, vertikal verschoben werden können, indem ihre @code{staff-position}-Eigenschaft geändert wird, die in halben Notenlinienabständen relativ zur Mittellinie angegeben wird. Dieser @code{\override}-Befehl -also, direkt vor die erste übergebundene Note gestellt, verschiebt +also, direkt vor die erste über gebundene Note gestellt, verschiebt den Bindebogen (@code{tie}) 3,5 halbe Notenlinienabstände über die Mittellinie: @@ -3540,9 +4006,9 @@ lhMusic = \relative { @end lilypond In Takt drei beginnt der Moderato-Abschnitt. In der -Übung wurde behandelt, wie man fetten Text mit dem -@code{\markup}-Befehl eingibt, es ist also einfach, das -@qq{Moderato} in fetter Schrift hinzuzufügen. Wie aber werden Noten +Übung wurde behandelt, wie man ein Tempobezeichnung mittels des +@code{\tempo}-Befehls eingibt. Damit ist das hinzufügen des +@qq{Moderato} einfach. Wie aber werden Noten verschmolzen? Hier nehmen wir wieder die Notationsreferenz zu Hilfe. Die Suche nach @qq{Verschmelzen} (engl. merge) im Index führt uns zu den Befehlen, um Noten mit @@ -3569,10 +4035,8 @@ Abschnittes stellen und @noindent um das Verhalten wieder auszuschalten. Das sieht so aus: -@cindex Bindebogen, Beispiel zur Veränderung -@cindex staff-position-Eigenschaft, Beispiel - -@lilypond[quote,verbatim,ragged-right,line-width=6\in] +@c line-width ensures no break +@lilypond[quote,ragged-right,line-width=6\in] rhMusic = \relative { \new Voice { r2 c''4.\( g8 | @@ -3580,7 +4044,7 @@ rhMusic = \relative { bes1~ | \bar "||" \time 6/4 - bes2.^\markup { \bold "Moderato" } r8 + bes2.\tempo "Moderato" r8 \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn % Start polyphonic section of four voices @@ -3646,6 +4110,10 @@ Stufe weiter verschoben werden mit @code{\shiftOnn}, damit es die Verschmelzung der Ds nicht stört. Das sieht jetzt so aus: +@cindex Bindebogen, Beispiel zur Veränderung +@cindex staff-position-Eigenschaft, Beispiel + +@c line-width ensures no break @lilypond[quote,verbatim,ragged-right,line-width=6\in] rhMusic = \relative { \new Voice { @@ -3654,7 +4122,7 @@ rhMusic = \relative { bes1~ | \bar "||" \time 6/4 - bes2.^\markup { \bold "Moderato" } r8 + bes2.\tempo "Moderato" r8 \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn % Start polyphonic section of four voices @@ -3662,7 +4130,8 @@ rhMusic = \relative { { c,8 d fis bes a } % continuation of main voice \new Voice { \voiceTwo - % 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 c,8~ \shiftOnn c2 } \new Voice { @@ -3694,7 +4163,7 @@ lhMusic = \relative { \key g \minor \rhMusic >> - \new Staff = "LH" << + \new Staff = "LH" << \key g \minor \clef "bass" \lhMusic @@ -3716,6 +4185,7 @@ wir durchsichtig und das C verschieben wir mit der @cindex Notenhals, Beispiel zur Veränderung @cindex transparent-Eigenschaft, Beispiel +@c line-width ensures no break @lilypond[quote,verbatim,ragged-right,line-width=6\in] rhMusic = \relative { \new Voice { @@ -3724,7 +4194,7 @@ rhMusic = \relative { bes1~ | \bar "||" \time 6/4 - bes2.^\markup { \bold "Moderato" } r8 + bes2.\tempo "Moderato" r8 \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn % Start polyphonic section of four voices @@ -3789,8 +4259,8 @@ lhMusic = \relative { @menu * Andere Benutzung von Optimierungen:: -* Variablen für Optimierungen einsetzen:: -* Globale Formatierung:: +* Variablen für Layout Anpassungen einsetzen:: +* Formatvorlagen:: * Mehr Information:: * Fortgeschrittene Optimierungen mit Scheme:: @end menu @@ -3799,6 +4269,11 @@ lhMusic = \relative { @subsection Andere Benutzung von Optimierungen @translationof Other uses for tweaks +@menu +* Noten zwischen unterschiedlichen Stimmen überbinden:: +* Eine Fermate in MIDI simulieren:: +@end menu + @cindex Transparente Objekte @cindex Entfernen von Objekten @cindex Verstecken von Objekten @@ -3807,20 +4282,23 @@ lhMusic = \relative { @cindex Objekte unsichtbar machen @cindex Objekte entfernen @cindex Objekte verstecken -@cindex Noten zwischen Stimmen überbinden -@cindex Überbinden von Noten zwischen Stimmen -@subheading Noten zwischen unterschiedlichen Stimmen überbinden +@node Noten zwischen unterschiedlichen Stimmen überbinden +@unnumberedsubsubsec Noten zwischen unterschiedlichen Stimmen überbinden +@translationof Tying notes across voices + +@cindex Noten zwischen Stimmen über binden +@cindex Über binden von Noten zwischen Stimmen Das nächste Beispiel zeigt, wie man Noten von verschiedenen Stimmen miteinander verknüpfen kann, indem man Bindebögen für Überbindungen benutzt. Normalerweise können nur zwei -Noten der gleichen Stimme übergebunden werden. Wenn +Noten der gleichen Stimme über gebunden werden. Wenn man zwei Stimmen benutzt, wobei die überbundenen Noten sich in der selben befinden, -@lilypond[quote,fragment,relative=2] -<< { b8~ 8\noBeam } \\ { b[ g8] } >> +@lilypond[quote] +<< { b'8~ 8\noBeam } \\ { b'8[ g'] } >> @end lilypond @noindent @@ -3828,40 +4306,33 @@ und dann den ersten Hals nach oben unsichtbar macht, sieht es so aus, als ob die Überbindung zwischen den Stimmen stattfindet: -@cindex Hals, Beispiel zur Veränderung -@cindex Notenhals, Beispiel zur Veränderung +@cindex Hals, Beispiel zum Verstecken +@cindex Notenhals, Beispiel zum Verstecken +@cindex Fähnchen, Beispiel zum Verstecken @cindex transparent-Eigenschaft, Beispiel +@funindex \omit -@lilypond[quote,fragment,relative=2,verbatim] +@lilypond[quote,verbatim] << { - \tweak Stem.transparent ##t - b8~ 8\noBeam + \once \omit Stem + \once \omit Flag + b'8~ 8\noBeam } \\ - { b8[ g] } + { b'8[ g'] } >> @end lilypond -Um sicherzugehen, dass der unsichtbare Hals den Bindebogen -nicht zu sehr verkleinert, kann er verlängert werden, indem -seine Länge (@code{length}) auf den Wert @code{8} -gesetzt wird: - -@lilypond[quote,fragment,relative=2,verbatim] -<< - { - \tweak Stem.transparent ##t - \tweak Stem.length #8 - b8~ 8\noBeam - } -\\ - { b[ g8] } ->> -@end lilypond +@seealso +Handbuch zum Lernen: +@ref{Der once-Präfix,,Der @code{@bs{}once}-Präfix}, +@ref{Die stencil-Eigenschaft}. -@subheading Eine Fermate in MIDI simulieren +@node Eine Fermate in MIDI simulieren +@unnumberedsubsubsec Eine Fermate in MIDI simulieren +@translationof Simulating a fermata in MIDI @cindex stencil-Eigenschaft, Benutzung @cindex Fermate, Benutzung in MIDI @@ -3895,32 +4366,35 @@ einem entfernten Objekt gezeigt: % Visible tempo marking \tempo 4=120 a'4 a a - \once \override Score.MetronomeMark.transparent = ##t + \once \hide Score.MetronomeMark % Invisible tempo marking to lengthen fermata in MIDI \tempo 4=80 - a4\fermata + a4\fermata | % New tempo for next section \tempo 4=100 - a4 a a a + a4 a a a | } \layout { } \midi { } } @end lilypond +@cindex Metronom-Bezeichnung, Beispiel zur Veränderung +@cindex transparent-Eigenschaft, Beispiel + @lilypond[quote,verbatim,ragged-right] \score { \relative { % Visible tempo marking \tempo 4=120 a'4 a a - \once \override Score.MetronomeMark.stencil = ##f + \once \omit Score.MetronomeMark % Invisible tempo marking to lengthen fermata in MIDI \tempo 4=80 - a4\fermata + a4\fermata | % New tempo for next section \tempo 4=100 - a4 a a a + a4 a a a | } \layout { } \midi { } @@ -3940,9 +4414,9 @@ Glossar: @rglos{system}. -@node Variablen für Optimierungen einsetzen -@subsection Variablen für Optimierungen einsetzen -@translationof Using variables for tweaks +@node Variablen für Layout Anpassungen einsetzen +@subsection Variablen für Layout Anpassungen einsetzen +@translationof Using variables for layout adjustments @cindex Variablen, Benutzung zur Optimierung @cindex Optimierung mit Variablen @@ -4041,12 +4515,12 @@ VerseFour = \lyricmode { @end lilypond -@node Globale Formatierung -@subsection Globale Formatierung +@node Formatvorlagen +@subsection Formatvorlagen @translationof Style sheets Die Ausgabe von LilyPond kann sehr stark verändert werden, siehe -zu Einzelheiten @ref{Die Ausgabe verändern}. Aber was ist, +zu Einzelheiten @ref{Die Ausgabe verbessern}. 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 @@ -4054,22 +4528,19 @@ 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}. +in @ref{Fortgeschrittene Optimierungen mit Scheme} erklärt. @lilypond[quote,verbatim,ragged-right] mpdolce = - #(make-dynamic-script - #{ \markup { \hspace #0 - \translate #'(5 . 0) - \line { \dynamic "mp" - \text \italic "dolce" } } - #}) + \tweak self-alignment-X #-0.6 + #(make-dynamic-script + #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #}) inst = #(define-music-function (string) (string?) - #{ <>^\markup \bold \box #string #}) + #{ <>^\markup \bold \box #string #}) \relative { \tempo 4=50 @@ -4093,24 +4564,21 @@ 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" @} @} - #@}) + \tweak self-alignment-X #-0.6 + #(make-dynamic-script + #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@}) inst = #(define-music-function (string) (string?) - #@{ <>^\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 @file{.ily} wird benutzt, um diese Datei als eine eingefügte, inkludierte zu kennzeichnen, die -man nicht alleinstehend kompilieren kann.) Jetzt ändern wir 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 @@ -4131,12 +4599,9 @@ 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" } } - #}) + \tweak self-alignment-X #-0.6 + #(make-dynamic-script + #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #}) inst = #(define-music-function @@ -4167,12 +4632,9 @@ wir also in @qq{4/4}. @example %%% definitions.ily mpdolce = -#(make-dynamic-script - #@{ \markup @{ \hspace #0 - \translate #'(5 . 0) - \line @{ \dynamic "mp" - \text \italic "dolce" @} @} - #@}) + \tweak self-alignment-X #-0.6 + #(make-dynamic-script + #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@}) inst = #(define-music-function @@ -4183,7 +4645,7 @@ inst = \layout@{ \context @{ \Score - \override MetronomeMark.extra-offset = #'(-9 . 0) + \override MetronomeMark.extra-offset = #'(-5 . 0) \override MetronomeMark.padding = #'3 @} \context @{ @@ -4200,12 +4662,9 @@ inst = @lilypond[quote,ragged-right] mpdolce = -#(make-dynamic-script - #{ \markup { \hspace #0 - \translate #'(5 . 0) - \line { \dynamic "mp" - \text \italic "dolce" } } - #}) + \tweak self-alignment-X #-0.6 + #(make-dynamic-script + #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #}) inst = #(define-music-function @@ -4216,7 +4675,7 @@ inst = \layout{ \context { \Score - \override MetronomeMark.extra-offset = #'(-9 . 0) + \override MetronomeMark.extra-offset = #'(-5 . 0) \override MetronomeMark.padding = #'3 } \context { @@ -4248,14 +4707,11 @@ auf dem Monitor dargestellt werden sollen, wird auch die Notengröße global geändert. @example -%%% definitions.ily +%%% web-publish.ily mpdolce = -#(make-dynamic-script - #@{ \markup @{ \hspace #0 - \translate #'(5 . 0) - \line @{ \dynamic "mp" - \text \italic "dolce" @} @} - #@}) + \tweak self-alignment-X #-0.6 + #(make-dynamic-script + #@{ \markup @{ \dynamic mp \normal-text \italic \bold dolce @} #@}) inst = #(define-music-function @@ -4268,7 +4724,7 @@ inst = \layout@{ \context @{ \Score - \override MetronomeMark.extra-offset = #'(-9 . 0) + \override MetronomeMark.extra-offset = #'(-5 . 0) \override MetronomeMark.padding = #'3 @} \context @{ @@ -4284,12 +4740,9 @@ inst = @lilypond[quote,ragged-right] mpdolce = -#(make-dynamic-script - #{ \markup { \hspace #0 - \translate #'(5 . 0) - \line { \dynamic "mp" - \text \italic "dolce" } } - #}) + \tweak self-alignment-X #-0.6 + #(make-dynamic-script + #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #}) inst = #(define-music-function @@ -4301,7 +4754,7 @@ inst = \layout{ \context { \Score - \override MetronomeMark.extra-offset = #'(-9 . 0) + \override MetronomeMark.extra-offset = #'(-5 . 0) \override MetronomeMark.padding = #'3 } \context { \Voice @@ -4341,7 +4794,7 @@ Der Anfang von @file{music.ly} würde dann folgendermaßen aussehen: 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 +an @qq{Formatvorlagen} (engl. Stylesheets) für meine Projekte. Ich fange jede Datei mit der Zeile @code{\include "../global.ily"} an, die etwa folgendes einbindet: @@ -4374,7 +4827,7 @@ z. B. in einer GNU/Linux-Distribution oder unter fink oder cygwin installiert), und b) auf welchem Betriebssystem Sie das Programm benutzen: -@strong{Von lilypond.org heruntergeladen} +@subsubsubheading Von lilypond.org heruntergeladen @itemize @bullet @item GNU/Linux @@ -4405,8 +4858,7 @@ Wechseln Sie mit dem Windows Explorer ins Verzeichnis @end itemize -@strong{Mit einem Paket-Manager installiert oder selber aus -den Quellen kompiliert} +@subsubsubheading Mit einem Paket-Manager installiert oder selber aus den Quellen kompiliert Wechseln Sie in das Verzeichnis @file{@var{PREFIX}/share/lilypond/@var{X.Y.Z}/}, wobei @@ -4431,7 +4883,7 @@ Befehle für LilyPond, wie etwa @code{\stemUp} und @code{\slurDotted}. Sie können sehen, dass es sich um nichts mehr handelt als Definitionen von Variablen, die eine oder mehrere @code{\override}-Befehle enthalten. Der -Befehl @code{/tieDotted} etwa wird folgendermaßen definiert: +Befehl @code{\tieDotted} etwa wird folgendermaßen definiert: @example tieDotted = @{ @@ -4472,7 +4924,7 @@ im Moment außerhalb des Rahmens dieses Handbuchs, denn sie erfordern einige Kenntnis der Scheme-Sprache. Die Warnung ist hier angebracht, dass des ein gutes technisches Verständnis oder sehr viel Zeit braucht, um Scheme und diese -Dateien zu verstehen (siehe auch @rextend{Scheme-Übung}). +Dateien zu verstehen (siehe auch @rextend{Scheme-Tutorium}). Wenn Sie sich mit Scheme auskennen, sind hier mögliche interessante Dateien: @@ -4508,7 +4960,7 @@ zu beeinflussen. Code, der in der Scheme-Programmiersprache geschrieben ist, kann direkt in die interne Satzmaschine von LilyPond eingefügt werden. Natürlich brauchen Sie dazu wenigstens ein grundlegendes Verständnis von Scheme. Eine Einleitung finden -Sie in der @rextend{Scheme-Übung}. +Sie in der @rextend{Scheme-Tutorium}. Zur Illustration der vielen Möglichkeiten soll gezeigt werden, dass eine Eigenschaft nicht nur auf eine Konstante, sondern auch auf eine @@ -4547,4 +4999,4 @@ zu ihrer Position innerhalb der Tonleiter gesetzt. @end lilypond Weiter Beispiele, die die Benutzung dieser programmierbaren -Schnittstelle zeigen, finden sich in @rextend{Optimierungen mit Scheme}. +Schnittstelle zeigen, finden sich in @rextend{Callback-Funktionen}. diff --git a/Documentation/de/notation/changing-defaults.itely b/Documentation/de/notation/changing-defaults.itely index cf1ecaeb33..016843f0b3 100644 --- a/Documentation/de/notation/changing-defaults.itely +++ b/Documentation/de/notation/changing-defaults.itely @@ -23,7 +23,7 @@ großen Anzahl von @qq{Schaltern und Knöpfen} kontrolliert werden. Sie werden als @qq{Eigenschaften} (engl. properties) bezeichnet. Eine kurze Einführung und Übung, wie man auf diese Eigenschaften zugreifen kann und sie verändern kann, findet sich im Handbuch -zum Lernen, siehe @rlearning{Die Ausgabe verändern}. Das Kapitel +zum Lernen, siehe @rlearning{Die Ausgabe verbessern}. Das Kapitel sollte zuerst gelesen werden. In diesem Kapitel werden die gleichen Themen behandelt, aber der Schwerpunkt liegt eher auf einer technischen Darstellung. @@ -44,7 +44,7 @@ Intern benutzt LilyPond Scheme (ein LISP-Dialekt), um eine Infrastruktur zur Verfügung zu stellen. Wenn Layoutentscheidungen verändert werden sollen, müssen auf die programminternen Prozesse zugegriffen werden, wozu Scheme-Code benötigt wird. Scheme-Abschnitte werden in einer -LilyPond-Quelldatei mit einer Raute@tie{}@code{#} begonnen.@footnote{@rextend{Scheme-Übung} enthält eine kurze Übung, wie +LilyPond-Quelldatei mit einer Raute@tie{}@code{#} begonnen.@footnote{@rextend{Scheme-Tutorium} enthält eine kurze Übung, wie man Zahlen, Listen, Zeichenketten und Symbole in Scheme notiert.} @@ -67,7 +67,7 @@ verändern kann. @menu * Was sind Kontexte?:: -* Kontexte erstellen:: +* Kontexte erstellen und referenzieren:: * Kontexte am Leben halten:: * Umgebungs-Plugins verändern:: * Die Standardeinstellungen von Kontexten ändern:: @@ -247,9 +247,9 @@ wenn Stichnoten gesetzt werden. Ausgabe von Akkordsymbolen. -@node Kontexte erstellen -@subsection Kontexte erstellen -@translationof Creating contexts +@node Kontexte erstellen und referenzieren +@subsection Kontexte erstellen und referenzieren +@translationof Creating and referencing contexts In Partituren mit einer Stimme und einem System werden die Kontexte normalerweise automatisch erstellt. In komplizierteren Partituren @@ -1016,7 +1016,7 @@ Notationsreferenz: @ref{Unterste Kontexte -- Stimmen}, @ref{Der set-Befehl}, @ref{Der override-Befehl}, -@ref{Die \layout-Umgebung}. +@ref{Die layout-Umgebung}. @node Neue Kontexte definieren @@ -3661,7 +3661,7 @@ Aussehen des Notenbildes zu polieren. @seealso Handbuch zum Lernen: -@rlearning{Die Ausgabe verändern}, +@rlearning{Die Ausgabe verbessern}, @rlearning{Mehr Information}. Notationsreferenz: diff --git a/Documentation/de/notation/input.itely b/Documentation/de/notation/input.itely index 5879d98eb8..e4ed6b1483 100644 --- a/Documentation/de/notation/input.itely +++ b/Documentation/de/notation/input.itely @@ -388,7 +388,7 @@ die globalen Einstellungen für das ganze @qq{Buch}. Wenn mehr als eine derartige Definition desselben Typs auf oberster Ebene angegeben wird, hat die spätere Vorrang. Für Einzelheiten, wie dadurch die @code{\layout}-Umgebung beeinflusst wird, siehe -@ref{Die \layout-Umgebung}. +@ref{Die layout-Umgebung}. @item Ein direkter Scheme-Ausdruck, wie etwa @@ -555,7 +555,7 @@ Handbuch zum Lernen: @rlearning{Wie eine LilyPond-Eingabe-Datei funktioniert}. Notationsreferenz: -@ref{The \layout block}. +@ref{Die layout-Umgebung}. @node Titel @@ -1857,7 +1857,7 @@ ohne dass man Änderungen an den Noten vornehmen muss. Wenn Notenabschnitt in Variablen definiert werden, können sie an unterschiedlichen Stellen in der Partitur eingesetzt werden, -siehe auch @rlearning{Stücke durch Bezeichner organisieren}. Zum +siehe auch @rlearning{Stücke durch Variablen organisieren}. Zum Beispiel enthält eine Vokalpartitur für ein @notation{a cappella} Stück oft einen Klavierauszug, der das Einüben einfacher macht. Der Klavierauszug enthält die gleichen Noten, sodass man sie nur @@ -2092,7 +2092,7 @@ das ursprüngliche @code{\test} seine Bedeutung behält. @seealso Handbuch zum Lernen: -@rlearning{Stücke durch Bezeichner organisieren}. +@rlearning{Stücke durch Variablen organisieren}. Notationsreferenz: @ref{Automatische Kombination von Stimmen}, @@ -2131,13 +2131,13 @@ Partitur unterschiedliche Editionen zu erstellen bzw. Standardeinstellungen für eine ganze Anzahl von Partituren wiederzuverwenden, indem man einfach die entsprechende Einstellungsdatei angibt. -Diese Technik funktioniert auch gut für globale Formatierungen, wie behandelt -in @rlearning{Globale Formatierung}. +Diese Technik funktioniert auch gut für Formatvorlagen, wie +in @rlearning{Formatvorlagen} behandelt. @seealso Handbuch zum Lernen: -@rlearning{Stücke durch Bezeichner organisieren}, -@rlearning{Globale Formatierung}. +@rlearning{Stücke durch Variablen organisieren}, +@rlearning{Formatvorlagen}. Notationsreferenz: @ref{LilyPond-Dateien einfügen}. @@ -2466,7 +2466,7 @@ Das Standardausgabeformat für gedruckte Partituren ist PDF (Portable Document Forma) und PS (PostScript). SVG (Scalable Vector Graphics), EPS (Encapsulated PostScript) und PNG (Portable Network Graphics) gibt es auch als Ausgabeformate über die -Kommandozeile. Siehe @rprogram{Optionen auf der Kommandozeile für lilypond}. +Kommandozeile. Siehe @rprogram{Grundlegende Optionen auf der Kommandozeile für LilyPond}. @node Die Notationsschriftart verändern diff --git a/Documentation/de/notation/keyboards.itely b/Documentation/de/notation/keyboards.itely index b1ad8543b3..ad2d1b64e4 100644 --- a/Documentation/de/notation/keyboards.itely +++ b/Documentation/de/notation/keyboards.itely @@ -118,7 +118,7 @@ werden, siehe hierzu @item Viele der Optimierungen, die für Tastenmusik nötig sein können, sind demonstriert in -@rlearning{Beispiele aus dem Leben}. +@rlearning{Beispiel aus dem Leben}. @item Unsichtbare Noten können eingesetzt werden, um Überbindungen zwischen Stimmen zu setzen, siehe @@ -135,7 +135,7 @@ können, sind demonstriert in @seealso Handbuch zum Lernen: -@rlearning{Beispiele aus dem Leben}, +@rlearning{Beispiel aus dem Leben}, @rlearning{Andere Benutzung von Optimierungen}. Notationsreferenz: diff --git a/Documentation/de/notation/notation-appendices.itely b/Documentation/de/notation/notation-appendices.itely index 1a14675ecb..25594288e3 100644 --- a/Documentation/de/notation/notation-appendices.itely +++ b/Documentation/de/notation/notation-appendices.itely @@ -1220,7 +1220,7 @@ benutzt werden: @node Liste der Sonderzeichen -+@appendixsec Liste der Sonderzeichen +@appendixsec Liste der Sonderzeichen @translationof List of special characters Folgende Sonderezeichen-Bezeichnungen können benutzt werden, diff --git a/Documentation/de/notation/pitches.itely b/Documentation/de/notation/pitches.itely index a20e6fa6b2..77589db61d 100644 --- a/Documentation/de/notation/pitches.itely +++ b/Documentation/de/notation/pitches.itely @@ -326,7 +326,7 @@ Tonhöhe dann im Notenbild dargestellt wird. Eine einfache Tonhöhe wie etwa@tie{}@code{c} bedeutet also immer das eingestrichene C ohne Versetzungszeichen, egal was für Vorzeichen/Tonart oder Schlüssel gesetzt sind. -Mehr Information dazu in @rlearning{Versetzungszeichen und Tonartbezeichnung (Vorzeichen)}.} +Mehr Information dazu in @rlearning{Tonhöhen und Tonartbezeichnungen (Vorzeichen)}.} @cindex Notenbezeichnungen, Deutsch @cindex Notenbezeichnungen, Holländisch @@ -440,7 +440,7 @@ Glossar: @rglos{quarter tone}. Handbuch zum Lernen: -@rlearning{Versetzungszeichen und Tonartbezeichnung (Vorzeichen)}. +@rlearning{Tonhöhen und Tonartbezeichnungen (Vorzeichen)}. Notationsreferenz: @ref{Automatische Versetzungszeichen}, @@ -629,7 +629,7 @@ Dieser Abschnitt zeigt, wie man Tonhöhen beeinflusst. @menu * Oktavenüberprüfung:: -* Transposition:: +* Transponieren:: * Umkehrung:: * Krebs:: * Modale Transformierungen:: @@ -714,8 +714,8 @@ Referenz der Interna: @rinternals{RelativeOctaveCheck}. -@node Transposition -@unnumberedsubsubsec Transposition +@node Transponieren +@unnumberedsubsubsec Transponieren @translationof Transpose @cindex Transposition @@ -901,7 +901,7 @@ indem sie in eine @code{\relative}-Umgebung eingeschlossen werden.} Notationsreferenz: @ref{Modale Transformierungen}, @ref{Krebs}, -@ref{Transposition}. +@ref{Transponieren}. @node Krebs @@ -935,7 +935,7 @@ ersetllt werden, indem man @ref{Automatic note splitting} aktiviert. Notationsreferenz: @ref{Modale Transformierungen}, @ref{Umkehrung}, -@ref{Transposition}. +@ref{Transponieren}. @@ -1083,7 +1083,7 @@ motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 } Notationsreferenz: @ref{Umkehrung}, @ref{Krebs}, -@ref{Transposition}. +@ref{Transponieren}. @node Tonhöhen anzeigen lassen @@ -1253,7 +1253,7 @@ Tonhöhe dann im Notenbild dargestellt wird. Eine einfache Tonhöhe wie etwa@tie{}@code{c} bedeutet also immer das eingestrichene C ohne Versetzungszeichen, egal was für Vorzeichen/Tonart oder Schlüssel gesetzt sind. -Mehr Information dazu in @rlearning{Versetzungszeichen und Tonartbezeichnung (Vorzeichen)}.} +Mehr Information dazu in @rlearning{Tonhöhen und Tonartbezeichnungen (Vorzeichen)}.} Die Vorzeichen zeigen die Tonart an, in welcher ein Stück notiert ist. Es handelt sich um eine Anzahl von Alterationszeichen (Kreuzen oder @@ -1331,7 +1331,7 @@ Glossar: @rglos{scordatura}. Handbuch zum Lernen: -@rlearning{Versetzungszeichen und Tonartbezeichnung (Vorzeichen)}. +@rlearning{Tonhöhen und Tonartbezeichnungen (Vorzeichen)}. Schnipsel: @rlsr{Pitches}. @@ -1495,7 +1495,7 @@ Glossar: Notationsreferenz: @ref{Andere Stimmen zitieren}, -@ref{Transposition}. +@ref{Transponieren}. Schnipsel: @rlsr{Pitches}. diff --git a/Documentation/de/notation/rhythms.itely b/Documentation/de/notation/rhythms.itely index 8f253142f2..c73fae7ef3 100644 --- a/Documentation/de/notation/rhythms.itely +++ b/Documentation/de/notation/rhythms.itely @@ -3070,7 +3070,7 @@ Taktnummern können mit der oberen Ecke der Klammer zu Beginn des Systems zusammenstoßen. Um das zu verhindert, kann die @code{padding}-Eigenschaft von @code{BarNumer} verwendet werden, um die Zahl zu verschieben. Für mehr Information siehe -@rinternals{StaffgGroup} und @rinternals{BarNumber}. +@rinternals{StaffGroup} und @rinternals{BarNumber}. @node Takt- und Taktzahlüberprüfung diff --git a/Documentation/de/notation/simultaneous.itely b/Documentation/de/notation/simultaneous.itely index 526ffebb7e..7791aa6b05 100644 --- a/Documentation/de/notation/simultaneous.itely +++ b/Documentation/de/notation/simultaneous.itely @@ -910,7 +910,7 @@ Musikglossar: Handbuch zum Lernen: @rlearning{Mehrere Noten auf einmal}, @rlearning{Voice enthält Noten}, -@rlearning{Beispiele aus dem Leben}. +@rlearning{Beispiel aus dem Leben}. Schnipsel: @rlsr{Simultaneous notes}. @@ -1045,7 +1045,7 @@ oder eine Stimme als Solo anzuzeigen ist darum nicht ideal, weil die Grund kann die @code{\partcombine}-Funktion mit folgenden Befehlen verändert werden: -Befehle, die auf @code{@dots Once} enden, gelten nur für die nächste +Befehle, die auf @code{@dots{} Once} enden, gelten nur für die nächste Note eines musikalischen Ausdrucks. @itemize @@ -1277,7 +1277,7 @@ global = { @seealso Handbuch zum Lernen: -@rlearning{Stücke durch Bezeichner organisieren}. +@rlearning{Stücke durch Variablen organisieren}. Schnipsel: @rlsr{Simultaneous notes}. diff --git a/Documentation/de/notation/spacing.itely b/Documentation/de/notation/spacing.itely index d9152f6431..75abb5462f 100644 --- a/Documentation/de/notation/spacing.itely +++ b/Documentation/de/notation/spacing.itely @@ -69,8 +69,8 @@ Dieser Abschnitt behandelt Seitenlayout-Optionen innerhalb der @code{\paper}-Umg @node Die paper-Umgebung -@subsection Die @code{\paper}-Umgebung -@translationof The \paper block +@subsection Die @code{@bs{}paper}-Umgebung +@translationof The paper block @cindex Papiergröße @cindex Größe, Papier @@ -105,7 +105,7 @@ in @ref{Eigene Kopf und Fußzeilen sowie Titel}. Die meisten @code{\paper}-Variablen funktionieren nur innerhalb der @code{\paper}-Umgebung. Die wenigen, die auch in der @code{\layout}-Umgebung -funktionieren, finden sich in @ref{Die \layout-Umgebung}. +funktionieren, finden sich in @ref{Die layout-Umgebung}. Außer wenn anders angegeben, werden alle @code{\paper}-Variablen, die Abständen auf der Seite antsprechen, in Millimetern gemessen, es sei denn, @@ -145,7 +145,7 @@ der obigen Definition ist: Notationsreferenz @ref{Papierformat und automatische Skalierung}, @ref{Eigene Kopf und Fußzeilen sowie Titel}, -@ref{Die \layout-Umgebung}. +@ref{Die layout-Umgebung,,Die @code{@bs{}layout}-Umgebung}. Installierte Dateien: @file{ly/paper-defaults-init.ly}. @@ -299,8 +299,8 @@ Installierte Dateien: @node Vertikale paper-Variablen mit festen Abständen -@unnumberedsubsubsec Vertikale @code{\paper}-Variablen mit festen Abständen -@translationof Fixed vertical spacing \paper variables +@subsection Vertikale @code{@bs{}paper}-Variablen mit festen Abständen +@translationof Fixed vertical spacing paper variables @warning{Einige @code{@bs{}paper}-Dimensionen werden automatisch nach Papierformat skaliert, was zu ungewolltem Verhalten führen kann. Siehe @@ -369,8 +369,8 @@ Randeinstellung für die Ränder oben und unten. @node Vertikale paper-Variablen mit flexiblen Abständen -@unnumberedsubsubsec Vertikale @code{\paper}-Variablen mit flexiblen Abständen -@translationof Flexible vertical spacing \paper variables +@subsection Vertikale @code{@bs{}paper}-Variablen mit flexiblen Abständen +@translationof Flexible vertical spacing paper variables In den meisten Fällen bietet es sich an, dass die vertikalen Abstände zwischen bestimmten Objekten (wie Ränder, Titel, @@ -391,7 +391,7 @@ werden, und nicht innerhalb der @code{\paper}-Umgebung. Siehe auch @menu * Struktur der Alisten für flexible vertikale Abstände:: -* Liste der flexiblen vertikalen Abstandsvariablen in \paper:: +* Liste der flexiblen vertikalen Abstandsvariablen in paper:: @end menu @@ -488,9 +488,9 @@ vollständig neu definiert: @end example -@node Liste der flexiblen vertikalen Abstandsvariablen in \paper -@unnumberedsubsubsec Liste der flexiblen vertikalen Abstandsvariablen in @code{\paper} -@translationof List of flexible vertical spacing \paper variables +@node Liste der flexiblen vertikalen Abstandsvariablen in paper +@unnumberedsubsubsec Liste der flexiblen vertikalen Abstandsvariablen in @code{@bs{}paper} +@translationof List of flexible vertical spacing paper variables Die Bezeichnungen dieser Variablen entsprechen dem Format @code{@var{obere}-@var{untere}-platzierung}, wobei @code{@var{obere}} @@ -572,8 +572,8 @@ Schnipsel: @node paper-Variablen für horizontale Abstände -@unnumberedsubsubsec \paper-Variablen für horizontale Abstände -@translationof Horizontal spacing \paper variables +@subsection @code{@bs{}paper}-Variablen für horizontale Abstände +@translationof Horizontal spacing paper variables @warning{Einige @code{@bs{}paper}-Dimensionen werden automatische entsprechend dem Papierformat skaliert und können deshalb ungewollte @@ -587,8 +587,8 @@ Resultate haben. Siehe @ref{Automatische Skalierung auf ein Papierformat}.} @node paper-Variablen für Breite und Ränder -@unnumberedsubsubsec \paper-Variablen für Breite und Ränder -@translationof \paper variables for widths and margins +@unnumberedsubsubsec @code{@bs{}paper}-Variablen für Breite und Ränder +@translationof paper variables for widths and margins Standardwerte (vor der Skalierung), die hier nicht aufgelistet sind, finden sich in @file{ly/paper-defaults-init.ly}. @@ -693,8 +693,8 @@ Randeinstellung für die Ränder oben und unten. @node paper-Variablen für zweiseitigen Satz -@unnumberedsubsubsec @code{\paper}-Variablen für zweiseitigen Satz -@translationof \paper variables for two-sided mode +@unnumberedsubsubsec @code{@bs{}paper}-Variablen für zweiseitigen Satz +@translationof paper variables for two-sided mode Standardwerte (vor der Skalierung) sind definiert in @file{ly/paper-defaults-init.ly}. @@ -748,8 +748,8 @@ Installierte Dateien: @node paper-Variablen für Verschiebungen und Einrückungen -@unnumberedsubsubsec @code{\paper}-Variablen für Verschiebungen und Einrückungen -@translationof \paper variables for shifts and indents +@unnumberedsubsubsec @code{@bs{}paper}-Variablen für Verschiebungen und Einrückungen +@translationof paper variables for shifts and indents Standardwerte (vor der Skalierung), die hier nicht aufgeführt sind, @@ -794,8 +794,8 @@ Schnipsel: @node Andere paper-Variablen -@subsection Andere @code{\paper}-Variablen -@translationof Other \paper variables +@subsection Andere @code{@bs{}paper}-Variablen +@translationof Other paper variables @menu * paper-Variablen für den Zeilenumbruch:: @@ -806,8 +806,8 @@ Schnipsel: @node paper-Variablen für den Zeilenumbruch -@unnumberedsubsubsec @code{\paper}-Variablen für den Zeilenumbruch -@translationof \paper variables for line breaking +@unnumberedsubsubsec @code{@bs{}paper}-Variablen für den Zeilenumbruch +@translationof paper variables for line breaking @c TODO: Mention that ly:optimal-breaking is on by default? -mp @table @code @@ -849,8 +849,8 @@ Notationsreferenz: @node paper-Variablen für den Seitenumbruch -@unnumberedsubsubsec @code{\paper}-Variablen für den Seitenumbruch -@translationof \paper variables for page breaking +@unnumberedsubsubsec @code{@bs{}paper}-Variablen für den Seitenumbruch +@translationof paper variables for page breaking Standardwerte, die hier nicht aufgelistet sind, finden sich in @file{ly/paper-defaults-init.ly} @@ -919,8 +919,8 @@ Installierte Dateien: @node paper-Variablen für Seitenzahlen -@unnumberedsubsubsec @code{\paper}-Variablen für Seitenzahlen -@translationof \paper variables for page numbering +@unnumberedsubsubsec @code{@bs{}paper}-Variablen für Seitenzahlen +@translationof paper variables for page numbering Standardwerte, die hier nicht aufgelistet sind, finden sich in @file{ly/paper-defaults-init.ly} @@ -970,8 +970,8 @@ auf der rechten Seite mit Seite 1 beginnen. @node Verschiedene paper-Variablen -@unnumberedsubsubsec Verschiedene @code{\paper}-Variablen -@translationof Miscellaneous \paper variables +@unnumberedsubsubsec Verschiedene @code{@bs{}paper}-Variablen +@translationof Miscellaneous paper variables @table @code @item page-spacing-weight @@ -1038,14 +1038,14 @@ Zeile. @translationof Score layout @menu -* Die \layout-Umgebung +* Die layout-Umgebung:: * Die Notensystemgröße einstellen:: @end menu -@node Die \layout-Umgebung -@subsection Die @code{\layout}-Umgebung -@translationof The \layout block +@node Die layout-Umgebung +@subsection Die @code{@bs{}layout}-Umgebung +@translationof The layout block @cindex Partitur, Layout @cindex Layout, Partitur diff --git a/Documentation/de/notation/staff.itely b/Documentation/de/notation/staff.itely index 5c400ef7cf..87732a0507 100644 --- a/Documentation/de/notation/staff.itely +++ b/Documentation/de/notation/staff.itely @@ -71,7 +71,7 @@ Gruppen von Systemen zu erstellen. @notation{Notensysteme} (engl. @notation{staff}, Pl. @notation{staves}) werden mit dem @code{\new} oder @code{\context}-Befehl erstellt. Zu Einzelheiten siehe -@ref{Kontexte erstellen}. +@ref{Kontexte erstellen und referenzieren}. Der einfachste Notensystem-Kontext ist @code{Staff}: @@ -136,7 +136,7 @@ Glossar: @rglos{staves}. Notationsreferenz: -@ref{Kontexte erstellen}, +@ref{Kontexte erstellen und referenzieren}, @ref{Schlagzeugsysteme}, @ref{Melodierhythmus anzeigen}, @ref{Standardtabulaturen}, diff --git a/Documentation/de/notation/vocal.itely b/Documentation/de/notation/vocal.itely index ab605a988e..372e9db2a7 100644 --- a/Documentation/de/notation/vocal.itely +++ b/Documentation/de/notation/vocal.itely @@ -1116,7 +1116,7 @@ Handbuch zum Lernen: Notation Reference: @ref{Reihenfolge des Kontextlayouts}, -@ref{Kontexte erstellen}. +@ref{Kontexte erstellen und referenzieren}. @node Silben horizontal verschieben @@ -2430,7 +2430,7 @@ spezifisch für das Setzen von Singspiel-Partituren sind. @menu * Verweise für Oper und Musical:: * Namen von Figuren:: -* Musikalische Stichnoten +* Musikalische Stichnoten:: * Gesprochene Musik:: * Dialog zur Musik:: @end menu @@ -2486,7 +2486,7 @@ Notationsreferenz: @ref{Verschachtelte Notensysteme}, @ref{Seitenlayout}, @ref{Systeme trennen}, -@ref{Transposition}, +@ref{Transponieren}, @ref{Orchesterstimmen erstellen}, @ref{Text eingeben} @ref{Fußnoten erstellen}. diff --git a/Documentation/de/notation/world.itely b/Documentation/de/notation/world.itely index c2939f1d65..387a414617 100644 --- a/Documentation/de/notation/world.itely +++ b/Documentation/de/notation/world.itely @@ -344,7 +344,7 @@ Notationsreferenz: @ref{Tonartbezeichnung}. Handbuch zum Lernen: -@rlearning{Versetzungszeichen und Tonartbezeichnung (Vorzeichen)}. +@rlearning{Tonhöhen und Tonartbezeichnungen (Vorzeichen)}. Referenz der Interna: @rinternals{KeySignature}. diff --git a/Documentation/de/translations.itexi b/Documentation/de/translations.itexi index cf5f998074..1e277fca58 100644 --- a/Documentation/de/translations.itexi +++ b/Documentation/de/translations.itexi @@ -202,7 +202,7 @@ ja @end ifnothtml @tab vor-GDP @item -1 Scheme-Übung +1 Scheme-Tutorium @* 6331 @tab Till Paala @@ -407,7 +407,7 @@ teilweise @end ifnothtml @tab vor-GDP @item -4 Die Ausgabe verändern +4 Die Ausgabe verbessern @* 16567 @tab Till Paala diff --git a/Documentation/de/usage/running.itely b/Documentation/de/usage/running.itely index 0a37d5541e..ff5bdb67be 100644 --- a/Documentation/de/usage/running.itely +++ b/Documentation/de/usage/running.itely @@ -32,7 +32,7 @@ Dieses Kapitel behandelt die technischen Details, wie Lilypond ausgeführt werde @translationof Normal usage Die meisten Benutzer führen LilyPond von einer graphischen Benutzeroberfläche -aus. Siehe @rlearning{Übung}, falls Sie dies nicht bereits getan haben. Wenn +aus. Siehe @rlearning{Tutorium}, falls Sie dies nicht bereits getan haben. Wenn Sie einen alternativen Editor für Ihre LilyPond-Dateien verwenden, lesen Sie bitte die Dokumentation dieses Editors. diff --git a/Documentation/de/usage/suggestions.itely b/Documentation/de/usage/suggestions.itely index 8d019c35a8..c05a9f8cab 100644 --- a/Documentation/de/usage/suggestions.itely +++ b/Documentation/de/usage/suggestions.itely @@ -103,9 +103,9 @@ ersparen Sie sich viele Probleme, wenn Sie ihre Musik eines Tages umarrangieren wollen. @item @strong{Trennen Sie Einstellungen} von den eigentlichen -Noten. Siehe auch @rlearning{Tipparbeit durch Variablen und Funktionen ersparen} +Noten. Siehe auch @rlearning{Tipparbeit durch Variablen und Funktionen einsparen} und -@rlearning{Globale Formatierung}. +@rlearning{Formatvorlagen}. @end itemize