csup function builds a superscripted expression. For
example, ‘csup(a, b)’ looks the same as ‘a^b’ does in Big
language mode. This is essentially a horizontal composition of
‘a’ and ‘b’, where ‘b’ is shifted up so that its
bottom line is one above the baseline.
csub function builds a subscripted expression.
This shifts ‘b’ down so that its top line is one below the
bottom line of ‘a’ (note that this is not quite analogous to
csup). Other arrangements can be obtained by using
cflat function formats its argument in “flat” mode,
as obtained by ‘d O’, if the current language mode is normal
or Big. It has no effect in other language modes. For example,
‘a^(b/c)’ is formatted by Big mode like ‘csup(a, cflat(b/c))’
to improve its readability.
cspace function creates horizontal space. For example,
‘cspace(4)’ is effectively the same as ‘string(" ")’.
A second string (i.e., vector of characters) argument is repeated
instead of the space character. For example, ‘cspace(4, "ab")’
looks like ‘abababab’. If the second argument is not a string,
it is formatted in the normal way and then several copies of that
are composed together: ‘cspace(4, a^2)’ yields
2 2 2 2 a a a a
If the number argument is zero, this is a zero-width object.
cvspace function creates vertical space, or a vertical
stack of copies of a certain string or formatted object. The
baseline is the center line of the resulting stack. A numerical
argument of zero will produce an object which contributes zero
height if used in a vertical composition.
There are also
cbspace functions which
create vertical space with the baseline the same as the baseline
of the top or bottom copy, respectively, of the second argument.
Thus ‘cvspace(2, a/b) + ctspace(2, a/b) + cbspace(2, a/b)’
a - a b - a a b + - + - a b b - a b - b