Page 158 Table of Contents Index Page 160
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




Figure 17.1: Example of tabular output.

facilities passes control to CLIM at a higher level. The programmer benefits by being able to
specify the appearance of output in more compact abstract terms, and by not having to write
the code that constrains the output to appear in proper tabular form.

Tabular output consists of a rectangular array of pieces of output corresponding to the bounding
rectangles of the output. Each piece of output forms the contents of a table cell. There is no
restriction on the contents of a table cell; cells may contain text, graphics, even other tables.
For purposes of this discussion, we draw a strong distinction between specifying what goes in a
cell, and specifying how the cells are arranged to form a table.

Specifying the contents of a cell is the responsibility of the programmer. A programmer using
the table formatting facilities can predict the appearance of any individual cell by simply looking
at the code for that cell. A cell's appearance does not depend upon where in the table it lies, for
instance. The only thing about a cell's appearance that cannot be predicted from that cell alone
is the amount of space the table formatting has to introduce in order to perform the desired
alignment.

Specifying the relative arrangements of cells to form a table is the responsibility of CLIM based
on the advice of the programmer. The programmer advises CLIM about extra space to put
between rows or columns, for instance, but does not directly control the absolute positioning of
a cell's contents.

For purposes of understanding table formatting, the following model may be used.


Page 158 Table of Contents Index Page 160
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