Eplain provides a single command, \makecolumns
,
to make generating one particular kind of table easier. More ambitious
macro packages might be helpful to you for more difficult applications.
The files `ruled.tex' and `TXSruled.tex', available from
`lifshitz.ph.utexas.edu' in `texis/tables', is the only one I
know of.
Many tables are homogenous, i.e., all the entries are semantically the same. The arrangement into columns is to save space on the page, not to encode different meanings. In this kind of the table, it is useful to have the column breaks chosen automatically, so that you can add or delete entries without worrying about the column breaks.
\makecolumns
takes two arguments: the number of entries in the
table, and the number of columns to break them into. As you can see
from the example below, the first argument is delimited by a slash, and
the second by a colon and a space (or end-of-line). The entries for the
table then follow, one per line (not including the line with the
\makecolumns
command itself).
\parindent
defines the space to the left of the
table. \hsize
defines the width of the table.
So you can adjust the position of the table on the page by assignments
to these parameters, probably inside a group.
You can also control the penalty at a page break before the
\makecolumns
by setting the parameter
\abovecolumnspenalty
.
Usually, the table is preceded by some explanatory text. You wouldn't
want a page break to occur after the text and before the table, so
Eplain sets it to 10000
. But if the table produced by
\makecolumns
is standing on its own, \abovecolumnspenalty
should be decreased.
If you happen to give \makecolumns
a smaller number of entries
than you really have, some text beyond the (intended) end of the table
will be incorporated into the table, probably producing an error
message, or at least some strange looking entries. And if you give
\makecolumns
a larger number of entries than you really have,
some of the entries will be typeset as straight text, probably also
looking somewhat out of place.
Here is an example:
% Arrange 6 entries into 2 columns: \makecolumns 6/2: % This line doesn't have an entry. one two three four five six Text after the table.
This produces `one', `two', and `three' in the first column, and `four', `five', and `six' in the second.