summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/otherformats/texsis/base/TXSruled.doc
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/otherformats/texsis/base/TXSruled.doc')
-rw-r--r--Master/texmf-dist/doc/otherformats/texsis/base/TXSruled.doc604
1 files changed, 604 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/otherformats/texsis/base/TXSruled.doc b/Master/texmf-dist/doc/otherformats/texsis/base/TXSruled.doc
new file mode 100644
index 00000000000..826d042c07c
--- /dev/null
+++ b/Master/texmf-dist/doc/otherformats/texsis/base/TXSruled.doc
@@ -0,0 +1,604 @@
+%% file: TXSruled.doc - Ruled Tables - TeXsis version 2.18
+%% @(#) $Id: TXSruled.doc,v 18.2 2000/05/17 00:19:46 myers Exp $
+%======================================================================*
+% (C) copyright 1994, 1999 by Eric Myers and Frank E. Paige.
+% This file is a part of TeXsis. Distribution and/or modifications
+% are allowed under the terms of the LaTeX Project Public License (LPPL).
+% See the file COPYING or ftp://ftp.texsis.org/texsis/LPPL
+%======================================================================*
+\ifx\undefined\bs \texsis\input TXSdocM.doc\draft\fi
+
+\noindent
+While \cs{halign} in Plain \TeX\ is convenient for making simple
+tables, it is still difficult to make tables with horizontal and
+vertical rules. Indeed, typesetting ruled tables in \TeX\ has often
+been likened to programming a computer in assembler language. Even
+\TeXbook\ acknowledges that ``people who know how to make ruled tables
+are generally known as \TeX\ Masters.''\reference{Masters}\relax
+D.E.~Knuth, {\sl The \TeX book} (Addison Wesley, 1986), page 245
+\endreference
+The macros described below take a great deal of the difficulty out of
+making ruled tables, so that anybody can become a
+\TeX\ Master, or at least a master of ruled tables.
+\index{ruled tables}\index{tables!ruled|see{ruled tables}}
+
+\def\VT{\char'174} % the vertical var character ``|'' is needed below
+
+ The basic idea behind making a ruled table is similar to
+\cs{halign}, and the syntax is the same as the Princeton table macros
+known as |TABLES.TEX| by Ray Cowan\reference{Cowan} Ray F.~Cowan, {\sl
+Making Tables with Macros} (unpublished)
+\endreference\index{Cowan, Ray F.}
+(although the \TeXsis\ macros are quite different internally and run
+about 5 times faster). You begin the table material with \cs{ruledtable}
+and end it with \cs{endruledtable}. The table material is a list of items
+to appear in the rows and columns of the tables. Just as with \cs{halign},
+you can separate items in different columns with |&|\index{&@{\tt \&}}
+and end a row with
+\cs{cr}. The |&| \idx{alignment character}\index{&@{\tt \&}}
+separates columns without putting a
+vertical rule between the columns, while \cs{cr} ends a line and puts a
+thin horizontal rule under it. To get a vertical rule between columns
+replace the |&|\index{&@{\tt \&}}
+ with a `{\tt\VT}' (the vertical line), and to end a line
+without a horizontal rule under it replace the \cs{cr} with \cs{crnorule}.
+One important thing to remember is to end the last line in the table
+with \cs{endruledtable} instead of \cs{cr}.
+
+\bigskip
+\pagecheck{2cm}
+
+ As a first example, here is a simple ruled table,
+{\singlespaced
+\bigskip\tenpoint
+\ruledtable
+Year | World Population \cr
+8000 B.C. | ~~~5000000 \crnorule
+~~50 B.C. | ~200000000 \crnorule
+1650 A.D. | ~500000000 \crnorule
+1850 A.D. | 1000000000 \crnorule
+1945 A.D. | 2300000000 \crnorule
+1980 A.D. | 4400000000
+\endruledtable
+\smallskip}
+\pagecheck{2cm}\noindent
+and here are the instructions that created it,
+\TeXexample
+|smalltt\ruledtable
+Year |VT World Population \cr
+8000 B.C. |VT ~~~5000000 \crnorule
+~~50 B.C. |VT ~200000000 \crnorule
+1650 A.D. |VT ~500000000 \crnorule
+1850 A.D. |VT 1000000000 \crnorule
+1945 A.D. |VT 2300000000 \crnorule
+1980 A.D. |VT 4400000000
+\endruledtable
+|endTeXexample
+This example also appears in \TeXbook, on page~246, where it is typeset using
+|\halign|. Compare how the two are constructed
+and see which way you think is easier.
+
+ By default each item in the table is centered in its column. Inside
+a table the tie character ``|~|''\index{~@{\tt\char'176}} takes up the space
+of exactly one digit (it is the same as saying
+|\phantom{0}|),\index{phantom@{\tt\bs phantom\lb 0\rb}} and this has been
+used to line up the digits of the entries in both columns. It is also
+possible to change the definition of the \cs{TableItem} macro so that each
+entry in each column is left or right justified. This is described a
+little bit later.
+
+ Something to note about this example table is that the outer
+rules are thicker than the others. You can also get a thick
+vertical rule between columns by using ``{\tt\bs\VT}'' in place of
+``{\tt\VT}'', and you can get a thick horizontal rule below a row by
+replacing the \cs{cr} with \cs{crthick}. The widths of thick and
+thin rules are controlled by the dimensions \cs{thicksize} and
+\cs{thinsize}. If you don't want thick rules at all simply say
+|\thicksize=\thinsize|, which makes the thick rules as thin
+as the thin rules.
+
+ Some synonyms: \cs{CR} is the same as \cs{crthick}, \cs{nr} is the
+same as \cs{crnorule}, and \cs{crrule} is the same as \cs{cr} (actually
+it's the other way around). \cs{tab} is the same as |&|\index{&@{\tt \&}}
+--- it separates columns without a vertical rule. \cs{vb} is the same as
+{\tt\VT}, it separates columns with a thin vertical bar, while
+\cs{Vb} is the same as {\tt\bs\VT} and separates the columns with a
+thick vertical bar. You can also use \cs{dbl} to separate columns
+with a double vertical rule.
+
+ As in Plain \TeX\ you can use \cs{span} in place of
+|&|\index{&@{\tt \&}} (or the other column separators) to join two
+columns together into one, and you can use \cs{omit} as the very first
+token in a column to tell it to omit the fancy column layout (the
+centering or other spacing).
+You can also use \cs{multispan} to \cs{span} and \cs{omit} several
+columns, just as in an \cs{halign}.
+The only difference is that the number of columns you tell it to
+\cs{multispan} is the number of columns of the table it spans --- in a
+ruled table constructed with \cs{halign} you would count the columns
+{\sl and} any vertical rules (because the rules are also columns of
+the \cs{halign}).
+
+
+
+\table{example-II}
+\caption{Another example of a ruled table.}
+\intablelist{Example of a ruled table --- AT\&T Common Stock.}
+\singlespaced
+\tenpoint
+\ruledtable
+\multispan3\hfil AT\&T Common Stock \hfil\CR
+ Year \dbl Price | Dividend \cr
+ 1971 \dbl 41-54 | \$2.60 \cr
+ ~~~2 \dbl 41-54 | \$2.70 \cr
+ ~~~3 \dbl 46-55 | \$2.87 \cr
+ ~~~4 \dbl 40-53 | \$3.24 \cr
+ ~~~5 \dbl 45-52 | \$3.40 \cr
+ ~~~6 \dbl 51-59 | ~~.95
+\endruledtable
+\endtable
+
+ \Tbl{example-II} is another sample table, again taken
+{from} \TeXbook. Something important to notice is that the last
+ruled table example didn't have a table number or a caption,
+while this one does. That's because the last example was created
+using just \cs{ruledtable}, while this example is inside of
+\cs{table}. The point is that \cs{table} and \cs{ruledtable} do
+separate things and can be used either separately or together;
+\cs{table} creates the space for the table and gives it a caption
+and a number, while \cs{ruledtable} actually constructs the body of
+the ruled table. The instructions that created \Tbl{example-II}
+are:
+\smallskip\goodbreak
+\TeXexample
+|smalltt\table{example-II}
+\caption{Another example of a ruled table.}
+\singlespaced
+\ruledtable
+\multispan3\hfil AT\&T Common Stock \hfil\CR
+Year \dbl Price |VT Dividend \cr
+1971 \dbl 41-54 |VT \$2.60 \cr
+~~~2 \dbl 41-54 |VT \$2.70 \cr
+~~~3 \dbl 46-55 |VT \$2.87 \cr
+~~~4 \dbl 40-53 |VT \$3.24 \cr
+~~~5 \dbl 45-52 |VT \$3.40 \cr
+~~~6 \dbl 51-59 |VT ~~.95
+\endruledtable
+\endtable
+|endTeXexample
+\bigskip\goodbreak
+
+\table{SiHCl}
+\caption{Parameters used in the MS-X$\alpha$ calculations for
+ the chlorosilane molecules, H$_{\rm x}$SiCl$_{\rm 4-x}$;
+ x=0--4.}
+\intablelist{Example of a ruled table --- Parameters used in the
+ MS-X$\alpha$ calculations for the chlorosilane molecules,
+ H$_{\rm x}$SiCl$_{\rm 4-x}$; x=0--4.}
+\singlespaced
+\tenpoint
+\ruledtable
+\vctr{Molecule} | \vctr{Region} | Radius |
+ \vctr{$\alpha _{\rm HF}$}|\multispan{2} $l_{\rm max}$ \crnorule
+\cskip | \cskip | \cskip |\cskip| \crule | \crule \crpart
+ | | (au) | | initial state | final state \CR
+
+SiCl$_4$ | outersphere | 6.21 | 0.7238 | 4 | 7\crnorule
+ | Si | 2.20 | 0.7275 | 2 | 3\crnorule
+ | Cl | 2.40 | 0.7233 | 2 | 3\cr
+
+SiHCl$_3$ | outersphere | 6.21 | 0.7260 | 4 | 7\crnorule
+ | Si | 2.16 | 0.7275 | 2 | 3\crnorule
+ | Cl | 2.40 | 0.7233 | 2 | 3\crnorule
+ | H | 1.20 | 0.7772 | 1 | 2\cr
+
+SiH$_2$Cl$_2$ | outersphere | 6.25 | 0.7295 | 4 | 7\crnorule
+ | Si | 2.20 | 0.7275 | 2 | 3\crnorule
+ | Cl | 2.40 | 0.7233 | 2 | 3\crnorule
+ | H | 1.20 | 0.7772 | 1 | 2\cr
+
+SiH$_3$Cl | outersphere | 6.30 | 0.7360 | 4 | 7\crnorule
+ | Si | 2.20 | 0.7275 | 2 | 3\crnorule
+ | Cl | 2.40 | 0.7233 | 2 | 3\cr
+
+SiH$_4$ | outersphere | 4.10 | 0.7524 | 4 | 7 \crnorule
+ | Si | 2.04 | 0.7275 | 2 | 3 \crnorule
+ | H | 1.20 | 0.7772 | 1 | 2
+\endruledtable
+\bigskip\bigskip
+\endtable
+
+Sometimes it is desirable to have rules across only some of the columns
+of a table. In this case put \cs{crule} in the columns that are to have
+rules, \cs{cskip} in the columns where no rules are desired, and
+end the line with \cs{crpart}, which signals that the line contains a
+partial rule. The column headings in \Tbl{SiHCl} are an example of
+partial rules in a table.
+That table was created with the commands,\reference{Bozek, 1991}
+J.D.~Bozek, Ph.D. thesis (unpublished), Department of Chemistry,
+University of Western Ontario, London, Ontario CANADA
+\endreference\relax
+\TeXexample
+|smalltt\table{SiHCl}
+\caption{...}
+\singlespaced\tenpoint
+\ruledtable
+\vctr{Molecule} |VT \vctr{Region} |VT Radius |VT
+ \vctr{$\alpha _{\rm HF}$}|VT\multispan{2} $l_{\rm max}$
+\crnorule
+\cskip |VT \cskip |VT \cskip |VT\cskip|VT \crule |VT \crule \crpart
+ |VT |VT (au) |VT |VT initial state |VT final state \CR
+SiCl$_4$ |VT outersphere |VT 6.21 |VT 0.7238 |VT 4 |VT 7 \crnorule
+ |VT Si |VT 2.20 |VT 0.7275 |VT 2 |VT 3 \crnorule
+ |VT Cl |VT 2.40 |VT 0.7233 |VT 2 |VT 3 ...
+...
+\endruledtable
+\endtable
+|endTeXexample
+\bigskip\goodbreak
+
+
+ Ruled tables are normally centered on the page, but you can turn
+off the centering with \cs{noncenteredtables}.
+Then the table becomes just another piece to add to a horizontal list.
+One thing this lets you do is have two tables side by side on the
+page, like so:
+\nobreak
+\noncenteredtables\index{ruled tables!centered}
+\bigskip
+\line{\tenpoint\ruledtable
+Item ABC | Item DEF \cr
+Item GHI | Item JKL \endruledtable
+\hfil
+\ruledtable
+Data 111 | Data 222 \cr
+Data 333 | Data 444 \cr
+Data 555 | Data 666 \endruledtable}
+\bigskip
+\pagecheck{5\baselineskip}
+\noindent
+This pair of tables was produced by saying:
+\TeXexample
+|smalltt\noncenteredtables
+\medskip
+\line{\ruledtable
+Item ABC |VT Item DEF \cr
+Item GHI |VT Item JKL \endruledtable
+\hfil
+\ruledtable
+Data 111 |VT Data 222 \cr
+Data 333 |VT Data 444 \cr
+Data 555 |VT Data 666 \endruledtable}
+\smallskip
+|endTeXexample
+\noindent Saying \cs{centeredtables} turns table centering back on.
+Tables are then centered across the page, and a table is then
+added to a {\sl vertical\/} list.
+\bigskip\goodbreak
+
+ Usually \cs{ruledtable} makes tables as wide as their natural
+width, but it is possible to make them wider by setting the dimension
+\cs{tablewidth} to the width desired before saying \cs{ruledtable}. We can
+make the same table in \Tbl{example-II} but with the width set to
+10cm: \index{ruled tables!size}
+\bigskip
+\noncenteredtables
+\tablewidth=10cm
+\line{\tenpoint\hfil\vbox{\singlespaced
+ \ruledtable
+ \multispan3\hfill AT\&T Common Stock \hfill\CR
+ Year \dbl Price | Dividend \cr
+ 1971 \dbl 41-54 | \$2.60 \cr
+ ~~~2 \dbl 41-54 | \$2.70 \cr
+ ~~~3 \dbl 46-55 | \$2.87 \cr
+ ~~~4 \dbl 40-53 | \$3.24 \cr
+ ~~~5 \dbl 45-52 | \$3.40 \cr
+ ~~~6 \dbl 51-59 | ~~.95\rlap*
+ \endruledtable
+ \hbox{* (first quarter only)}
+\vss}\hfil}
+\smallskip
+\noindent
+The careful reader will notice that the version of
+\Tbl{example-II} in \TeXbook\ had a footnote to the last entry,
+and we have added that here. To do so we had to put the footnote in an
+\cs{hbox} and stack it under the table, so we had to turn off table
+centering. The table is therefore a bit more complicated to make, but
+not much: \index{ruled tables!footnotes}
+\TeXexample
+|smalltt\noncenteredtables
+\tablewidth=10cm
+\line{\tenpoint\hfil\vbox{\singlespaced
+ \ruledtable
+ \multispan3\hfill AT\&T Common Stock \hfill\CR
+ Year \dbl Price |VT Dividend \cr
+ 1971 \dbl 41-54 |VT \$2.60 \cr
+ ~~~2 \dbl 41-54 |VT \$2.70 \cr
+ ~~~3 \dbl 46-55 |VT \$2.87 \cr
+ ~~~4 \dbl 40-53 |VT \$3.24 \cr
+ ~~~5 \dbl 45-52 |VT \$3.40 \cr
+ ~~~6 \dbl 51-59 |VT ~~.95\rlap*
+ \endruledtable
+ \hbox{* (first quarter only)}
+\vss}\hfil}
+|endTeXexample
+\centeredtables % turn back on!
+\noindent
+If we had not wanted to add the footnote, then the table would have
+been typed the same way as \Tbl{example-II} except for setting
+the \cs{tablewidth}.
+
+ Important note: \cs{tablewidth} is turned ``off'' after the
+table is made, so the next table will have its natural width unless
+you explicitly set \cs{tablewidth} again! \index{ruled tables!size}
+\bigskip\goodbreak
+
+ \cs{ruledtable} normally inserts a \cs{quad} of space around each
+item. If you have a very wide table, especially one with many columns,
+you may wish to reduce this. \cs{TightTables} make this spacing a single
+space, the minimum acceptable. \cs{LooseTables} restores the default
+spacing. You can define this space to be something else by
+re-defining \cs{tablespace}, for example as \index{ruled tables!spacing}
+\TeXexample
+\def\tablespace{\ \ }
+|endTeXexample
+\noindent
+If the table is still too wide with \cs{TightTables}, you will probably
+have to reformat it or print it in landscape mode (tilted 90\degrees on
+the page).
+\bigskip\goodbreak
+
+
+ The careful reader may also have noticed that in the
+examples in \Tbl{example-II} and \Tbl{SiHCl} we said
+\cs{singlespaced}. That's
+because the spacing of the rows of a table can be controlled just like
+the spacing of the text with \cs{singlespaced}, \cs{doublespaced},
+etc. \index{ruled tables!spacing}
+The space between the rows of a table is set by a strut called
+\cs{tstrut}, which holds the rows apart. Its default definition is
+\TeXexample
+\def\tstrut{\vrule height 3.1ex depth 1.2ex width 0pt}
+|endTeXexample
+\noindent
+You can change the spacing between rows by changing the definition of
+this strut. One of the things \cs{singlespaced} does is define the
+\cs{tstrut} to be 0.5ex higher and deeper than a parenthesis.
+\cs{doublespaced}, \cs{triplespaced}, and \cs{widenspacing} all increase the
+height and depth of the strut in proportion to the increase in the
+baseline spacing.
+
+ If you put something in a table which is larger than the strut,
+then it will touch the rules above or below. You can fix this by
+inserting your own strut into that row. More simply, you can say
+\cs{bigitem}\arg{stuff}, and the ``stuff'' will be positioned correctly
+with a nice amount of space above and below. \index{ruled tables!spacing}
+\medskip
+
+ You can also decide whether or not you want diagnostic messages
+printed when a table is created. Saying \cs{tableinfotrue} causes a
+message to be printed on your terminal every time a ruled table is
+created. The message tells you how many rows and columns were in the
+table. This is useful information, because it can tell you immediately
+if you made a mistake in the table or left out a row or column.
+\cs{tableinfotrue} is the default, but you can turn off these messages
+by saying
+\cs{tableinfofalse}. In any case, you will be warned if a row has a
+different number of columns from the previous one.
+\medskip
+
+ The tables we have demonstrated so far all contain numbers, but
+sometimes it is desirable to have an entry in a table which is a
+paragraph of text. \index{ruled tables!text} For that purpose, you can
+use \cs{para}\arg{text}. The width of the paragraph is determined by
+the dimension \cs{parasize}, which defaults to 4 inches.
+\medskip
+
+Tables \use{Tb.tablemac;a} and \use{Tb.tablemac;b} summarize the most
+important commands for making ruled tables.
+
+ Finally, we can discuss how you can change how each column of
+a table is constructed. The macros which build the table take
+each entry and pass it to a macro called \cs{TableItem}. The
+default definition of \cs{TableItem} is:
+\vskip 0pt\goodbreak
+\TeXexample
+|smalltt\def\TableItem#1{% % centers item in ruled table
+ \hfil\tablespace % left glue
+ #1\killspace % item, no space after
+ \tablespace\hfil % right glue
+ }%
+|endTeXexample
+
+
+%% TABLE A
+
+\bottomtable{tablemac;a}
+\caption{Basic table macros for use with {\tt\bs ruledtable}.}%
+\intablelist{Basic macros for {\tt\bs ruledtable}}%
+\tablewidth=\hsize
+\LeftJustifyTables
+\ruledtable
+\sl Macro name\relax
+ | \sl Description \relax \crthick
+\tt\bs ruledtable\relax
+ | \para{Starts a ruled table.}\cr
+\vtop{\noindent\hsize=1.6in\normalbaselines
+ \tt\char124\quad \rm (vertical bar)\hfil\break
+ or \tt\bs vb\hfil}\relax
+ | \para{Separates one column from the next, with a
+ a thin vertical rule between them.}\cr
+\tt\&\ \rm or\tt\ \bs tab \relax
+ | \para{Separates one column from the next, but with
+ no rule between them.}\cr
+\tt\bs cr\relax
+ | \para{Ends the current row, and starts the next
+ one. The completed row will be separated from
+ the next with a thin horizontal rule.}\cr
+\vtop{\noindent\hsize=1.6in\normalbaselines
+\tt\bs crthick \hfil\break \rm or \tt\bs CR\hfil }\relax
+ | \para{Similar to {\tt\bs cr}, but the rows will
+ be separated with a thick horizontal rule.}\cr
+\vtop{\noindent\hsize=1.6in\normalbaselines
+\tt\bs crnorule \hfil\break \rm or \tt\bs nr\hfil }\relax
+ | \para{Similar to {\tt\bs cr}, but the rows will
+ not be separated by a rule.}\cr
+\tt\bs\char124 \relax
+ | \para{Same as {\tt\char124}, but with a thick vertical rule.}\cr
+\tt\bs dbl
+ | \para{Same as {\tt\char124}, but with two thin vertical rules.}\cr
+\tt\bs endruledtable\relax
+ | \para{Ends the ruled table.}%
+\endruledtable
+\line{\hfil {\sl Continued...}}%
+\endtable
+
+%% TABLE B (FULL PAGE)
+
+\fulltable{tablemac;b}
+\caption{Additional macros for use with {\tt\bs ruledtable}.}
+\intablelist{Additional macros for {\tt\bs ruledtable}}
+\tablewidth=\hsize
+\LeftJustifyTables
+\line{{\sl Continued...}\hfil}
+\smallskip
+\ruledtable
+\sl Macro name\relax
+ | \sl Description \relax \crthick
+\tt\bs multispan\lb{\it n}\rb\relax
+ | \para{Makes the next entry span the next $n$
+ columns, where $n$ is an integer, $n>0$.
+ See {\tt\bs omit} below.} \cr
+\tt\bs omit \relax
+ | \para{This \TeX\ primitive causes the normal
+ template for its entry to be omitted, allowing
+ the user to do something else with this entry.} \cr
+\tt\bs para\arg{text}\relax
+ | \para{Formats {\sl text\/} into a neat little
+ paragraph like this one. The width of the
+ paragraph produced is determined by the dimension
+ {\tt\bs parasize}. The default is 4 inches. } \cr
+\tt\bs parasize=\meta{dimen} \relax
+ | \para{Sets the width of paragraphs for the {\tt\bs para}
+ macro.} \cr
+\tt\bs TableItem\arg{stuff}\relax
+ | \para{Used in the standard template, this
+ macro centers its argument in the column. The
+ user can redefine it for special effects.} \cr
+\tt\bs tablespace
+ | \para{The spacing around each item for {\tt\bs TableItem}.}\cr
+\vtop{\noindent\hsize=1.4in\normalbaselines
+\tt\bs LooseTables \hfil\break
+\tt\bs TightTables\hfil}\relax
+ | \para{Set {\tt\bs tablespace} to {\tt\bs quad} and {\tt\bs\ }
+ respectively.\hfill\break\ }\cr
+\vtop{\noindent\hsize=1.6in\normalbaselines
+\tt\bs TrailingSpaces \hfil\break
+\tt\bs NoTrailingSpaces \hfil}\relax
+ | \para{Use trailing spaces and glue items in table entries
+ (default) or ignore them. See text.}\cr
+\tt\bs bigitem\arg{stuff}\relax
+ | \para{Use this for something that would normally
+ not fit in one line of a table to make the spacing
+ between rows large enough for this item.} \cr
+\tt\bs vctr\arg{stuff}\relax
+ | \para{Centers the item {\sl vertically\/} so that
+ it can appear between two rows.}\cr
+\tt\bs centeredtables\relax
+ | \para{Turns table centering on. Each table
+ will be centered left-to-right on the page.
+ This is the default.} \cr
+\tt\bs noncenteredtables\relax
+ | \para{Turns table centering off. Each table
+ is returned as an {\tt\bs hbox}, and it is up
+ to the user to place it as desired.} \cr
+\vtop{\noindent\hsize=1.6in\normalbaselines
+\tt\bs tableinfotrue \hfil\break
+\tt\bs tableinfofalse\hfil}\relax
+ | \para{Turns on or off the diagnostic message telling
+ you how many rows and columns were found in the
+ table. }\cr
+\tt\bs thicksize=\meta{dimen} \relax
+ | \para{This dimension specifies the thickness
+ of the thick rules in the table. The default
+ size is 1.5 points.} \cr
+\tt\bs thinsize=\meta{dimen} \relax
+ | \para{This dimension specifies the thickness
+ of thin rules in the table. The default
+ size is 0.8 points.} \cr
+\tt\bs tablewidth=\meta{dimen} \relax
+ | \para{Specifies how wide to make the next
+ table. If not specified, the table is made to
+ its natural width. This value is reset
+ following the construction of each table.}
+\endruledtable
+\vfill
+\endtable
+
+
+The \cs{hfil} glue on both sides of the argument causes the item to be
+centered in the column, while \cs{tablespace} (which defaults to \cs{quad})
+insures that there will be at least some amount of space between the
+item and the vertical rules on each side. Because of the way that
+\TeX\ handles macro arguments, if you type a table with spaces between
+the text and the next column separator, an extra \cs{space} will be
+inserted into the table. If you first say \cs{NoTrailingSpaces}, then
+\cs{killspace} in the above macro is defined to remove any trailing glue
+items. \cs{hfill} is redefined by the table macros so that if it is the
+last token in an entry, then that entry is properly left justified,
+but to insert any other trailing glue, you must say
+\example
+\meta{text}\meta{glue}|\null|
+\endexample
+\noindent
+The default is \cs{TrailingSpaces}, which does incorporate any trailing
+spaces into the table but which also treats any trailing glue items
+normally.
+
+
+ You can change the definition of \cs{TableItem} to suit your own
+purpose. The simplest modification is to omit the \cs{hfil} on the left
+or right so that each entry is right or left justified. This is so
+commonly used that saying \cs{RightJustifyTables} or
+\cs{LeftJustifyTables} makes the appropriate change for you. Saying
+\cs{NoJustifyTables} restores \cs{TableItem} to its original centering
+function. \index{ruled tables!customization}
+
+ Since \cs{TableItem} is used to create every column of the table, you
+cannot use it to modify a single column. To justify just one column
+you can simply put \cs{hfill} to the left or right of each item in the
+column, since \cs{hfill} is infinitely more stretchy than \cs{hfil}. (The
+behavior of glue items other than \cs{hfill} depends on whether
+\cs{NoTrailingSpaces} has been set.) With a little more work it is
+possible to design special or unusual tables by redefining the
+``preamble'' of the table. This is possible because \cs{ruledtable}
+uses \cs{halign} with a preamble called \cs{TablePreamble}. The default
+definition of \cs{TablePreamble} is:
+\TeXexample
+\def\TablePreamble{% % \ruledtable preamble
+ \TableItem{####}% % the first item
+ \plaintab\plaintab % && means repeat this
+ \TableItem{####}% % the subsequent items
+ \plaincr}% % end of preamble
+|endTeXexample
+\noindent
+The syntax for \cs{TablePreamble} is like an \cs{halign} preamble in Plain
+\TeX\, but with |&| replaced by \cs{plaintab}, \cs{cr} replaced by
+\cs{plaincr}, and |#| replaced by |####|. If you have read this far and
+want to try changing \cs{TablePreable} then you should read the source
+code and the comments that go with it in the file |TXSruled.tex.|
+
+As a final note we point out that it is also possible for you to create
+your own column separators with the macro \cs{nextcolumn}. This macro
+takes a single argument which is used to separate one column of the
+table from another. Thus for example, the \cs{dbl} macro for creating a
+double vertical rule between columns is defined as:
+\TeXexample
+\def\dbl{%
+ \nextcolumn{\vrule width\thinsize
+ \hskip\thinsize\vrule width\thinsize}}
+|endTeXexample
+\relax
+\index{ruled tables!customization}
+
+%>>> EOF TXSruled.doc <<<