I did some tests on Don's file, partly for intestaff beams
The main things i found are:
- on a forced lower beam and the beam is raised above the notes, then the
behaviour becomes for an upper beam, see bar 4
- if there are rests at the edges of the beams, they are easy to implement
- for xtuplets, implementing the musixtex dummy note '*' in pmx could help
Further comments are in the source code
Andre
==============
2 1 2 4 2 4 0 4
1 3 20 0
bt
./
\\barnumbers\
w180m
% Flagged, no L allowed between [..]
m2424
a13 r r4d /
[-9 b14 ] r r4d /
%2
% Quarter and longer notes: use L
a43 r /
a44lL10 r /
%3
%
% normal starting on lower staff
g82 g g g //
[+11 f83 a a g ]j /
[j e84 g g f ] //
g85 g g g /
%4
% midstaff [l+14.. the forced lower beam behaves like an upper beam
% if raised above the notes
[l+14 g83 g g g ]j /
[j g84 g g g ] //
g85 g g g /
%5
% repeat %2 normal starting on lower staff
g82 g g g //
[+11 f83 a a g ]j /
[j e84 g g f ] //
g85 g g g /
%6
% midstaff the \roffset{0} restores the upperbeam behaviour
[l+14 \def\roff{\roffset{0}}\ g83 g g g ]j /
[j g84 g g g ] //
g85 g g g /
%7
% repeat %2 normal starting on lower staff
g82 g g g //
[+11 f83 a a g ]j /
[j e84 g g f ] //
g85 g g g /
%8
[+14 g83 g g g ]j /
rb8 [lj g84 g g ] /
%
[+14 g83 g g ]j rb /
rb8 [j g84 g g ] /
%
[+14 g83 g g ]j rb8 /
rb8 [j g84 g g ] /
%
rb8 [j g83 ]j [j g ]j [fj g ] /
[l g84 ]j [j g ]j [j g ]j rb8 /
%
m5858
[u+10 g83 a b g g ]j /
rb8 rb rb [jf c84 d ] /
%
m2424
[u+10 g23x5 a b g g ] /
[f rb2x5 rb rb c4 d ] /
[u+10 g23x5 a b g g ]j /
[jl rb2x5 rb rb c4 d ] /
\\let\qbsav\qb\
[u+10 g23x5 a b g g ]j /
\def\qb#1#2{\let\qb\qbsav\qb{#1}{*}}\
[jf a2x5 rb rb c4 d ] /
=================
-----Oorspronkelijk bericht-----
From: Don Simons
Sent: Wednesday, February 10, 2016 3:09 AM
To: 'Werner Icking Music Archive'
Subject: [Tex-music] Staff-jumping beamed chords
Spurred by Andre's ideas, I've been trying to solve this problem
comprehensively, relying on unconventional and counterintuitive uses of the
"j" option, which was originally designed to allow a beam with single notes
to cross from one staff to another. The original uses also allowed chords
in the beam, but only if each chord stayed within one or the other staff.
Andre's tricks allow this to extend to cases where some or all of the chords
have notes in both staves.
The good news is that I've been able to enumerate all the cases of interest
and put together pure PMX that executes each one of them (see the
attachment). The cases are distinguished by whether the chords within a beam
span the two staves both at the start and end of the beam, only at the
start, only at the end, or at neither end; and also, for the last 3, whether
the non-crossing chord at one end and/or the other is in the upper or lower
staff. So I think that leads to 7 possibilities: both-to-both, low-to-both,
high-to-both, both-to-low, both-to-high, low-to-high, and high-to-low.
They're all represented in beamcross.pmx, but it took me a huge amount of
trial-and-error to work out some of the patterns. And that's the bad
news...I can't provide a clear set of rules that systematically covers all
the cases. I could go forward with just the examples, but it would be much
more satisfying to have that set of rules. So I'm appealing to the group to
see if anyone can play around with these methods and come up with that
comprehensive set of rules to guide the use of forced beams and the "j"
option for this purpose.
One of the spinoffs from that could be to allow Dieter to deal with these
cases in XML2PMX.
Then after someone works out that set of rules, the next challenge, for
which I still don't have even a set of examples, is how to do all of this
(purely in PMX!) if the beam is an xtuplet.
--Don Simons
-------------------------------
[email protected] mailing list
If you want to unsubscribe or look at the archives, go to
http://tug.org/mailman/listinfo/tex-music
-------------------------------
[email protected] mailing list
If you want to unsubscribe or look at the archives, go to
http://tug.org/mailman/listinfo/tex-music