Next: , Previous: , Up: AT commands   [Contents][Index]


5.12 Spacing

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.

5.12.1 ‘@,’: Insert a thin space

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: , Previous: , Up: AT commands   [Contents][Index]