@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*- @ignore Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3 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 Translators: Till Paala @node Notation auf Systemen @section Notation auf Systemen @translationof Staff notation @lilypondfile[quote]{staff-headword.ly} Dieser Abschnitt zeigt, wie die Erscheinung von Systemen beeinflusst wird, wie Partituren mit mehr als einem System gesetzt werden und wie man Aufführungsanweisungen und Stichnoten zu einzelnen Systemen hinzufügt. @menu * Systeme anzeigen lassen:: * Einzelne Systeme verändern:: * Orchesterstimmen erstellen:: @end menu @node Systeme anzeigen lassen @subsection Systeme anzeigen lassen @translationof Displaying staves Dieser Abschnitt zeigt unterschiedliche Methoden, Notensysteme und Gruppen von Systemen zu erstellen. @menu * Neue Notensysteme erstellen:: * Systeme gruppieren:: * Verschachtelte Notensysteme:: * Systeme trennen:: @end menu @node Neue Notensysteme erstellen @unnumberedsubsubsec Neue Notensysteme erstellen @translationof Instantiating new staves @cindex Beginn eines Notensystems @cindex Notensystem, neu @cindex Percussionsnotensystem @cindex Perkussionsnotensystem @cindex einzelnes Notensystem @cindex rhythmisches Notensystem @cindex Tabulatursystem @cindex Tabulatur @cindex Gregorianischer Choral, Transkription @cindex neues Notensystem @funindex \drummode @funindex drummode @funindex DrumStaff @funindex RhythmicStaff @funindex TabStaff @funindex MensuralStaff @funindex VaticanaStaff @funindex GregorianTranscriptionStaff @notation{Notensysteme} (engl. @notation{staff}, Pl. @notation{staves}) werden mit dem @code{\new} oder @code{\context}-Befehl erstellt. Zu Einzelheiten siehe @ref{Kontexte erstellen}. Der einfachste Notensystem-Kontext ist @code{Staff}: @lilypond[verbatim,quote,relative=2] \new Staff { c4 d e f } @end lilypond @code{DrumStaff} (Perkussionsnotensystem) erstellt ein Notensystem mit fünf Linien, das für ein typisches Schlagzeug eingerichtet ist. Für jedes Instrument werden unterschiedliche Symbole dargestellt. Die Instrumente werden innerhalb der @code{drummode}-Umgebung gesetzt, wo jedes Instrument seine eigene Bezeichnung hat. Zu Einzelheiten siehe @ref{Schlagzeugsysteme}. @lilypond[verbatim,quote] \new DrumStaff { \drummode { cymc hh ss tomh } } @end lilypond @code{RhythmicStaff} (Rhythmus-System) erstellt ein Notensystem mit nur einer Notenlinie, auf welcher nur die rhythmischen Werte der eingegebenen Noten dargestellt werden. Die wirklichen Längen bleiben erhalten. Zu Einzelheiten, siehe @ref{Melodierhythmus anzeigen}. @lilypond[verbatim,quote,relative=2] \new RhythmicStaff { c4 d e f } @end lilypond @code{TabStaff} (Tabulatursystem) erstellt eine Tabulatur mit sechs Saiten in der üblichen Gitarrenstimmung. Zu Einzelheiten siehe @ref{Standardtabulaturen}. @lilypond[verbatim,quote,relative=2] \new TabStaff { c4 d e f } @end lilypond Es gibt zwei Notensysteme, die zur Notation von Alter Musik eingesetzt werden: @code{MensuralStaff} and @code{VaticanaStaff}. Sie sind erklärt in @ref{Vordefinierte Umgebungen}. Das @code{GregorianTranscriptionStaff} (System zur Transkription des Gregorianischen Chorals) erstellt ein Notensystem, um modernen Gregorianischen Choral zu notieren. Es hat keine Notenlinien. @lilypond[verbatim,quote,relative=2] \new GregorianTranscriptionStaff { c4 d e f e d } @end lilypond Neue Notensystem-Kontexte können selber definiert werden. Zu Einzelheiten, siehe @ref{Neue Kontexte definieren}. @seealso Glossar: @rglos{staff}, @rglos{staves}. Notationsreferenz: @ref{Kontexte erstellen}, @ref{Schlagzeugsysteme}, @ref{Melodierhythmus anzeigen}, @ref{Standardtabulaturen}, @ref{Vordefinierte Umgebungen}, @ref{Das Notensystem}, @ref{Gregorianische Gesangs-Kontexte}, @ref{Mensural-Kontexte}, @ref{Neue Kontexte definieren}. Schnipsel: @rlsr{Staff notation}. Referenz der Interna: @rinternals{Staff}, @rinternals{DrumStaff}, @rinternals{GregorianTranscriptionStaff}, @rinternals{RhythmicStaff}, @rinternals{TabStaff}, @rinternals{MensuralStaff}, @rinternals{VaticanaStaff}, @rinternals{StaffSymbol}. @node Systeme gruppieren @unnumberedsubsubsec Systeme gruppieren @translationof Grouping staves @cindex Systeme, mehrere @cindex Notensysteme, mehrere @cindex Klammer, vertikal @cindex Klammer, geschweift @cindex geschweifte Klammer @cindex Klaviersystem @cindex Akkolade @cindex Notensystemgruppe @cindex Notensysteme, gruppieren @cindex Partitur @cindex Systemgruppe @cindex Instrumentengruppe @cindex Stimmgruppe @cindex System, Chor @cindex Chorsystem Es gibt verschiedene Kontexte, um einzelne Notensysteme zu gruppieren und einer Partitur zu verbinden. Jeder Gruppenstil beeinflusst das Aussehen des Systemanfangs und das Verhalten der Taktlinien. Wenn kein Kontext angegeben ist, wird die Standardeinstellung eingesetzt: die Gruppe beginnt mit einer vertikalen Linie und die Taktlinien sind nicht verbunden. @lilypond[verbatim,quote,relative=2] << \new Staff { c1 c } \new Staff { c1 c } >> @end lilypond Im @code{StaffGroup}-Kontext die Gruppe mit einer eckigen Klammer begonnen und die Taktlinien durch alle Systeme gezogen. @lilypond[verbatim,quote,relative=2] \new StaffGroup << \new Staff { c1 c } \new Staff { c1 c } >> @end lilypond In einem @code{ChoirStaff} (Chorsystem) beginnt die Gruppe mit einer eckigen Klammer, aber die Taktlinien sind nicht verbunden. @lilypond[verbatim,quote,relative=2] \new ChoirStaff << \new Staff { c1 c } \new Staff { c1 c } >> @end lilypond In einem @code{GrandStaff} (Akkolade) beginnt die Gruppe mit einer geschweiften Klammer und die Taktlinien sind durchgezogen. @lilypond[verbatim,quote,relative=2] \new GrandStaff << \new Staff { c1 c } \new Staff { c1 c } >> @end lilypond Der @code{PianoStaff}-(Klaviersystem)-Kontext ist identisch mit dem @code{GrandStaff}-Kontext, aber es ermöglicht zusätzlich direkt die Angabe einer Instrumentbezeichnung. Zu Einzelheiten siehe @ref{Instrumentenbezeichnungen}. @lilypond[verbatim,quote,relative=2] \new PianoStaff << \set PianoStaff.instrumentName = #"Piano" \new Staff { c1 c } \new Staff { c1 c } >> @end lilypond Jede Systemgruppe stellt die Eigenschaft @code{systemStartDelimiter} (SystemBeginnBegrenzer) auf einen der folgenden Werte: @code{SystemStartBar}, @code{SystemStartBrace} oder @code{SystemStartBracket}. Ein vierter Begrenzer, @code{SystemStartSquare}, ist auch erreichbar, aber man muss ihr explizit einstellen. Neue Systemgruppen können definiert werden. Zu Einzelheiten siehe @ref{Neue Kontexte definieren}. @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {use-square-bracket-at-the-start-of-a-staff-group.ly} @lilypondfile[verbatim,quote,texidoc,doctitle] {display-bracket-with-only-one-staff-in-a-system.ly} @cindex Mensurstriche @cindex Renaissancemusik @cindex Transkription von Mensuralmusik @cindex Mensuralmusik, Transkription @lilypondfile[verbatim,quote,texidoc,doctitle] {mensurstriche-layout-bar-lines-between-the-staves.ly} @seealso Glossar: @rglos{brace}, @rglos{bracket}, @rglos{grand staff}. Notationsreferenz: @ref{Instrumentenbezeichnungen}, @ref{Neue Kontexte definieren}. Schnipsel: @rlsr{Staff notation}. Referenz der Interna: @rinternals{Staff}, @rinternals{StaffGroup}, @rinternals{ChoirStaff}, @rinternals{GrandStaff}, @rinternals{PianoStaff}, @rinternals{SystemStartBar}, @rinternals{SystemStartBrace}, @rinternals{SystemStartBracket}, @rinternals{SystemStartSquare}. @knownissues @code{PianoStaff} nimmt standardmäßig keine @code{ChordNames} (Akkordbezeichnungen) auf. @node Verschachtelte Notensysteme @unnumberedsubsubsec Verschachtelte Notensysteme @translationof Nested staff groups @cindex System, geschachtelt @cindex Schachtelung von Systemen @cindex Verschachtelung von Systemen @cindex SystemBeginnBegrenzer, geschachtelt @cindex verschachtelte Systemklammern @cindex Klammern, Verschachteln @cindex geschweifte Klammern, Schachteln @cindex Systemgruppen, Verschachtelung System-Gruppen können in beliebiger Tiefe geschachtelt werden. In diesem Fall erstellt jeder neue, innen liegende Kontext eine neue Klammer außerhalb der Klammer der Systemgruppe, in der er sich befindet. @lilypond[verbatim,quote,relative=2] \new StaffGroup << \new Staff { c2 c | c2 c } \new StaffGroup << \new Staff { g2 g | g2 g } \new StaffGroup \with { systemStartDelimiter = #'SystemStartSquare } << \new Staff { e2 e | e2 e } \new Staff { c2 c | c2 c } >> >> >> @end lilypond Neue geschachtelte Systemgruppen können definiert werden. Zu Einzelheiten siehe @ref{Neue Kontexte definieren}. @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {nesting-staves.ly} @seealso Notationsreferenz: @ref{Systeme gruppieren}, @ref{Instrumentenbezeichnungen}, @ref{Neue Kontexte definieren}. Schnipsel: @rlsr{Staff notation}. Referenz der Interna: @rinternals{StaffGroup}, @rinternals{ChoirStaff}, @rinternals{SystemStartBar}, @rinternals{SystemStartBrace}, @rinternals{SystemStartBracket}, @rinternals{SystemStartSquare}. @node Systeme trennen @unnumberedsubsubsec Systeme trennen @translationof Separating systems @cindex Trennzeichen @cindex System-Trennzeichen Wenn die Anzahl der Systeme sich von Seite zu Seite ändert, wird normalerweise ein Trennzeichen hinzugefügt, dass die Systeme voneinander trennt. Die Standardeinstellung ist, dass der Trenner nicht gesetzt wird, aber man kann ihn mit einer Option in der @code{\paper}-Umgebung angeschalten. @c \book is required here to display the system separator @c ragged-right is required as there are two systems @lilypond[verbatim,quote,ragged-right] \book { \score { \new StaffGroup << \new Staff { \relative c'' { c4 c c c \break c4 c c c } } \new Staff { \relative c'' { c4 c c c \break c4 c c c } } >> } \paper { system-separator-markup = \slashSeparator % following commands are needed only to format this documentation paper-width = 100\mm paper-height = 100\mm tagline = ##f } } @end lilypond @seealso Notationsreferenz: @ref{Seitenlayout}. Schnipsel: @rlsr{Staff notation}. @node Einzelne Systeme verändern @subsection Einzelne Systeme verändern @translationof Modifying single staves Dieser Abschnitt zeigt, wie man bestimmte Eigenschaften eines Systems ändert -- etwa die Anzahl der Notenlinien oder die Größe des Systems. Es werden auch Methoden dargestellt, ein System zu beginnen und zu beenden sowie eine Methode, Ossia-Systeme zu erstellen. @menu * Das Notensystem:: * Ossia-Systeme:: * Systeme verstecken:: @end menu @node Das Notensystem @unnumberedsubsubsec Das Notensystem @translationof Staff symbol @cindex Justierung von Notensystemen @cindex Notensysteme, Modifikation @cindex Notenlinien, Anzahl @cindex Notenlinien, Dicke @cindex Notenlinien, Einstellungen @cindex Staff symbol, erstellen @cindex Notenlinien, erstellen @cindex Dicke der Notenlinien einstellen @cindex Anzahl der Notenlinien einstellen @cindex Zahl der Notenlinien einstellen @cindex Hilfslinien, Einstellungen @cindex Hilfslinien, Abstände @cindex Abstand von Hilfslinien @cindex Einstellung von Hilfslinien @cindex Notensystem stoppen @cindex Notensystem beginnen @cindex Beginnen eines Notensystems @cindex Beenden eines Notensystems @cindex Notenlinien, beginnen @cindex Notenlinien, beenden @cindex Beenden von Notenlinien @cindex Beginnen von Notenlinien @cindex Beenden eines Systems @cindex System, beenden @cindex Notensystem, beenden @funindex \startStaff @funindex startStaff @funindex \stopStaff @funindex stopStaff Die Befehle @code{\stopStaff} und @code{\startStaff} können benutzt werden, um ein Notensystem zu stoppen oder (wieder) zu beginnen. @lilypond[verbatim,quote,relative=2] \stopStaff f4 d \startStaff g, e f'4 d \stopStaff g, e f'4 d \startStaff g, e @end lilypond @predefined @code{\startStaff}, @code{\stopStaff}. @endpredefined Die Linien eines Notensystems gehören zu dem @code{StaffSymbol}-(NotensystemSymbol)-Grob (hierzu gehören auch Hilfslinien). @code{StaffSymbol}-Eigenschaften können verändert werden, um die Erscheinung des Notensystems zu beeinflussen, aber sie müssen gesetzt werden, bevor das System erstellt wird. Die Anzahl der Notenlinien kann verändert werden: @lilypond[verbatim,quote,relative=2] f4 d \stopStaff \override Staff.StaffSymbol #'line-count = #2 \startStaff g, e | f'4 d \stopStaff \revert Staff.StaffSymbol #'line-count \startStaff g, e | @end lilypond Auch die Position der Notenlinien kann geändert werden. Die Werte werden in @emph{halben} Notensystemabständen eingegeben und die neue Position ist relativ zur ursprünglichen Mittellinie. Eine einzelne Linie wird für jeden Wert ausgegeben, sodass die Anzahl der Linien sowie ihre Position im Notensystem mit einem Befehl geändert werden können. @lilypond[verbatim,quote,relative=2] f4 d \stopStaff \override Staff.StaffSymbol #'line-positions = #'(1 3 5 -1 -3) \startStaff g, e | f'4 d \stopStaff \override Staff.StaffSymbol #'line-positions = #'(8 6.5 -6 -8 -0.5) \startStaff g, e @end lilypond die Position des Notenschlüssels und die Position von c' können geändert werden, um dem neuen System zu entsprechen. Siehe auch @ref{Notenschlüssel}. Die Liniendicke der Notenlinien kann verändert werden. Die Dicke der Hilfslinien und Notenhälse wird auch beeinflusst, weil sie von der Notenliniendicke abhängen. @lilypond[verbatim,quote,relative=2] \new Staff \with { \override StaffSymbol #'thickness = #3 } { f4 d g, e } @end lilypond Die Dicke der Hilfslinien (engl. ledger lines) kann allerdings auch unabhängig von der Notenliniendicke verändert werden. Die zwei Zahlen, die nötig sind, sind Faktoren, mit denen die Notenlinien-Dicke und der Notenlinienabstand multipliziert werden. Die Addition beider Werte ergibt die Dicke der Hilfslinien. @lilypond[verbatim,quote,relative=2] \new Staff \with { \override StaffSymbol #'thickness = #2 \override StaffSymbol #'ledger-line-thickness = #'(0.5 . 0.4) } { f'4 a, a,, f } @end lilypond Die vertikale Position der Hilfslinien kann verändert werden: @lilypond[verbatim,quote,relative=2] \new Staff \with { \override StaffSymbol #'ledger-positions = #'(-3 -2 -1 2 5 6) } { f'4 a, a,, f } @end lilypond Zusätzliche Hilfslinien können auch innerhalb des Systems gesetzt werden, wenn sie von einem selbsdefinierten Notensystem genötigt werden. Das Beispiel zeigt die Standardposition der Hilfslinien wenn die explizite Position mit @code{legder-position} nicht definiert ist. Der Befehl @code{stopStaff} wird benötigt, damit der Befehl sich auf das gesamte System (@code{StaffSymbol}) auswirkt. @lilypond[fragment,quote,relative=1] \override Staff.StaffSymbol #'line-positions = #'(-8 0 2 4) d4 e f g \stopStaff \startStaff \override Staff.StaffSymbol #'ledger-positions = #'(-8 -6 (-4 -2) 0) d4 e f g @end lilypond Der Abstand zwischen Notenlinien kann verändert werden. Diese Einstellung wirkt sich auch auf den Abstand der Hilfslinien aus. @lilypond[verbatim,quote,relative=2] \new Staff \with { \override StaffSymbol #'staff-space = #1.5 } { f'4 d, g, e, } @end lilypond @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {making-some-staff-lines-thicker-than-the-others.ly} @seealso Glossar: @rglos{line}, @rglos{ledger line}, @rglos{staff}. Notationsreferenz: @ref{Notenschlüssel}. Schnipsel: @rlsr{Staff notation}. Referenz der Interna: @rinternals{StaffSymbol}, @rinternals{staff-symbol-interface}. @node Ossia-Systeme @unnumberedsubsubsec Ossia-Systeme @translationof Ossia staves @cindex Ossia-Systeme @cindex Ossia @cindex versteckte Notensysteme @cindex System, Größe verändern @cindex Notensystem, Größe verändern @cindex Größe von Notensystem verändern @funindex \startStaff @funindex \stopStaff @funindex startStaff @funindex stopStaff @notation{Ossia}-Systeme können gesetzt werden, indem zwei gleichzeitige Notensysteme an der entsprechenden Position erstellt werden: @lilypond[verbatim,quote] \new Staff \relative c'' { c4 b d c << { c4 b d c } \new Staff { e4 d f e } >> c4 b c2 } @end lilypond @noindent Dieses Beispiel ist aber normalerweise nicht erwünscht. Um Ossia-Systeme zu setzen, die sich über dem eigentlichen System befinden, keine Takt- und Schlüsselangaben haben und kleiner gesetzt sind, müssen einige Optimierungen angewendet werden. Im Handbuch zum Lernen wird eine Technik vorgestellt, mit der das gewünschte Ergebnis erreicht werden kann, beginnend in @rlearning{Musikalische Ausdrücke ineinander verschachteln}. Das Beispiel unten setzt die @code{alignAboveContext}-(oberhalbAusrichtenKontext)-Eigenschaft ein, um den Ossia-Abschnitt auszurichten. Diese Methode bietet sich an, wenn nur einige Ossia-Systeme benötigt werden. @lilypond[verbatim,quote] \new Staff = main \relative c'' { c4 b d c << { c4 b d c } \new Staff \with { \remove "Time_signature_engraver" alignAboveContext = #"main" fontSize = #-3 \override StaffSymbol #'staff-space = #(magstep -3) \override StaffSymbol #'thickness = #(magstep -3) firstClef = ##f } { e4 d f e } >> c4 b c2 } @end lilypond Wenn mehrere isolierte Ossia-Systeme gebraucht werden, kann es günstiger sein, einen leeren @code{Staff}-Kontext mit einer spezifischen @emph{Kontextidentifikation} zu erstellen. Die Ossia-Abschnitte werden dann erstellt, indem dieser Kontext @emph{aufgerufen} wird und mit @code{\startStaff} und @code{\stopStaff} an den richtigen Stellen sichtbar gemacht wird. Der Vorteil dieser Methode zeigt sich, wenn man längere Stücke setzt. @lilypond[verbatim,quote,ragged-right] << \new Staff = ossia \with { \remove "Time_signature_engraver" \override Clef #'transparent = ##t fontSize = #-3 \override StaffSymbol #'staff-space = #(magstep -3) \override StaffSymbol #'thickness = #(magstep -3) } { \stopStaff s1*6 } \new Staff \relative c' { c4 b c2 << { e4 f e2 } \context Staff = ossia { \startStaff e4 g8 f e2 \stopStaff } >> g4 a g2 \break c4 b c2 << { g4 a g2 } \context Staff = ossia { \startStaff g4 e8 f g2 \stopStaff } >> e4 d c2 } >> @end lilypond Man kann auch den @code{\Staff \RemoveEmptyStaves}-Befehl einsetzen, um Ossia-Systeme zu erstellen. Diese Methode eignet sich am besten, wenn nach dem Ossia sofort ein Zeilenumbruch erfolgt. Mehr Information zu @code{\Staff \RemoveEmptyStaves} findet sich in @ref{Systeme verstecken}. @lilypond[verbatim,quote,ragged-right] << \new Staff = ossia \with { \remove "Time_signature_engraver" \override Clef #'transparent = ##t fontSize = #-3 \override StaffSymbol #'staff-space = #(magstep -3) \override StaffSymbol #'thickness = #(magstep -3) } \relative c'' { R1*3 c4 e8 d c2 } \new Staff \relative c' { c4 b c2 e4 f e2 g4 a g2 \break c4 b c2 g4 a g2 e4 d c2 } >> \layout { \context { \Staff \RemoveEmptyStaves \override VerticalAxisGroup #'remove-first = ##t } } @end lilypond @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {vertically-aligning-ossias-and-lyrics.ly} @seealso Glossar: @rglos{ossia}, @rglos{staff}, @rglos{Frenched staff}. Handbuch zum Lernen: @rlearning{Musikalische Ausdrücke ineinander verschachteln}, @rlearning{Größe von Objekten}, @rlearning{Länge und Dicke von Objekten}. Notationsreferenz: @ref{Systeme verstecken}. Schnipsel: @rlsr{Staff notation}. Referenz der Interna: @rinternals{StaffSymbol}. @node Systeme verstecken @unnumberedsubsubsec Systeme verstecken @translationof Hiding staves @cindex Systeme verstecken @cindex leere Systeme verstecken @cindex Verstecken von Systemen @cindex Systeme, leere @cindex Verschwinden von leeren Systemen @funindex \RemoveEmptyStaves @funindex RemoveEmptyStaves @funindex Staff_symbol_engraver @funindex \stopStaff @funindex stopStaff Die Notenlinien können entfernt werden, indem der @code{Staff_symbol_engraver} aus dem @code{Staff}-Kontext entfernt wird. Alternativ kann auch @code{\stopStaff} eingesetzt werden. @lilypond[verbatim,quote] \new Staff \with { \remove "Staff_symbol_engraver" } \relative c''' { a8 f e16 d c b a2 } @end lilypond Leere Systeme können versteckt werden, wenn der @code{\Staff \RemoveEmptyStaves}-Befehl im @code{\layout}-Abschnitt benutzt wird. In großen Orchesterpartituren wird dies oft verwendet, um die leeren Systeme von gerade nicht spielenden Instrumenten zu verstecken. In der Standardeinstellung werden alle leeren Notenzeilen außer die des ersten Systems entfernt. @warning{Eine Notenzeile gilt als leer, wenn sie nur Ganztaktpausen, Pausen, unsichtbare Noten, @code{\skip}-Befehle oder eine Kombination der drei enthält.} @lilypond[verbatim,quote,ragged-right] \layout { \context { \Staff \RemoveEmptyStaves } } \relative c' << \new Staff { e4 f g a \break b1 \break a4 b c2 } \new Staff { c,4 d e f \break R1 \break f4 g c,2 } >> @end lilypond @cindex ossia @noindent @code{\Staff \RemoveEmptyStaves} kann auch eingesetzt werden, um Ossiaabschnitte zu erstellen. Zu Einzelheiten, siehe @ref{Ossia-Systeme}. @cindex Verstecken von Systemen der Alten Musik @cindex Verstecken von Rhythmus-Systemen @funindex \RemoveEmptyStaves @funindex RemoveEmptyStaves Der @code{\VaticanaStaff \RemoveEmptyStaves}-Befehl kann benutzt werden, um leere Takte in Notation der Alten Musik zu entfernen. Gleichermaßen kann @code{\RhythmicStaff \RemoveEmptyStaves} eingesetzt werden, um leere Takte in einem @code{RhythmicStaff}-Kontext zu entfernen. @predefined @code{\Staff \RemoveEmptyStaves}, @code{\VaticanaStaff \RemoveEmptyStaves}, @code{\RhythmicStaff \RemoveEmptyStaves}. @endpredefined @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {removing-the-first-empty-line.ly} @seealso Glossar: @rglos{Frenched staff}. Handbuch zum Lernen: @rlearning{Sichtbarkeit und Farbe von Objekten}. Notationsreferenz: @ref{Die Standardeinstellungen von Kontexten ändern}, @ref{Das Notensystem}, @ref{Ossia-Systeme}, @ref{Unsichtbare Noten}, @ref{Sichtbarkeit von Objekten}. Schnipsel: @rlsr{Staff notation}. Referenz der Interna: @rinternals{ChordNames}, @rinternals{FiguredBass}, @rinternals{Lyrics}, @rinternals{Staff}, @rinternals{VerticalAxisGroup}, @rinternals{Staff_symbol_engraver}. @knownissues Wenn man den @code{Staff_symbol_engraver} entfernt, werden auch die Taktlinien entfernt. Wenn eine sichtbare Taktlinie angefordert wird, kann es zu Formatierungsfehlern kommen. In diesem Fall sollten folgende Befehle eingesetzt werden, anstatt den Engraver zu entfernen: @example \override StaffSymbol #'stencil = ##f \override NoteHead #'no-ledgers = ##t @end example Zu den bekannten Fehlern und Warnungen, die mit @code{\Staff \RemoveEmptyStaves} zusammenhängen, siehe @ref{Die Standardeinstellungen von Kontexten ändern}. @node Orchesterstimmen erstellen @subsection Orchesterstimmen erstellen @translationof Writing parts Dieser Abschnitt zeigt, wie man Tempo-Anweisungen und Instrumentenbezeichnungen einfügt. Es werden auch Möglichkeiten vorgestellt, andere Stimmen zu zitieren und Stichnoten zu formatieren. @menu * Instrumentenbezeichnungen:: * Andere Stimmen zitieren:: * Stichnoten formatieren:: @end menu @node Instrumentenbezeichnungen @unnumberedsubsubsec Instrumentenbezeichnungen @translationof Instrument names @cindex Instrumentenbezeichnungen @cindex kurze Instrumentenbezeichnungen Instrumentbezeichnungen können an der linken Seite von Notensystemen im @code{Staff}-, @code{PianoStaff}-, @code{StaffGroup}, @code{GrandStaff} und @code{ChoirStaff}-Kontext gesetzt werden. Der Wert von @code{instrumentName} wird für das erste System eingesetzt, der Wert von @code{shortInstrumentName} für alle weiteren Systeme. @lilypond[verbatim,quote,ragged-right,relative=1] \new Staff \with { instrumentName = #"Violin " shortInstrumentName = #"Vln. " } { c4.. g'16 c4.. g'16 \break | c1 } @end lilypond @cindex Instrumentenbezeichnung, komplexe Mit dem Textbeschriftungsmodus (@code{\markup}) können auch komplizierte Instrumentenbezeichnungen erstellt werden: @lilypond[verbatim,quote,relative=2] \new Staff \with { instrumentName = \markup { \column { "Clarinetti" \line { "in B" \smaller \flat } } } } { c4 c,16 d e f g2 } @end lilypond @cindex Instrumentenbezeichnung, zentriert Wenn zwei oder mehr Systeme gruppiert werden, werden die Instrumentenbezeichnungen automatisch zentriert. Um auch mehrzeilige Instrumentenbezeichnungen zentriert zu setzen, muss @code{\center-column} benutzt werden: @lilypond[verbatim,quote,indent=1.5\cm,relative=2] << \new Staff \with { instrumentName = #"Flute" } { f2 g4 f } \new Staff \with { instrumentName = \markup { \center-column { "Clarinet" } \line { "in B" \smaller \flat } } } { c4 b c2 } >> @end lilypond @cindex Einzug @funindex indent @funindex short-indent Wenn die Instrumentenbezeichnung zu lang ist, kann es vorkommen, dass die Bezeichnungen in einer Gruppe nicht zentriert werden. Um dennoch eine Zentrierung zu erhalten, müssen die Werte des Einzugs (@code{indent} und @code{short-indent}) vergrößert werden. Zu Einzelheiten siehe @ref{\paper-Variablen für Verschiebungen und Einrückungen}. @lilypond[verbatim,quote,ragged-right] \relative c'' { << \new Staff \with { instrumentName = #"Alto Flute in G" shortInstrumentName = #"Flt." } { f2 g4 f \break g4 f g2 } \new Staff \with { instrumentName = #"Clarinet" shortInstrumentName = #"Clar." } { c,4 b c2 \break c2 b4 c } >> } \layout { indent = 3.0\cm short-indent = 1.5\cm } @end lilypond @cindex Instrumentenbezeichnungen zu anderen Kontexten hinzufügen Um Instrumentenbezeichnungen zu anderen Kontexten (wie etwa @code{ChordNames} or @code{FiguredBass}) hinzuzufügen, muss der @code{Instrument_name_engraver} dem entsprechenden Kontext hinzugefügt werden. Zu Einzelheiten siehe @ref{Umgebungs-Plugins verändern}. @cindex Ändern von Instrumentenbezeichnungen @cindex Instrumentenbezeichnungen, wechseln @cindex Wechseln von Instrumentenbezeichnungen Die kurzen Instrumentenbezeichnungen können mitten in einer Partitur geändert werden. Die Lange Bezeichnung @code{instrumentName} wird nur bei ihrem ersten Auftreten gesetzt und spätere Änderungen nicht berücksichtigt. @lilypond[verbatim,quote,ragged-right,relative=1] \new Staff \with { instrumentName = #"Flute" shortInstrumentName = #"Flt." } { c1 c c c \break c1 c c c \break \set Staff.instrumentName = #"Clarinet" \set Staff.shortInstrumentName = #"Clt." c1 c c c \break c1 c c c \break } @end lilypond @cindex Instrumentenwechsel @cindex Wechsel von Instrument @funindex \addInstrumentDefinition @funindex addInstrumentDefinition @funindex \instrumentSwitch @funindex instrumentSwitch Wenn das Instrument gewechselt werden soll, kann der Befehl @code{\addInstrumentDefinition} in Begleitung von @code{\instrumentSwitch} benutzt werden, um eine detaillierte Auflistung aller notwendigen Änderungen für den Wechsel zu definieren. Der @code{\addInstrumentDefinition}-Befehl hat zwei Argumente: eine Identifikation und eine Assoziationsliste von Kontexteigenschaften und Werten, die für dieses Instrument benutzt werden müssen. Der Befehl muss sich auf der höchsten Ebene in der Eingabedatei befinden. @code{\instrumentSwitch} wird dann benutzt, um den Wechsel vorzunehmen: @lilypond[verbatim,quote,ragged-right] \addInstrumentDefinition #"contrabassoon" #`((instrumentTransposition . ,(ly:make-pitch -1 0 0)) (shortInstrumentName . "Cbsn.") (clefGlyph . "clefs.F") (middleCPosition . 6) (clefPosition . 2) (instrumentCueName . ,(make-bold-markup "cbsn.")) (midiInstrument . "bassoon")) \new Staff \with { instrumentName = #"Bassoon" } \relative c' { \clef tenor \compressFullBarRests c2 g' R1*16 \instrumentSwitch "contrabassoon" c,,2 g \break c,1 ~ | c1 } @end lilypond @seealso Notationsreferenz: @ref{\paper-Variablen für Verschiebungen und Einrückungen}, @ref{Umgebungs-Plugins verändern}. Schnipsel: @rlsr{Staff notation}. Referenz der Interna: @rinternals{InstrumentName}, @rinternals{PianoStaff}, @rinternals{Staff}. @node Andere Stimmen zitieren @unnumberedsubsubsec Andere Stimmen zitieren @translationof Quoting other voices @cindex Stichnoten @cindex Zitieren von anderen Stimmen @cindex Fragmente, zitieren @cindex Stimmen, zitieren @funindex \addQuote @funindex addQuote @funindex \quoteDuring @funindex quoteDuring @funindex \transposition @funindex transposition Es kommt sehr oft vor, dass eine Orchesterstimme die gleichen Noten wie eine andere spielt. So können etwa die ersten und zweiten Geigen für eine bestimmte Passage die gleichen Noten haben. In LilyPond kann man das erreichen, indem eine Stimme von der anderen @emph{zitiert}, sodass man die Noten für die zweite Stimme nicht noch einmal eingeben muss. Der @code{\addQuote}-Befehl, auf höchster Ebene in der Datei, definiert einen Notenabschnitt, aus dem zitiert werden kann. Der @code{\quoteDuring}-Befehl wird benutzt, um den Punkt anzuzeigen, an dem das Zitat beginnt. Er benötigt zwei Argumente: die Bezeichnung der zitierten Stimme, wie vorher mit @code{\addQuote} definiert, und einen musikalischen Ausdruck für die Dauer des Zitates. @lilypond[verbatim,quote] fluteNotes = \relative c'' { a4 gis g gis | b4^"quoted" r8 ais\p a4( f) } oboeNotes = \relative c'' { c4 cis c b \quoteDuring #"flute" { s1 } } \addQuote "flute" { \fluteNotes } \score { << \new Staff \with { instrumentName = "Flute" } \fluteNotes \new Staff \with { instrumentName = "Oboe" } \oboeNotes >> } @end lilypond Wenn der musikalische Ausdruck, der mit dem @code{\quoteDuring}-Befehl benutzt wird, antelle von unsichtbare Noten oder Ganztaktpausen etwa Noten enthält, wird eine polyphone Stelle begonnen, was meistens nicht erwünscht ist: @lilypond[verbatim,quote] fluteNotes = \relative c'' { a4 gis g gis | b4^"quoted" r8 ais\p a4( f) } oboeNotes = \relative c'' { c4 cis c b \quoteDuring #"flute" { e4 r8 ais b4 a } } \addQuote "flute" { \fluteNotes } \score { << \new Staff \with { instrumentName = "Flute" } \fluteNotes \new Staff \with { instrumentName = "Oboe" } \oboeNotes >> } @end lilypond Der @code{\quoteDuring}-Befehl benützt die Einstellungen des @code{\transposition}-Befehls beider Stimmen, um Noten für die zitierende Stimme zu produzieren, die das gleiche klingende C wie die zitierte Stimme haben. @lilypond[verbatim,quote] clarinetNotes = \relative c'' { \transposition bes \key d \major b4 ais a ais | cis4^"quoted" r8 bis\p b4( f) } oboeNotes = \relative c'' { c4 cis c b \quoteDuring #"clarinet" { s1 } } \addQuote "clarinet" { \clarinetNotes } \score { << \new Staff \with { instrumentName = "Clarinet" } \clarinetNotes \new Staff \with { instrumentName = "Oboe" } \oboeNotes >> } @end lilypond @cindex note-event @cindex articulation-event @cindex dynamic-event @cindex rest-event @cindex slur-event @cindex crescendo-event @funindex quotedEventTypes @funindex quotedCueEventTypes Standardmäßig werden mit den zitierten Noten auch alle Artikulationen, Dynamik, Beschriftungen usw. übernommen. Es ist aber möglich auszuwählen, welche Objekte der zitierten Noten dargestllt werden. Das geschieht mit der @code{quotedEventTypes}-Kontexteigenschaft. @lilypond[verbatim,quote] fluteNotes = \relative c'' { a2 g2 | b4\<^"quoted" r8 ais a4\f( c->) } oboeNotes = \relative c'' { c2. b4 | \quoteDuring #"flute" { s1 } } \addQuote "flute" { \fluteNotes } \score { << \set Score.quotedEventTypes = #'(note-event articulation-event crescendo-event rest-event slur-event dynamic-event) \new Staff \with { instrumentName = "Flute" } \fluteNotes \new Staff \with { instrumentName = "Oboe" } \oboeNotes >> } @end lilypond Zitate können auch mit Marken (engl. tag) versehen werden. Siehe auch @ref{Marken benutzen}. @seealso Notationsreferenz: @ref{Transposition von Instrumenten}, @ref{Marken benutzen}. Installierte Dateien: @file{scm/define-event-classes.scm}. Schnipsel: @rlsr{Staff notation}. Referenz der Interna: @rinternals{Music classes}, @rinternals{QuoteMusic}, @rinternals{Voice}. @knownissues Nur der Inhalt der ersten Stimme innerhalb eines @code{\addQuote}-Befehls wird für das Zitat herangezogen. Wenn der zitierte Ausdruck also @code{\new} oder @code{\context Voice}-Befehle enthält, werden deren Inhalte nicht zitiert. Zitieren von Ziernoten und Vorschläge wird von LilyPond nicht unterstützt und kann dazu führen, dass LilyPond abstürzt. Wenn geschachtelte Triolen zitiert werden, ist das Notenbild unter Umständen sehr schlecht. @node Stichnoten formatieren @unnumberedsubsubsec Stichnoten formatieren @translationof Formatting cue notes @cindex Stichnoten @cindex Noten, Stichnoten @cindex Stichnoten, Formatierung @cindex Fragmente, zitieren @cindex andere Stimmen zitieren @cindex Zitieren von anderen Stimmen @funindex \cueDuring @funindex cueDuring @funindex \cueClef @funindex cueClef @funindex \cueDuringWithClef @funindex cueDuringWithClef @funindex \quoteDuring @funindex quoteDuring @cindex Noten, kleiner @cindex kleinere Noten @funindex CueVoice Die einfachste Art, Stichnoten zu erstellen, ist es, einen @code{CueVoice}-Kontext in der Stimme zu erstellen. @lilypond[verbatim,relative=1] R1 << { e2\rest r4. e8 } \new CueVoice { \stemUp d'8^"flute" c d e fis2 } >> d,4 r a r @end lilypond Der Befehl @code{\cueClef} kann auch in einem expliziten @code{CueVoice}-Kontext eingesetzt werden, wenn ein Schlüsselwechsel nötig ist. Hiermit wird ein Schlüssel entsprechender Größe für die Stichnoten ausgegeben. Der Befehl @code{\cueClefUnset} kann dann eingesetzt werden, um wieder zum ursprünglichen Schlüssel zurückzukehren, wiederum in der richtigen Größe: @lilypond[verbatim,noragged-right,relative=1] \clef "bass" R1 << { e2\rest r4. \cueClefUnset e,8 } \new CueVoice { \cueClef "treble" \stemUp d''8^"flute" c d e fis2 } >> d,,4 r a r @end lilypond Die Befehle @code{\cueClef} und @code{\cueClefUnset} können auch ohne eine @code{CueVoice}-Umgebung eingesetzt werden: @lilypond[verbatim,noragged-right,relative=1] \clef "bass" R1 \cueClef "treble" d'8^"flute" c d e fis2 \cueClefUnset d,,4 r a r @end lilypond Für kompliziertere Stichnotenbehandlung, etwa mit Transposition, oder um Stichnoten aus unterschiedlichen Stimmen einzufügen, können die Befehle @code{\cueDuring} oder @code{\cueDuringWithClef} eingesetzt werden. Sie stellen eine spezielle Form von @code{\quoteDuring} dar, siehe auch @ref{Andere Stimmen zitieren}. Die Syntax lautet: @example \cueDuring #@var{Zitatbezeichnung} #@var{Richtung} @var{Noten} @end example sowie @example \cueDuringWithClef #@var{Zitatbezeichnung} #@var{Richtung} #@var{Schlüssel} #@var{Noten} @end example Die Noten der entprechenden Takten von @code{@var{Zitatbezeichnung}} wird dem @code{CueVoice}-Kontext hinzugefügt und erscheint gleichzeitig mit @code{@var{Noten}}, wodurch eine polyphone Situation entsteht. Die @code{@var{Richtung}} kann entweder @code{UP} oder @code{DOWN} sein, womit die zitierten Noten entweder als erste oder als zweite Stimme in einem System gesetzt werden. @lilypond[verbatim,quote] fluteNotes = \relative c'' { r2. c4 | d8 c d e fis2 | g2 d | } oboeNotes = \relative c'' { R1 s1*0^\markup { \tiny "flute" } \cueDuring #"flute" #UP { R1 } g2 c, } \addQuote "flute" { \fluteNotes } \new Staff { \oboeNotes } @end lilypond Es ist möglich anzupassen, welche Objekte der Notation von @code{\cueDuring} zitiert werden, indem man die @code{quotedCueEventTypes}-Eigenschaft verändert. Ihr Standardwert ist @code{'(note-event rest-event tie-event beam-event +tuplet-span-event)}; somit werden also nur Noten, Pausen, Bindebögen, Balken und N-tolen zitiert, nicht aber Artikulationen, Dynamik, Beschriftung usw. @warning{Wenn eine @code{Voice}-Umgebung mit @code{\cueDuring} beginnt, wie im folgenden Beispiel, muss die @code{Voice}-Umgebung explizit erstellt werden, weil sonst der gesamte musikalische Ausdruck zum @code{CueVoice}-Kontext gehören würde.} @lilypond[verbatim,quote] oboeNotes = \relative c'' { r2 r8 d16(\f f e g f a) g8 g16 g g2. } \addQuote "oboe" { \oboeNotes } \new Voice \relative c'' { \set Score.quotedCueEventTypes = #'(note-event rest-event tie-event beam-event tuplet-span-event dynamic-event slur-event) \cueDuring #"oboe" #UP { R1 } g2 c, } @end lilypond Beschriftung kann auch benutzt werden, um die Bezeichnung des zitierten Instruments anzuzeigen. Wenn die Stichnoten einen Schlüsselwechsel erfordern, kann er manuell erzeugt werden -- dann muss aber der ursprüngliche Schlüssel am Ende der Stichnoten wieder hergestellt werden: @lilypond[verbatim,quote] fluteNotes = \relative c'' { r2. c4 d8 c d e fis2 g2 d2 } bassoonNotes = \relative c { \clef bass R1 \clef treble s1*0^\markup { \tiny "flute" } \cueDuring #"flute" #UP { R1 } \clef bass g4. b8 d2 } \addQuote "flute" { \fluteNotes } \new Staff { \bassoonNotes } @end lilypond @cindex Entfernen von Stichnoten @cindex Stichnoten, entfernen Alternativ kann auch die Funktion @code{\cueDuringWithClef} eingesetzt werden. Dieser Befehl erhält zusätzlcih ein Argument, das den Schlüsselwechsel anzeigt, den man für die Stichnoten braucht. Der originale Schlüssel wird automatisch wieder hergesetllt. @lilypond[verbatim,quote] fluteNotes = \relative c'' { r2. c4 d8 c d e fis2 g2 d2 } bassoonNotes = \relative c { \clef bass R1 s1*0^\markup { \tiny "flute" } \cueDuringWithClef #"flute" #UP #"treble" { R1 } g4. b8 d2 } \addQuote "flute" { \fluteNotes } \new Staff { \bassoonNotes } @end lilypond @funindex \transposedCueDuring @funindex transposedCueDuring Genauso wie @code{\quoteDuring} berücksichtigt auch @code{\cueDuring} Transpositionen. Stichnoten werden auf den Tonhöhen erstellt, die für das Instrument geschrieben würden, in dessen Noten sie gesetzt werden, um die klingenden Töne des Quelleninstruments zu produzieren. Um Stichnoten anders zu transponieren, muss @code{\transposedCueDuring} benutzt werden. Dieser Befehl braucht ein zusätzliches Argument, um (in absolutem Modus) die gedruckte Tonhöhe vorzugeben, mit der das das zweigestrichene C dargestellt werden soll. Das ist nützlich, wenn man Stichnoten von einem Instrument mit einem vollständig anderen Register benutzt: @lilypond[verbatim,quote] piccoloNotes = \relative c''' { \clef "treble^8" R1 c8 c c e g2 c4 g g2 } bassClarinetNotes = \relative c' { \key d \major \transposition bes, d4 r a r \transposedCueDuring #"piccolo" #UP d { R1 } d4 r a r } \addQuote "piccolo" { \piccoloNotes } << \new Staff \piccoloNotes \new Staff \bassClarinetNotes >> @end lilypond @cindex removing cue notes @cindex cue notes, removing @funindex \killCues @funindex killCues @funindex \addInstrumentDefinition @funindex addInstrumentDefinition Der @code{\killCues}-Befehl entfernt Stichnoten aus einem musikalischen Ausdruck, sodass derselbe musikalische Ausdruck für die Partitur und für eine Stimme mit Stichnoten eingesetzt werden kann. Der Befehl @code{\killCues} entfernt nur Noten und Ereignisse, die durch @code{\cueDuring} zitiert wurden. Andere Beschriftungen in Verbindung mit Stichnoten, wie etwa Schlüsselwechsel und Marken, die das Ursprungsinstrument anzeigen, können mit Marken versehen werden, um sie selektiv einzufügen, siehe @ref{Marken benutzen}. @lilypond[verbatim,quote] fluteNotes = \relative c'' { r2. c4 d8 c d e fis2 g2 d2 } bassoonNotes = \relative c { \clef bass R1 \tag #'part { \clef treble s1*0^\markup { \tiny "flute" } } \cueDuring #"flute" #UP { R1 } \tag #'part \clef bass g4. b8 d2 } \addQuote "flute" { \fluteNotes } \new Staff { \bassoonNotes } \new StaffGroup << \new Staff { \fluteNotes } \new Staff { \removeWithTag #'part { \killCues { \bassoonNotes } } } >> @end lilypond Alternativ können Schlüsselwechsel und Instrumentenbezeichnungen auch in eine Instrument-Definition unter Einsatz des Befehls @code{\addInstrumentDefinition} zusammengefasst werden, siehe @ref{Instrumentenbezeichnungen}. @seealso Notationsreferenz: @ref{Andere Stimmen zitieren}, @ref{Transposition von Instrumenten}, @ref{Instrumentenbezeichnungen}, @ref{Marken benutzen}, @ref{Notenschlüssel}, @ref{Musikalische Stichnoten}. Schnipsel: @rlsr{Staff notation}. Referenz der Interna: @rinternals{CueVoice}, @rinternals{Voice}. @knownissues Zusammenstöße können bei Benutzung von @code{\cueDuring} zwischen Pausen der Hauptstimme und den Stichnoten des @code{CueVoice}-Kontexts auftreten. Wenn @code{\cueDuringWithClef} oder @code{\transposedCueDuring} eingesetzt wird, muss das zusätzliche Argument nach dem Zitat und der Richtung erscheinen.