Bernard <address@hidden> writes:
Hi Paul,
That does help. I found out \with is a very special statement.
Not really. \with can be part of other constructs, just like "else" can
be part of other constructs in many programming languages (including
Scheme). It is not a "statement" at all.
It influence what happens before the statement, it must be executed
just after \new . That is the reason why my examples 4 and 5 did not
work.
And it influence what happens after the statement. If within the Staff
not a additional Staff property can be set.
No wonder it confuses me.
\with introduces "context modifications". They are basic expressions in
that they can be stored in variables and passed to functions, but to
take effect, they need to be applied to an actually created context, and
there are various syntactic constructs for doing that.
They "influence what happens after the statement" like any modification
to anything. Their influence is restricted to contexts they are applied
to (possibly via layout or context definitions or wrapped into other
context modifications).