Versetzungszeichen in einer Spalte exakt untereinander setzen - wie? (gelöst)

Begonnen von Manuela, Sonntag, 27. August 2017, 00:17

« vorheriges - nächstes »

Manuela

Hi,

ich beschäftige mich derzeit mit der Griffschrift für steirische Harmonika.
Ich habe ein Snippet aus dem LSR adaptiert

Arrow notation and transposition for quarter tones

Mein Code schaut derzeit so aus

\version "2.19.49"

%% http://lsr.di.unimi.it/LSR/Item?id=784


%   Define the alterations as fraction of the equal-tempered whole tone.
% We use an alteration of 0.2 rather than 0.25 of a tone, so that the
% raised natural is a slightly different pitch than the lowered sharp.

#(define-public NATURAL-RAISE  2/10)
#(define-public NATURAL-LOWER -2/10)

% Note names can now be defined to represent these pitches in our
% Lilypond input.  We extend the list of Dutch note names:
arrowedPitchNames =  #`(
                         (ce    . ,(ly:make-pitch -1 0 NATURAL-LOWER))
                         (c     . ,(ly:make-pitch -1 0 NATURAL))
                         (ci    . ,(ly:make-pitch -1 0 NATURAL-RAISE))

                         (de    . ,(ly:make-pitch -1 1 NATURAL-LOWER))
                         (d     . ,(ly:make-pitch -1 1 NATURAL))
                         (di    . ,(ly:make-pitch -1 1 NATURAL-RAISE))

                         (ee    . ,(ly:make-pitch -1 2 NATURAL-LOWER))
                         (e     . ,(ly:make-pitch -1 2 NATURAL))
                         (ei    . ,(ly:make-pitch -1 2 NATURAL-RAISE))

                         (fe    . ,(ly:make-pitch -1 3 NATURAL-LOWER))
                         (f     . ,(ly:make-pitch -1 3 NATURAL))
                         (fi    . ,(ly:make-pitch -1 3 NATURAL-RAISE))

                         (ge    . ,(ly:make-pitch -1 4 NATURAL-LOWER))
                         (g     . ,(ly:make-pitch -1 4 NATURAL))
                         (gi    . ,(ly:make-pitch -1 4 NATURAL-RAISE))

                         (ae    . ,(ly:make-pitch -1 5 NATURAL-LOWER))
                         (a     . ,(ly:make-pitch -1 5 NATURAL))
                         (ai    . ,(ly:make-pitch -1 5 NATURAL-RAISE))

                         (be    . ,(ly:make-pitch -1 6 NATURAL-LOWER))
                         (b     . ,(ly:make-pitch -1 6 NATURAL))
                         (bi    . ,(ly:make-pitch -1 6 NATURAL-RAISE))
                         )

pitchnames = \arrowedPitchNames
#(ly:parser-set-note-names pitchnames)

% The symbols for each alteration
arrowGlyphs = #`(
                  (,NATURAL-RAISE . "noteheads.s2cross")
                  (  0            . "accidentals.natural")
                  (,NATURAL-LOWER . "noteheads.s0harmonic")
                  )
% Transposition could generate pitches with alterations
%  double-sharp-lower (8/10) or double-flat-raise (-8/10)
%  but there are no such symbols in the font, so we substituted
%  the most appropriate symbols.
% If some pitch in your score has no symbol, LilyPond gives a warning.

% The glyph-list needs to be loaded into each object that
%  draws accidentals.
\layout {
  \context {
    \Score
    \override KeySignature.glyph-name-alist = \arrowGlyphs
    \override Accidental.glyph-name-alist = \arrowGlyphs
    \override AccidentalCautionary.glyph-name-alist = \arrowGlyphs
    \override TrillPitchAccidental.glyph-name-alist = \arrowGlyphs
    \override AmbitusAccidental.glyph-name-alist = \arrowGlyphs
  }
}
% MIDI implements microtones as a pitch bend, with one bend per channel.
% These lines below assign one channel to each Voice, in case there are
% multiple voices on a staff, so that each voice can have its correct
% pitch bend.
\midi {
  \context {
    \Staff
    \remove "Staff_performer"
  }
  \context {
    \Voice
    \consists "Staff_performer"
  }
}

%% A short example tune
notes = \relative c'' {
  \key c \major
  \time 2/4
  \accidentalStyle forget
  \omit Staff.Clef
  %\override Accidental.extra-spacing-width = #'(+inf.0 . -inf.0)
  %\override Accidental.extra-spacing-height = #'(+inf.0 . -inf.0)
  < ei ci >8. be16
  q8 < ci bi, >16 q
}

\score {
  <<
    \new Staff \notes
  >>
}


Wenn man Vorlage und Output vergleicht, sieht man, dass die Kreuze bei den Akkorden nicht in einer Spalte untereinander stehen, da Lilypond den Satzregeln für Vorzeichen folgt.

Ich vermute, es gibt bestimmt irgendeinen Parameter, mit dem man die Anordnung in einer Spalte erzwingen kann, leider finde ich die Stelle in der Doku nicht.

Untenstehend die Vorlage und der derzeitige Output
Danke für eure Hilfe
viele Grüße
-- Manuela

Malte

Pack das noch in deinen \layout-Block:
  \context {
    \Voice
    \override Accidental.X-offset = -1.5
  }

Ich hab in letzter Zeit immer wieder festgestellt, wie mächtig X-offset (und Y-offset sowie padding und staff-padding) ist, auch hier keine Ausnahme :)

Manuela

Danke Malte, echt super, damit ist mein Problem vollständig gelöst  :)
Danke für eure Hilfe
viele Grüße
-- Manuela