Next: , Previous: Margins, Up: User definitions


4.16 Multiple columns

Eplain provides for double, triple, and quadruple column output: say \doublecolumns, \triplecolumns, or \quadcolumns, and from that point on, the manuscript will be set in columns. To go back to one column, say \singlecolumn. You may need to invoke \singlecolumn to balance the columns on the last page of output.

To do a “column eject”, i.e., move to the top of the next column, do \columnfill. This does not actually force an eject, however: it merely inserts a kern of size \@normalvsize minus \pagetotal (\@normalvsize being the usual height of the page; to implement multicolumns, Eplain multiplies \vsize itself by the number of columns). In most circumstances, a column break will be forced after this kern (during the column splitting operation when the whole page is output), as desired.

The columns are separated by the value of the dimen parameter \gutter. Default value is two picas. If you want to add vertical material between the columns, use \gutterbox. For example, to put a vertical line between columns, define \gutterbox as

     \def\gutterbox{\vbox to \dimen0{\vfil\hbox{\vrule height\dimen0}\vfil}}%

The dimension counter \dimen0 contains the height of the column.

All the \...columns macros insert the value of the glue parameter \abovecolumnskip before the multicolumn text, and the value of the glue parameter \belowcolumnskip after it. The default value for both of these parameters is \bigskipamount, i.e., one linespace in plain TeX.

The macros take into account only the insertion classes defined by plain TeX; namely, footnotes and \topinserts. If you have additional insertion classes, you will need to change the implementation.

Also, Eplain makes insertions the full page width. There is no provision for column-width insertions.