• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Hemiolenklammer

Begonnen von friedemann_bach, Sonntag, 12. Juni 2011, 18:26

Vorheriges Thema - Nächstes Thema

friedemann_bach

Liebes Forum,

ich möchte in einem Chorstück (SATB) einige Hemiolen markieren, also eine Ausdehung der Schwerpunkte eines Dreier-Taktes auf zwei Dreier-Takte. Ich stelle mir dazu so etwas eine Klammer vor, die horizontal zwei Takte überspannt, die also vom Anfang des ersten Taktes bis zum Ende des zweiten Taktes reicht.

So etwas in der Art kann man in der Version 2.12.3. mit \startGroup und \stopGroup erreichen:

b4.\startGroup b8 b4 | b b4.( a8)\stopGroup | b4

Allerdings sehe ich bei diesem Vorgehen das Problem, dass die Klammer nur bis zur letzten Note des Taktes gezogen wird, aber nicht bis zum Ende des Taktes. Wenn die letzte Note, wie im folgenden Beispiel, eine halbe Note ist, wird die Klammer zu kurz:

b2\startGroup b4~ | b4 a2\stopGroup | a

Also müsste man erreichen, dass sich die Ausdehnung der Klammer am Takt orientiert. Wer hat eine Idee, wie man das hinbekommen könnte? Ich bin auch für Alternativen zu \startGroup etc. dankbar.

harm6

Hallo friedemann,

willkommen im Forum! Die Antwort findet sich in der IR.
Dort findet man in 3.1.50 Angaben zu HorizontalBracket und wird letztlich fündig in 3.2.45 horizontal-bracket-interface: Mit dem dortigen Ausdruck shorten-pair gelingt folgender Befehl: \once\override HorizontalBracket #'shorten-pair  = #'(a . b). Die jeweils geeigneten Werte für a und b muß man dann noch herausfinden.

Dein Beispiel kann dann so aussehen:

\version "2.14.0"

\layout {
 \context {
   \Voice
   \consists "Horizontal_bracket_engraver"
 }
}

\relative c' {
       \time 3/4

       \once\override HorizontalBracket #'shorten-pair  = #'(0 . -3)
b'4. \startGroup b8 b4 | b b4.( a8)\stopGroup | b4 r2 |\break

       \once\override HorizontalBracket #'shorten-pair  = #'(0 . -19)
b2\startGroup b4~ | b4 a2\stopGroup | a2.
}


Gruß,
 Harm

P.S. Zwei Punkte noch:
Meine Hinweise beziehen sich alle auf version 2.14.0. Aber ich glaube nicht das es zu Schwierigkeiten mit niedrigeren Versionsnummern kommt.
Bitte poste immer ein kompilierbares Beispiel (natürlich so kurz wie möglich)! Das erleichtert und verkürzt die Bearbeitungszeit. ;)

friedemann_bach

Der Tip war hervorragend! Vielen herzlichen Dank. Das hätte ich selbst nicht rausgefunden.

Das war außerdem ein guter Einstieg für mich in die IR. Beim nächsten Mal wage ich vielleicht gleich einen Blick dorthin.

PS. Beispiel gibt's nächstes Mal komplett dazu, versprochen ;)