Page 161 Table of Contents Index Page 163
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E



CHAPTER 17. TABLE FORMATTING

stream is an output recording stream to which output will be done. The stream argument is
not evaluated, and must be a symbol that is bound to a stream. If stream is t (the default),
*standard-output* is used. body may have zero or more declarations as its first forms.

Once a table has had a column added to it via formatting-column, no rows may be added to
it.

record-type specifies the class of output record to create. The default is standard-column-
output-record
. This argument should only be supplied by a programmer if there is a new class
of output record that supports the column formatting protocol.

=> formatting-cell (&optional stream &key (align-x ':left) (align-y ':baseline) min-width
min-height record-type)
&body body [Macro]
Controls the output of a single cell inside a table row or column, or of a single item inside
formatting-item-list. All of the output performed by body becomes the contents of the cell.

stream is an output recording stream to which output will be done. The stream argument is
not evaluated, and must be a symbol that is bound to a stream. If stream is t (the default),
*standard-output* is used. body may have zero or more declarations as its first forms.

align-x specifies how the output in a cell will be aligned relative to other cells in the same table
column. The default, :left, causes the cells to be flush-left in the column. The other possible
values are :right (meaning flush-right in the column) and :center (meaning centered in the
column). Each cell within a column may have a different alignment; thus it is possible, for
example, to have centered legends over flush-right numeric data.

align-y specifies how the output in a cell will be aligned vertically. The default, :baseline,
causes textual cells to be aligned along their baselines and graphical cells to be aligned at the
bottom. The other possible values are :bottom (align at the bottom of the output), :top (align
at the top of the output), and :center (center the output in the cell).

min-width and min-height are used to specify minimum width or height of the cell. The default,
nil, causes the cell to be only as wide or high as is necessary to contain the cell's contents.
Otherwise, min-width and min-height are specified in the same way as the :x-spacing and :y-
spacing
arguments to formatting-table.

record-type specifies the class of output record to create. The default is standard-cell-output-
record
. This argument should only be supplied by a programmer if there is a new class of output
record that supports the cell formatting protocol.

=> formatting-item-list (&optional stream &key x-spacing y-spacing n-columns n-rows stream-
width stream-height max-width max-height initial-spacing (move-cursor
t) record-type) &body
body [Macro]
Binds the local environment in such a way that the output of body will be done in an item
list (that is, menu) format. This must be used in conjunction with formatting-cell, which
delimits each item. The item list is placed so that its upper left corner is at the current text
cursor position of stream. If the boolean move-cursor is true (the default), then the text cursor
will be moved so that it immediately follows the last cell of the item list.


Page 161 Table of Contents Index Page 163
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E