Next: AT/, Previous: AT=, Up: AT commands [Contents][Index]
The spacing commands are used to refine FWEAVE’s pretty-printed output. Generally it’s not necessary to bother with these until one is putting the final touches on a code.
Extra spacings are sometimes necessary when working with unusual macro
constructions. ‘@,’ inserts a thin space, analogous to TeX’s
\,
.
An example where explicit spacing would be necessary is as follows:
@c @ @m OP + @m A(x,y) x @, OP @, y @a z = A(a, b);
Without the ‘@,’’s, the body of the A
macro will weave as
the unappealing ‘xOPy’. This occurs because although OP
is
defined to be a binary operator, FWEAVE thinks of it as just a mere
expression, and one of its fundamental production rules is to
concatenate expressions with no intervening expressions.
This demonstrates that situations arise in which one needs to override FWEAVE’s default processing. But for the above example, there is actually a better solution. Instead of using the ‘@,’’s, include the format command ‘@f OP $_BINOP_’. See ATf.
Next: AT/, Previous: AT=, Up: AT commands [Contents][Index]