tweak-variable will nicht

Begonnen von C_E, Samstag, 11. Mai 2019, 11:26

« vorheriges - nächstes »

C_E

Also

zuallererst hier mein Code



\version "2.18.2"

%kleinerKopf = \tweak font-size #-3


\score {
  \relative c'{
    <d b>4 b' <d, b> <e c> | c' <e, c>
    <f d> d' |
  }
}




Ich will jeweils die untere Note in den Akkorden klein haben, will dafür eine Variable bauen, aber das scheint nicht zu funktionieren.

Wenn ich den \tweak ausführlich jedesmal eintippe, dann funktioniert es, aber jetzt, wo ich das Problem gesehen habe, will ich auch eine Lösung finden. :)

Wenn ich in der Variable den Tweakbefehl in Klammern setze, kommt die Fehlermeldung, dass er "}" nicht erwartet hat, seltsamerweise auch nur "}",
und wenn ich die Klammern weglasse, funktioniert es auch nicht, was ja auch eigentlich logisch ist, da er kein Ende hat, oder?


Danke schonmal :)

lieben Gruß

Malte

Hallo C_E,

willkommen im Forum! Ein \tweak erwartet – anders als ein \override – zwingend sofort folgend Musik, auf die er sich beziehen kann. Dein Versuch, kleinerKopf als einfache Ersetzungsfunktion zu definieren, funktioniert also nicht.

Man kann aber eine Musikfunktion bauen, die Musik als Argument erwartet und den \tweak darauf anwendet:\version "2.18.2"

kleinerKopf =
#(define-music-function (parser location music) (ly:music?)
   #{
     \tweak font-size #-3 #music
   #})

\score {
  \relative c'{
    <d \kleinerKopf b>4 b' <d, \kleinerKopf b> <e \kleinerKopf c> | c' <e, \kleinerKopf c>
    <f \kleinerKopf d> d' |
  }
}


Da das relativ aufwendig ist, gibt es seit Version 2.19 den Befehl \etc. Der liefert dem \tweak in der Definition von kleinerKopf die nötige Musik, ohne daß define-music-function verwendet werden muß. Die Definition ist dann viel kürzer, die Anwendung gleich:\version "2.19.83"

kleinerKopf = \tweak font-size #-3 \etc

Das ist nur eine von vielen Verbesserungen in 2.19, der ,,instabilen" Version, die mit 2.19.83 beim dritten Prerelease für das ,,stabile" 2.20 ist und damit auch selbst ziemlich stabil. Du könntest also überlegen, diese Version zu installieren ;)

Viele Grüße
Malte

harm6

Hallo,

Malte war schneller ;)

Auch von mir ein "Willkommen im Forum".

Gruß,
  Harm

C_E

Hat wunderbar funktioniert, vielen Dank!
und das mit 2.19 überleg ich mir :D