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

Verkürzter Dominantseptakkord im Markup

Begonnen von wome, Mittwoch, 3. Oktober 2012, 17:59

Vorheriges Thema - Nächstes Thema

wome

Ich hatte in einem alten Skript zur Harmonielehre eine Lösung gefunden, um im Markup einer Note das Funktionszeichen für einen verkürzten D7 (D mit diagonaler Linie) zu erstellen.

\markup{D  \hspace #-5.2/ \super "7" }


Habe mit das Skript wieder vorgenommen: nun scheinen die Minuswerte bei \hspace nicht mehr zu funktionieren? Hat jemand eine Idee?

Viele Grüße
Wolfgang

harm6

Hallo Wolfgang,

auf der engl. Seite wurde das kürzlich auch schon diskutiert:
http://lilypond.1069038.n5.nabble.com/slashed-charackters-script-not-working-td133604.html
Siehe insbesondere Arnold's Antwort.

Der link zur online-Docu:
http://lilypond.org/doc/v2.17/Documentation/music-glossary-big-page#functional-harmony

Der Code:

#(define-markup-command (diagonal-stroke layout props arg)
  (markup?)
  #:category font
  #:properties ((font-size 0) (thickness 1.5) (extension 0.07))
  (let*
   ((thick (* (magstep font-size)
      (ly:output-def-lookup layout 'line-thickness)))
    (underline-thick (* thickness thick))
    (markup (interpret-markup layout props arg))
    (x1 (car (ly:stencil-extent markup X)))
    (x2 (cdr (ly:stencil-extent markup X)))
    (y1 (car (ly:stencil-extent markup Y)))
    (y2 (cdr (ly:stencil-extent markup Y)))
    (dx (* extension (- x2 x1)))
    (dy (* extension (- y2 y1)))
    (line (make-line-stencil underline-thick
      (- x1 dx) (- y1 dy)
      (+ x2 dx) (+ y2 dy))))
   (ly:stencil-add markup line)))

\relative c''   
<<
  {
    <g e c>1 <a f d> <b g e>
    <c a f> <d b g> <e c a> <f d b>
  }
  \lyrics {
    T Sp Dp S D Tp
    \markup { \concat { \diagonal-stroke D \super "7" } }
  }
>>


Funktioniert übrigens schon mit "2.14.2"

Png in Anhang.


HTH,
  Harm

wome

Vielen Dank für die schnelle Antwort. Funktioniert.

Übrigens: im Markup nimmt jetzt die Anweisung \halign diese "Verschiebfunktion"

harm6

Zitat
Übrigens: im Markup nimmt jetzt die Anweisung \halign diese "Verschiebfunktion"

Mag schon sein, will heißen, ich hab's nicht geprüft.

Aber \diagonal-stroke ist sehr viel breiter in der Anwendung.

z.B. mit:

\markup { \diagonal-stroke   "abcdefg" }
oder
\markup {
        \diagonal-stroke
        \score {
        \relative c' {
                \repeat unfold 4 c1
                \break
                \repeat unfold 4 c1
        }
        \layout {
                indent = 30
                short-indent = 30
                line-width = 60
        }
        }
}


kann man die angehängten pngs problemlos erzeugen.


Gruß,
  Harm