Tremolobalken überlagern Vorzeichen / gelöst

Begonnen von gaerchle, Montag, 24. Juli 2017, 21:06

« vorheriges - nächstes »

gaerchle

Liebe Lilypondianer,

ich habe noch ein weiteres Problem:
Die Tremolobalken überlagern die Vorzeichen:
\version "2.18.2"

voice = \relative c {
  \clef bass
\acciaccatura { ces8 } \repeat tremolo 16 { <a g>32 ces! }
\repeat tremolo 16 { <as ges>32 ces }
\repeat tremolo 8 { ges32 es' } \repeat tremolo 8 { ges,32 ces }
\repeat tremolo 16 { ges32 ces }
}

\score {
  \new Staff \voice
}

Wie krieg ich das vernünftig hin?
Danke und viele Grüße
Gaerchle

trulli

Hallo,

vielleicht tweaken?

\version "2.18.2"

voice = \relative c {
  \clef bass
   
\acciaccatura { ces8 } \repeat tremolo 16 { <a g>32 \tweak #'X-offset #'3 ces! }
\repeat tremolo 16 { <as ges>32 \tweak #'X-offset #'3 ces }
\repeat tremolo 8 { ges32 es' } \repeat tremolo 8 { ges,32 ces }
\repeat tremolo 16 {  ges32  \tweak #'X-offset #'3  ces }
}

\score {
  \new Staff \voice
}

gaerchle

Super. Danke. Das geht. Hatte mich auch schon mit dem \tweak beschäftigt, aber wie ich jetzt sehe falsch eingesetzt.

harm6

Hallo ,

tremolo mit Ganzen Noten ist eine von LilyPonds Schwächen.
Z.B.
https://sourceforge.net/p/testlilyissues/issues/704/
Wie man schon an der Nummer sieht ist es ein ziemlich altes Problem.

Hier noch einige Anmerkungen zu obige Diskussion.

(1)
Bei
\tweak #'X-offset #'3
sind die rot markierten Teile in neueren Versionen überflüssig. Das grün markierte Apostroph ist schon immer überflüssig gewesen.

(2)
Der tweak in
\repeat tremolo 16 { a'32 \tweak X-offset #3 ces'' }
wirkt auf das NoteEvent.

Sobald man aber einen EventChord hat bleibt er wirkungslos:
\repeat tremolo 16 { a'32 \tweak X-offset #3 <ces'' des''> }

Ersetzt man den tweak durch einen override wird der output sogar falsch:
\repeat tremolo 16 { a'32 \override NoteHead.X-offset = 3 <ces'' des''> }

(3)
Ein Weg könnte sein:
  a) zwischen den beiden NoteColumns mehr Platz schaffen (falls nötig)
      entweder mit \once \override Score.NoteColumn.X-offset = ...
      oder indem man die Länge des Beams mittels minimum-length verändert.
      Das erfordert allerdings eine Setzung für 'springs-and-rods.
      Ich bevorzuge letzteres, da es sich besser in LilyPonds flexibles spacing
      einpasst. Also:
      \override Beam.springs-and-rods = #ly:spanner::set-spacing-rods
      \override Beam.minimum-length = ...
  b) Beam.gap setzen
      Wirkt leider immer auf beiden Seiten. Deshalb:
  c) den (Tremolo-)Beam mittels extra-offset versetzen bis er passt.
      Dies ist einer der gaaaaaaaaaanz seltenen Fälle, in denen ich 'extra-offset verwende.
      Aber auch nur solange bis mir etwas besseres einfällt oder gezeigt wird.


Das Ganze führt dann zu:

{
\override Beam.springs-and-rods = #ly:spanner::set-spacing-rods
\override Beam.minimum-length = 13.5
\override Beam.gap = 4.6
\override Beam.extra-offset = #'(-2.3 . 0)
\repeat tremolo 16 { c'32 <dis' eis' fis' gis'> }
}


Gruß,
  Harm