On Wed, Jan 11, 2006 at 09:29:23AM +0100, Jean-Pierre Coulon wrote:
> Does anybody know why \setmeter works only with *two* opening and closing
> braces only?
That's not totally true; for example, \setmeter1{\meterC} works as
expected, and you can even use \setmeter1\meterC.
The musixdoc manual gives a hint why this is so: The second argument to
\setmeter may be a list of up to four meter specifications, in case you
want to specify different meters on different staves within a
multi-staff instrument. "List" is meant here in the sense of TeX macro
argument lists: If unbraced, every input token counts as a separate list
item; to specify a list item consisting of more than a single token, you
have to enclose it in braces. Thus, MusiXTeX interprets
\setmeter1{\meterfrac34} as if "\meterfrac" is the meter of staff 1, "3"
is the meter of staff 2, and "4" the meter of staff 3. (You can see this
by TeXing your example with \tracingmacros enabled and looking into the
log file:
...
[EMAIL PROTECTED] #1#2#3#4->\ifcase \noport@@ \hbox {#1}\or \hbox {#2}\or
\hbox {#3} \or \hbox {#4}\fi
#1<-\meterfrac
#2<-3
#3<-4
#4<-\empty
...
You can see here how "\meterfrac34" is torn apart into the first three
arguments of [EMAIL PROTECTED] Within just this [EMAIL PROTECTED] call,
\hbox{#1} becomes \hbox{\meterfrac}, and here TeX correctly complains
that \meterfrac has lost its arguments.)
For this reason - to enable specifying up to four meters at the same
time - the \setmeter call has been designed this peculiar way.
Best regards,
Rainer
> [...]
> \input musixtex
> \instrumentnumber2
> \setstaffs11
> \setstaffs21
> \setmeter1{{\meterfrac34}}
> %\setmeter1{\meterfrac34}% try this
> \setmeter2{{\meterfrac98}}
> \startextract
> \notesp\ql f&\ibl1j1\qb1{jm}\tqb1l\en
> \notesp\ql g&\ibl1j1\qb1{jm}\tqb1l\en
> \notesp\ql f&\ibl1j1\qb1{jm}\tqb1l\en
> \endextract
> \end
_______________________________________________
TeX-music mailing list
[email protected]
http://icking-music-archive.org/mailman/listinfo/tex-music