GNU LilyPond Benutzerhandbuch: 1.2.5 Bars

### 1.2.5 Bars

#### Bar lines

Taktstriche trennen Takte voneinander, werden aber auch verwendet, um Wiederholungen anzuzeigen. Normalerweise werden sie automatisch nach Vorgabe der aktuellen Taktart eingefügt.

Die einfachen, automatisch eingefügten Taktstriche können mit dem `\bar`-Befehl geändert werden. Eine doppelter Tatkstrich etwa wird normalerweise am Ende eines Stückes gesetzt:

>     e4 d c2 \bar "|."

Es ist kein Fehler, wenn die letzte Note in einem Takt nicht zum automatisch eingefügten Taktstrich aufhört: es wird angenommen, dass die Note im nächsten Takt weitergeht. Wenn aber eine ganze Reihe solcher überlappenden Takte auftritt, können die Noten gedrungen aussehen oder sogar über den Seitenrand hinausragen. Das kommt daher, dass Zeilenumbrüche nur dann vorgenommen werden, wenn ein vollständiger Takt auftritt, also ein Takt, an dem alle Noten vor dem Taktstrich zu Ende sind.

Achtung: Eine falsche Dauer kann bewirken, dass Zeilenumbrüche verhindert werden, woraus resultiert, dass die Noten entweder sehr stark gedrängt auf der Zeile notiert werden, oder die Zeile über den Seitenrand hinausragt.

Zeilenumbrüche werden erlaubt, wenn ein Taktstrich manuell eingefügt wird, auch, wenn es sich um keinen vollständigen Takt handelt. Um einen Zeilenumbruch zu erlauben, ohne den Taktstrich auszugeben, kann

>     \bar ""

benutzt werden. Damit wird ein unsichtbarer Taktstrich an dieser Stelle eingefügt und damit ein Zeilenumbruch erlaubt (aber nicht erzwungen), ohne dass sich die Anzahl der Takte erhöhen würde. Um einen Zeilenumbruch zu erzwingen, siehe Line breaking.

Diese Art von Taktstrichen und auch andere besondere Taktstriche können manuell an jeder Stelle in der Partitur eingefügt werden. Wenn sie mit dem Ende eines Taktes übereinstimmen, wird der automatische Taktstrich durch den manuellen ersetzt. Diese manuellen Einfügungen haben keine Auswirkung auf die Zählung und Position der folgenden automatischen Taktstriche.

Manuell können der einfache Taktstrich und zusätzlich fünf Arten eines doppelten Taktstriches gesetzt werden:

>     f1 \bar "|" g \bar "||" a \bar ".|" b \bar ".|." c \bar "|.|" d \bar "|." e

Zusätzlich gibt es noch punktierte und gestrichelte Taktstriche:

>     f1 \bar ":" g \bar "dashed" a

und fünf unterschiedliche Wiederholungstaktstriche:

>     f1 \bar "|:" g \bar ":|:" a \bar ":|.|:" b \bar ":|.:" c \bar ":|" d

Auch wenn die Taktlinien, die Wiederholungen angeben, manuell eingefügt werden können, wird die Wiederholung dadurch nicht von LilyPond erkannt. Wiederholte Stellen werden besser notiert, indem man die Wiederholguns-Befehle einsetzt, die automatische die richtigen Taktlinien setzen. Das ist beschrieben inRepeats.

Zusätzlich kann noch `"||:"` verwendet werden, dass sich genauso wie `"|:"` verhält, außer bei Zeilenumbrüchen, wo ein doppeltre Taktstrich am Ende der Zeile ausgegeben wird und ein öffnender Wiederholungsstrich am Anfang der nächsten Zeile.

>     \override Score.RehearsalMark #'padding = #3
>     c c c c
>     \bar "||:"
>     c c c c \break
>     \bar "||:"
>     c c c c

In Partituren mit vielen Systemen wird ein `\bar`-Befehl in einem System automatisch auf alle anderen Systeme angewendet. Die resultierenden Taktstriche sind miteinander verbunden innerhalb einer Gruppe (`StaffGroup`) oder einem Klaviersystem (`PianoStaff` bzw. (`GrandStaff`).

>     <<
>       \new StaffGroup <<
>         \new Staff {
>           e'4 d'
>           \bar "||"
>           f' e'
>         }
>         \new Staff { \clef bass c4 g e g }
>       >>
>       \new Staff { \clef bass c2 c2 }
>     >>

#### Selected Snippets

Der Befehl `\bar` Taktart ist eine Kurzform von: `\set Timing.whichBar =` Taktart. Immer, wenn `whichBar` auf einen Wert gesetzt wird, wird ein Taktstrich dieses Typs erzeugt.

Der automatisch erzeugte Taktstrich ist `"|"`. Das kann jederzeit durch den Befehl `\set Timing.defaultBarType =` Takstrichart geändert werden.

#### See also

Notationsreferenz: Line breaking, Repeats, Grouping staves.

Schnipsel: Rhythms.

Referenz der Interna: BarLine (created at Staff level), SpanBar (across staves), Timing_translator (for Timing properties).

#### Bar numbers

Taktnummern werden standardmäßig zu Beginn eines jeden Systems ausgegeben, ausgenommen ist die erste Zeile. Die Zahl selber wird in der `currentBarNumber`-Eigenschaft gespeichert, die normalerweise für jeden Takt aktualisiert wird. Sie kann aber auch manuell gesetzt werden:

>     c1 c c c
>     \break
>     \set Score.currentBarNumber = #50
>     c1 c c c

#### Selected Snippets

Taktnummern können in regelmäßigem Abstand ausgegeben werden, anstatt dass sie nur am Beginn des Systems erscheinen. Um das zu erreichen, muss die Standardeinstellung verändert werden, um zu erlauben, dass Taktnummern an anderen Stellen als dem Beginn von Systemen ausgegeben werden. Das wird mit der Eigenschaft `break-visibility` von `BarNumber` vorgenommen. Sie braucht drei Werte, die auf `#t` (wahr) oder `#f` (falsch) gestellt werden können, womit angegeben wird, ob die Taktnummer an der entprechenden Stelle sichtbar ist. Die Reihenfolge der Werte ist: Ende der Zeile, Mitte der Zeile und Beginn der Zeile. Im folgenden Beispiel werden die Taktlinien überall ausgegeben:

>     \override Score.BarNumber #'break-visibility = #'#(#t #t #t)
>     \set Score.currentBarNumber = #11
>     \bar ""  % Permit first bar number to be printed
>     c1 c c c
>     \break
>     c c c c

Im nächsten Beispiel werden die Taktnummern nur für jeden zweiten Takt gesetzt, außer am Ende der Zeile:

>     \override Score.BarNumber #'break-visibility = #'#(#f #t #t)
>     \set Score.currentBarNumber = #11
>     \bar ""  % Permit first bar number to be printed
>     % Print a bar number every second measure
>     \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
>     c1 c c c c
>     \break
>     c c c c c

Die Größe der Taktnummer kann geändert werden. Das wird im folgenden Beispiel gezeigt, welches auch illustriert, wie man Taktnummern in Kästen oder Kreise einfasst und eine Alternative zeigt, wie man `#(#f #t #t)` für `break-visibility` definieren kann.

>     % Prevent bar numbers at the end of a line and permit them elsewhere
>     \override Score.BarNumber #'break-visibility
>       = #end-of-line-invisible

>     % Increase the size of the bar number by 2
>     \override Score.BarNumber #'font-size = #2
>     \repeat unfold 3 { c1 } \bar "|"

>     % Draw a box round the following bar number(s)
>     \override Score.BarNumber  #'stencil
>       = #(make-stencil-boxer 0.1 0.25 ly:text-interface::print)
>     \repeat unfold 3 { c1 } \bar "|"

>     % Draw a circle round the following bar number(s)
>     \override Score.BarNumber  #'stencil
>       = #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
>     \repeat unfold 4 { c1 } \bar "|."

Taktnummern sind standardmäßig links von ihrem Anker angeordnet. Der Anker ist meistens das linke Ende einer Zeile, oder, wenn die Zahlen innerhalb der Zeile gesetzt werden, die linke Taktlinie eines Taktes. Die Nummern können auch direkt auf der Taktlinie positioniert oder rechts davon gesetzt werden:

>     \set Score.currentBarNumber = #111
>     \override Score.BarNumber #'break-visibility = #'#(#t #t #t)
>     % Increase the size of the bar number by 2
>     \override Score.BarNumber #'font-size = #2
>     % Print a bar number every second measure
>     \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
>     c1 c1
>     % Center-align bar numbers
>     \override Score.BarNumber #'self-alignment-X = #0
>     c1 c1
>     % Right-align bar numbers
>     \override Score.BarNumber #'self-alignment-X = #-1
>     c1 c1

Taktnummern können vollständig entfernt werden, indem man den `Bar_number_engraver` aus dem `Score`-Kontext entfernt.

>     \layout {
>       \context {
>         \Score
>         \remove "Bar_number_engraver"
>       }
>     }
>     \relative c''{
>       c4 c c c \break
>       c4 c c c
>     }

#### See also

Schnipsel: Rhythms.

Referenz der Interna: BarNumber.

#### Known issues and warnings

Taktnummern können mit der oberen Ecke der Klammer zu Beginn des Systems zusammenstoßen. Um das zu verhindert, kann die `padding`-Eigenschaft von `BarNumer` verwendet werden, um die Zahl zu verschieben.

#### Bar and bar number checks

Die Taktüberprüfung hilft, Fehler in den Notendauern zu entdecken. Eine Taktüberprüfung wird mit dem Taktstrichsymbol „|“ (Taste AltGr+<) eingegeben. Immer, wenn LilyPond bei der Ausgabe des Notendrucks auf dieses Zeichen stößt, sollte hier in den Noten auch ein Taktstrich erscheinen. Wenn das nicht der Fall ist, wird eine Warnung ausgegeben. Im nächsten Beispiel resultiert die zweite Taktüberprüfung in einer Fehlermeldung.

>     \time 3/4 c2 e4 | g2 |

Taktüberprüfungen können auch in Gesangstexten verwendet werden:

>     \lyricmode {
>       \time 2/4
>       Twin -- kle | Twin -- kle
>     }

Besonders in mehrstimmiger komplizierter Musik können falschen Notenwerte die ganze Partitur durcheinander bringen. Es lohnt sich also, die Fehlersuche damit zu beginnen, nicht bestandene Taktüberprüfungen zu kontrollieren.

Wenn aufeinander folgende Taktüberprüfungen mit dem gleichen Abstand Fehler produzieren, wird eventuell nur die erste Warnung ausgegeben. Damit wird die Warnung auf den Ursprung de Fehlers fokussiert.

Es ist auch möglich, die Bedeutung des Symbols `|` umzudefinieren, so dass hiermit eine andere Aktion als eine Taktüberprüfung erreicht wird. Das geschieht, indem man der Pipe (`pipeSymbol` einen musikalischen Ausdruck zuweist. Im nächsten Beispiel wird `|` dazu verwendet, eine doppelte Taktlinie auszugeben, woimmer man das Zeichen auchsetzt. Gleichzeitig hört das Zeichen auf, als Taktüberprüfung zu funktionieren.

>     pipeSymbol = \bar "||"
>     {
>       c'2 c'2 |
>       c'2 c'2
>       c'2 | c'2
>       c'2 c'2
>     }

Wenn man größere Musikstücke kopiert, kann es hilfreich sein, wenn LilyPond überprüft, ob die Taktnummer, in der Sie gerade kopieren, mit der des Originales übereinstimmt. Das kann mit dem Befehl `\barNumberCheck` folgenderweise überprüft werden:

    \barNumberCheck #123

Eine Warnung wird ausgegeben, wenn der interne Zähler `currentBarNumber` von LilyPond nicht mit dem Wert 123 übereinstimmt.

#### Rehearsal marks

Übungszeichen können mit dem `\mark`-Befehl ausgegeben werden:

>     c1 \mark \default
>     c1 \mark \default
>     c1 \mark #8
>     c1 \mark \default
>     c1 \mark \default

Der Buchstabe „I“ wird ausgelassen, was den allgemeinen Notensatzregeln entspricht. Wenn Sie dennoch den Buchstaben „I“ benutzen, wollen, müssen Sie

>     \set Score.markFormatter = #format-mark-alphabet

benutzen.

Das Zeichen wird automatisch erhöht, wenn Sie `\mark \default` schreiben, aber Sie können auch eine beliebige Ganzzahl als Argument angeben. Der Wert, der gesetzt werden soll, wird in der Eigenschaft `rehearsalMark` gespeichert.

Der Stil der Übungszeichen wird von der Eigenschaft `markFormatter` definiert. Das ist eine Funktion, die das aktuelle Zeichen und den aktuellen Kontext als Argument annimmt. Sie gibt dann ein Textbeschriftungsobjekt aus. Im folgenden Beispiel ist `markFormatter` so definiert, dass eine Zahl ausgegeben wird. In den folgenden Takten werden dann andere mögliche Einstellungen gezeigt.

>     \set Score.markFormatter = #format-mark-numbers
>     c1 \mark \default
>     c1 \mark \default
>     \set Score.markFormatter = #format-mark-box-numbers
>     c1 \mark \default
>     \set Score.markFormatter = #format-mark-circle-numbers
>     c1 \mark \default
>     \set Score.markFormatter = #format-mark-circle-letters
>     c1

Die Datei ‘`scm/translation-functions.scm`’ beinhaltet die Definitionen für `format-mark-numbers` (erstelle-Zeichen-Nummern), `format-mark-box-numbers` (erstelle-Zeichen-Kasten-Nummern), `format-mark-letters` (erstelle-Zeichen-Buchstaben) und `format-mark-box-letters` (erstelle-Zeichen-Kasten-Buchstaben). Sie können als Anleitung für eigene Formatierungsfunktionen dienen.

Die Funktionen `format-mark-barnumbers`, `format-mark-box-barnumbers`und `format-mark-circle-barnumbers` könenn eingesetzt werden, um Taktnummern anstelle der fortlaufenden Zahlen bzw. Buchstaben zu erhalten.

Andere Übungszeichenstile können auch manuell gesetzt werden:

>     \mark "A1"

`Score.markFormatter` hat keine Auswirkungen auf solcherart definierte Zeichen. Man kann aber auch mit `\markup` Textbeschriftungsobjekte zu dem selbstdefinierten Zeichen hinzufügen:

>     \mark \markup{ \box A1 }

Musikbuchstaben (wie etwa das Segno-Zeichen) können mit dem Befehl `\musicglyph` als ein `\mark`-Zeichen definierte werden:

>     c1 \mark \markup { \musicglyph #"scripts.segno" }
>     c1 \mark \markup { \musicglyph #"scripts.coda" }
>     c1 \mark \markup { \musicglyph #"scripts.ufermata" }
>     c1

Siehe The Feta font, wo alle Symbole gezeigt sind, die mit dem Befehl `\musicglyph` ausgegeben werden können.

Übliche Veränderungen der Positionierung von Übungszeichen finden sich in Formatting text.

#### See also

Notationsreferenz: The Feta font, Formatting text.

Installierte Dateien: ‘`scm/translation-functions.scm`’ beinhaltet die Definition von `format-mark-numbers` und `format-mark-letters`. Sie können als Anleitung für eigene Funktionen benutzt werden.

Schnipsel: Rhythms.

Referenz der Interna: RehearsalMark.

Other languages: English, français, español.

#### Notation Reference