summaryrefslogtreecommitdiff
path: root/macros/plain/contrib/cellular/cellular.doc
blob: 0a46d6043811dbd43ab769066c19d53afac71fa1 (plain)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
% File:       TeX Inputs cellular.doc
% Author:     J E Pittman
% Bitnet:     JEPTeX@TAMVenus
% Internet:   JEPTeX@Venus.TAMU.EDU
% Date:       November 8, 1988

A cellular table is specified by:

   \begincellular{specifications that change defaults}
      appropriate macro definitions
      column header specifications
      row specifications (header and data)
      \endcellular

The following are examples of specifications that change defaults:

   \pixelwidth=1in
   \divide\pixelwidth by 300

   The pixel width dimension register should be set to the resolution 
   of the device used.  The default is 1/300th of an inch.

   \setverticaladjustment -or- \sethorizontaladjustment

   Some printers (such as the Xerox 9700s and 4050s) produce vertical 
   and horizontal rules that have a different visual thickness for the 
   same specified thickness.  The macros set vertical and set 
   horizontal adjustment specified that vertical or horizontal rules 
   are to be thickened by pixel width, which may correct this problem.   

   \edef\everycolumn{\everycolumn
      \leftrulewidth=0.4pt\relax
      \rightrulewidth=\leftrulewidth
      \leftborderskip=6pt plus 1fil\relax
      \rightborderskip=\leftborderskip
      \columnwidth=\zeropt\relax
      \columnwidth=\zeropt\relax
      }%

   An \edef can be used to add material (usually default overrides) to 
   the every column macro.  The information shown above reflect the 
   defaults.  Care must be exercised to avoid introducing spurous 
   spaces, which will be very visible when output.

   \edef\everyrow{\everyrow
      \toprulewidth=0.4pt\relax
      \bottomrulewidth=\toprulewidth
      \topborderskip=3pt plus 1fil\relax
      \bottomborderskip=\topborderskip
      \rowheight=\zeropt\relax
      }%

   Same as every column.

   \tracingexpansions=1

   This specification will request notes on how column and rows are 
   expanded to accommedate spans.

Any sort of macros can be defined within a cellular table.  An obvious 
example is abbrevations for commonly used control sequence names.

A column header is specified as:

   \column{specifications}

   The specifications are the same as for every column.  Note:  There 
   is a considerable amount of processing required for these 
   specifications, wise selection of defaults can decrease execution 
   time significantly.

   Column headers are optional.

Rows are specified as a row header (similiar to a column header) and a 
series of entry specifications.

An entry specification can be any of the following:

   \blank

   A blank entry specification creates a completely blank spot in the 
   table (no rules or text).

   \mergeright
   
   A merge right specification merges the width of the entry into the 
   width of the entry to the right.  It is used to create column 
   spans.

   \mergedown
   
   Similar to merge right.  Note:  The overhead for a merge down 
   specification is considerably higher than a merge right.  
   Therefore, when specifing an entry that spans both rows and 
   columns, merge rights should be used as much as possible.  For 
   example:

                  > > > V                  V V V V
                  > > > V      rather      V V V V
                  > > > V       than       V V V V
                  > > > *                  > > > *

   \entry{horizontal mode material}

   An entry macro takes the specified material and formats it as 
   appropriate.

It is not necessary to complete every row.

Vertical mode material can be added after a row by specifying:

   \noalign{vertical mode material}

at any point in the row.  Multiple no aligns are permitted.