I'm working on coding shifted accidentals. I would like to hear
preferences of other users on the following matters:
1. Are vertical shifts needed as well as horizontal? I believe if I
do put in vertical shifts, they will have to be in integral multiples
of \internote .
2. If I do put in vertical shifts, should they come before the
horizontal shift? (e.g cs+1-.5 would shift up one \internote and left
by half a notehead width).
As of now, I'm leaning toward vertical first, then horizontal, and
requiring both always to be entered even if one is zero. I think
this would avoid backward incompatibilities with existing octave and
duration syntax. (Anyone disagree?) And the order is consistent with
existing syntax for slurs and dots.
If I do not allow vertical shifts, or allow them but don't require
both shifts to be entered (in either order), the syntax would not be
compatible, e.g. cs+1 now means something else.
3. Should shifts be cumulative? In other words, if a notehead has
been explicitly shifted (cse or csr), now the accidental is
automatically shifted left or right (I've fixed the error with
left-shifted chordal notes). Should explicitly specified accidental
shifts be relative to the already shifted position? In other
situaltions of shifts I have not been consistent on this.
4. What are the maximum vertical shifts (in \internote) or horizontal
shifts (in notehead widths) that will ever be needed?
5. Will there ever be a need for a positive horizontal shift (i.e.,
to the right?).
6. I intend to use \loffset for this. Due to the way it is definied
in MusiXTeX, it cannot be nested with other copies of itself. So
these shifts will cause problems if someone tries to use them inside
another shift, e.g. X2.5S c44s+0-2.3 . I could possibly get around
this using \off{-...}\...\off{...} but that would make the TeX output
messier. Is it worth it? If I did it that way, I would need to give
the argument of \off in some length unit. Points? (Strangely, there
is no externally accessible length variable defined in MusiXTeX that
is the width of a notehead).
--Don