• 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ü

Zentrierte Dynamik

Begonnen von lilyputaner, Samstag, 14. November 2015, 22:51

Vorheriges Thema - Nächstes Thema

lilyputaner

Ich arbeite gerade an meinem ersten größeren Projekt mit Lilypond. Es handelt sich um ein Klaviersystem, bei dem die dynamischen und Ausdrucks-Anweisungen in der Mitte stehen sollen. Dabei mußte ich feststellen, dass  Dynamikbefehle in einer anderen Höhe angeordnet werden wie selbsterstellter Text. Trotz langem Suchens habe ich keine Möglichkeit gefunden, das abzustellen und bin dankbar  für Tipps dazu.

Hier noch ein Minimalbeispiel:

\version "2.18.2"


\score {\new PianoStaff
   <<
\new Staff ="up"{  \relative c'' { c4 c    c  c  }    }
    
    
     \new Dynamics{
                    
                      s4\p

                    
                      
                      
                      s\< s\!
            
                      s^\markup{\italic dolce}
      }
      
      \new Staff ="down"{ \relative c'' { c4 c     c  c }    }
   
      
   >>}

Grüße und Danke!

harm6

Hallo lilyputaner,

willkommen im Forum.

Die NR empfiehlt `make-dynamic-script' zu benutzen, das führt zu:


\version "2.18.2"

dolce = \tweak DynamicText.X-offset #-1
        #(make-dynamic-script #{ \markup \normal-text \italic "dolce" #})

\score {
  \new PianoStaff <<
      \new Staff ="up"
        \relative c'' { c4 c  c  c  }
   
      \new Dynamics {
        s4\p
        s\< s\!
        s-\dolce
      }
     
      \new Staff ="down"
        \relative c'' { c4 c  c  c }
  >>
}


Allerdings mußt Du dann jede eigene Anmerkung, die Du einfügen willst einzeln definieren.
Das kann auch von einer event-function erledigt werden:


\version "2.18.2"

myDyn =
#(define-event-function (parser location txt)(markup?)
  (let* ((mrkp #{ \markup \normal-text \italic $txt #})
         (dyn (make-dynamic-script mrkp)))
  #{
    \tweak DynamicText.X-offset #-1
    $dyn
  #}))
 
 
\score {
  \new PianoStaff <<
      \new Staff ="up"
        \relative c'' { c4 c  c  c  }
   
      \new Dynamics {
        s4\p
        s\< s\!
        s\myDyn "dolce"
      }
     
      \new Staff ="down"
        \relative c'' { c4 c  c  c }
  >>
}


Der X-offset-tweak kann eventuell noch angepasst werden.

HTH,
  Harm

fugenkomponist

Alternativ könntest du den \dynamic-Befehl aus openlilylib verwenden. Aktuell liegt der Code dazu hier. Das vereinfacht nicht nur Angaben wie ,,dolce", sondern auch zusammengesetzte wie ,,più p" (setzt più kursiv und das p als Dynamik-p).

lilyputaner

Danke für die freundliche Begrüßung und Hilfe - es geht!