Hallo ihr Lieben,
Ich habe mal wieder ein Problem. Ich gebe folgende Code ein:
\relative c''
{\key d \major
\time 6/8
a8-5([ g)] fis e4.
d4-1 d8 a'4-3 a8
d4-5 d8 cis4.
b4 d8 a4.
g4-4 a8 fis4 d8
}
Dabei werden die Fingersatzangaben immer in Abhängigkeit der Note und nicht in einer Reihe, so wie ich ich gerne hätte angezeigt. Wie kann ich so etwas erzeugen?
Gruß fairsein
Hallo,
ich persönlich finde, daß die Fingersätze nahe an den jeweiligen Noten platziert werden sollten und sehe deshalb überhaupt kein Problem mit dem Erscheinumgsbild so wie es ist.
Falls Du die Fingersätze aber wirklich "in einer Reihe" haben möchtest so probier mal:
\layout {
\context {
\Voice
\override Fingering #'staff-padding = #3
}
}
Den Wert #3 mußt Du eventuell noch anpassen.
Gruß,
Harm
Super hat geklappt. Danke.
Gruß fairsein
So. Ich habe das Problem so super schon öfter angewendet.
Wie bekommt man aber nun die ^\markup { \finger "3 - 1" }- Ausdrücke auf die gleiche Höhe?
Gruß fairsein
Zitat von: fairsein am Dienstag, 20. November 2012, 15:36
Wie bekommt man aber nun die ^\markup { \finger "3 - 1" }- Ausdrücke auf die gleiche Höhe?
Bei
\markup { \finger "3 - 1" } handelt es nicht um einen regulären Fingersatz, sondern ein ganz "normales" Text-Markup. Du mußt dessen padding-Wert genauso einstellen wie das Fingersatz-Padding, dann kommt es auf die gleiche Höhe.
Harms Beispiel um das hier zuständige Layout-Objekt "TextScript" erweitert sähe dann folgendermaßen aus:
\layout {
\context {
\Voice
\override Fingering #'staff-padding = #3
\override TextScript #'staff-padding = #3
}
}
... und schon stehen Fingersätze und \markup auf gleicher Höhe.
Viele Grüße
Torsten
Hallo fairsein,
Zitat von: fairsein
Wie bekommt man aber nun die ^\markup { \finger "3 - 1" }- Ausdrücke auf die gleiche Höhe?
Der Ausdruck "3-1" bedeutet doch einen "stummen" Wechsel vom dritten auf den ersten Finger!?
Wenn es gelingt, diesen Ausdruck als Fingersatz und nicht als TextScript zu kodieren, so kann man die sich auf Fingersätze beziehenden Befehle anwenden ohne zwischen `Fingering´ und `TextScript´ differenzieren zu müssen.
Mit
2.14.2 kann man folgenden Code benutzen:
\version "2.14.2"
switchFinger =
#(define-music-function (parser location arg)(markup?)
(let ((finger-a (car (string-split arg #\- )))
(finger-b (cadr (string-split arg #\- )))
(dash (markup #:normal-text #:fontsize 3 "-"))
(finger (make-music 'FingeringEvent)))
(set! (ly:music-property finger 'tweaks)
(acons 'text (markup #:concat (finger-a dash #:hspace 0.1 finger-b))
(ly:music-property finger 'tweaks)))
finger))
\relative c'' {
c-1
d-\switchFinger "1-3"
% \set fingeringOrientations = #'(right)
<e-\switchFinger "1-2" g-\switchFinger "2-3" b-\switchFinger "3-4">
f-4
}In
2.16.0 funktioniert das zwar auch, aber mit der neuen stable kann man sehr viel einfacher Kodieren und es besteht danach auch keine Notwendigkeit mehr für das "-" vor \switchFinger.
\version "2.16.0"
switchFinger =
#(define-event-function (parser location arg)(markup?)
(let ((finger-a (car (string-split arg #\- )))
(finger-b (cadr (string-split arg #\- )))
(dash #{ \markup { \normal-text \fontsize #3 "-" } #}))
#{
\tweak #'text \markup
\concat {
#finger-a
#dash
\hspace #0.1
#finger-b
}
-0
#}))
\relative c'' {
c-1
d\switchFinger "1-3"
% \set fingeringOrientations = #'(right)
<e\switchFinger "1-2" g\switchFinger "2-3" b\switchFinger "3-4">
f-4
}Anmerkung: In beide Definitionen habe ich `hspace´ eingefügt, da mir der output damit mehr zusagte. Falls es jemanden stört, kann man es einfach rauslöschen.
HTH,
Harm
Danke harm6,
das ist die Lösung die ich gesucht habe.
Ich habe noch mal eine Frage zu den Fingersatznummern. Wie kann man diese in die Schriftgröße verändern?
Gruß fairsein
wie bei allen grobs:
\override Fingering #'font-size = #-8viel erfolg 8)
Eluze
Danke