Page 159 Table of Contents Index Page 161
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
Some tables are "multiple column" tables, in which two or more rows of the table are placed side
by side (usually with intervening spacing) rather than all rows being aligned vertically. Multiple
column tables are generally used to produce a table that is more esthetically pleasing, or to make
more efficient use of space on the output device. When a table is a multiple column table, one
additional step takes place in the formatting of the table: the rows of the table are rearranged
into multiple columns in which some rows are placed side by side.
The advice that the programmer gives to CLIM on how to assemble the table consists of the
following:


17.2 Table Formatting Functions

=> formatting-table (&optional stream &key x-spacing y-spacing multiple-columns multiple-columns-
x-spacing equalize-column-widths (move-cursor
t) record-type) &body body [Macro]
Binds the local environment in such a way the output of body will be done in a tabular for-
mat. This must be used in conjunction with formatting-row or formatting-column, and
formatting-cell. The table 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 table.

The returned value is the output record corresponding to the table.

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.


Page 159 Table of Contents Index Page 161
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