The cvert
function makes a vertical composition. Each
component of the vector is centered in a column. The baseline of
the result is by default the top line of the resulting composition.
For example, `f(cvert([a, bb, ccc]), cvert([a^2 + 1, b^2]))'
formats in Big mode as
f( a , 2 ) bb a + 1 ccc 2 b
There are several special composition functions that work only as
components of a vertical composition. The cbase
function
controls the baseline of the vertical composition; the baseline
will be the same as the baseline of whatever component is enclosed
in cbase
. Thus `f(cvert([a, cbase(bb), ccc]),
cvert([a^2 + 1, cbase(b^2)]))' displays as
2 a + 1 a 2 f(bb , b ) ccc
There are also ctbase
and cbbase
functions which
make the baseline of the vertical composition equal to the top
or bottom line (rather than the baseline) of that component.
Thus `cvert([cbase(a / b)]) + cvert([ctbase(a / b)]) +
cvert([cbbase(a / b)])' gives
a a - - + a + b b - b
There should be only one cbase
, ctbase
, or cbbase
function in a given vertical composition. These functions can also
be written with no arguments: `ctbase()' is a zero-height object
which means the baseline is the top line of the following item, and
`cbbase()' means the baseline is the bottom line of the preceding
item.
The crule
function builds a "rule," or horizontal line,
across a vertical composition. By itself `crule()' uses `-'
characters to build the rule. You can specify any other character,
e.g., `crule("=")'. The argument must be a character code or
vector of exactly one character code. It is repeated to match the
width of the widest item in the stack. For example, a quotient
with a thick line is `cvert([a + 1, cbase(crule("=")), b^2])':
a + 1 ===== 2 b
Finally, the functions clvert
and crvert
act exactly
like cvert
except that the items are left- or right-justified
in the stack. Thus `clvert([a, bb, ccc]) + crvert([a, bb, ccc])'
gives:
a + a bb bb ccc ccc
Like choriz
, the vertical compositions accept a second argument
which gives the precedence to use when formatting the components.
Vertical compositions do not support separator strings.