Textabstände beinflussen

Begonnen von morgon, Montag, 23. Oktober 2017, 09:49

« vorheriges - nächstes »

morgon

Hallo,

ich möchte den Abstand zwischen zwei Wörtern die übereinander in einem markup-block stehen beinflussen.

Mein Beispiel:


\version "2.18.2"

#(define center-grob-on-note-column
;; Returns a numerical value, which is supposed to be used for 'X-offset
  (lambda (grob)
    (let* (;; get the VerticalAxisGroup,
           ;; don't go for PaperColumn, because all NoteColumns would be catched
           (vert-axis-group (ly:grob-parent grob Y))
           (vert-axis-group-elts-array
             (ly:grob-object vert-axis-group 'elements))
           (note-column-list
             (if (ly:grob-array? vert-axis-group-elts-array)
                 (filter
                   (lambda (g) (grob::has-interface g 'note-column-interface))
                   (ly:grob-array->list vert-axis-group-elts-array))
                 '()))
           (note-column
             (if (pair? note-column-list)
                 (car note-column-list)
                 #f))
           (note-column-center
             (if note-column
                 (interval-center (ly:grob-extent note-column note-column X))
                 0))
           (stil (ly:grob-property grob 'stencil))
           (stil-center
             (interval-center (ly:stencil-extent stil X))))
    ;; move grob in X-direction:
    ;; half of NoteColumn-width to the rigth and half of its own width back
    ;; to the left
    (- note-column-center stil-center))))


\header {
  title = "C"
}

\score {

\new Staff {
  \tempo 4=300
  \time 8/1
  \omit Staff.TimeSignature
  \set Score.tempoHideNote = ##t
  \override TextScript.X-offset = #center-grob-on-note-column
  c'1_\markup{ \center-column { c \magnify #0.7 "60" } }
}

\layout {}
}


Was ich hier habe ist ein "c" und "60" zenrtiert unter dem Notenkopf. Was ich erreichen möchte ist zum einen dass der vertikale Abstand zwischen dem "c" und dem Notenkopf grösser wird und zum andern dass der vertikale Abstand zwischen dem "c" und dem "60" kleiner wird.

Kann mir jemand erklären wie das geht?

Danke!

Malte

\override #'(baseline-skip . 2)
direkt vor \center-column einfügen, Wert nach Belieben anpassen.

morgon

Danke. Das funktioniert perfekt um den Abstand zwischen den beiden Texten anzupassen.

Und wie kann man den Abstand des Textes vom Notenkopf verändern?

harm6

\override TextScript.padding = what-ever-numerical-value

HTH,
  Harm

morgon