File: jadetextables.html

package info (click to toggle)
jadetex 2.2-1
  • links: PTS
  • area: main
  • in suites: slink
  • size: 928 kB
  • ctags: 23
  • sloc: sh: 1,677; makefile: 72
file content (308 lines) | stat: -rw-r--r-- 11,193 bytes parent folder | download | duplicates (2)
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
<!-- X-URL: http://tug.org/applications/jadetex/jadetextables.html -->
<BASE HREF="http://tug.org/applications/jadetex/jadetextables.html">

<HTML>
<HEAD>
<TITLE>Jade TeX backend with table extensions</TITLE>
<STYLE>
    BODY {font: 11pt Arial; color: 114477}
    A:link {font: 10pt Arial;  color: 003366; font-weight:bold}
    A:visited {font: 10pt Arial; color: 0099cc; font-weight:bold}
    H1 {font: 24pt Arial; font-weight: bold; color: 000066}
    H2 {font: 20pt Arial; font-weight: bold; color: 000066}
    H3 {font: 18pt Arial; font-weight: bold; color: 000066}
    H4 {font: 12pt Arial; font-weight: bold; color: 000066}
    H5 {font: 10pt Arial; font-weight: bold; color: 000066}
</STYLE>
</HEAD>

<BODY bgcolor="#ffffff" text="#114477" background="../mif/squar26.jpg">
<DIV ALIGN="center">
<P> 
<H1>Jade TeX Backend</H1>
<H4>with table extensions</H4>
<H2>Current version is 1.0b5<BR>(based on Jade 1.1)</H2>
<H4>Released: June 15th, 1998</H4>
<IMG SRC="../mif/gear_anim.gif">
</P>
</DIV>

<HR>
<P ALIGN="CENTER">
    <A HREF="#recent_changes">Recent Changes</A>
        <IMG SRC="../mif/bullet.gif">
    <A HREF="#source_code">Source Code</A>
        <IMG SRC="../mif/bullet.gif">
    <A HREF="#binaries">Precompiled Binaries</A>
        <IMG SRC="../mif/bullet.gif">
    <A HREF="#compiling">Compiling</A>
        <IMG SRC="../mif/bullet.gif">
    <A HREF="#spec">Table Processing Specification</A>
<HR>


<A NAME="recent_changes"></A>
<H3>Recent Changes</H3>
<P>Multi-column cell processing: added new macro (/multicolumn{}{}{})
and \def\MultiPar{} definition.</P>

<A NAME="source_code"></A>
<H3>Source Code</H3>

<P>Tested with the version 1.1 of <A HREF="http://www.jclark.com/jade/">James Clark's Jade</A>.

<DIV ALIGN="center">
<P><TABLE BORDER CELLPADDING="4" BORDERCOLOR="#99BBBB">
<TR BGCOLOR="#00A5A5"><TH COLSPAN="3">Source Code Changes</TH></TR>
<TR BGCOLOR="#00A5A5"><TH>File</TH><TH>Subdirectory</TH><TH>Status</TH></TR>

<TR BGCOLOR="#00E5E5"><TD>jade.mak</TD><TD>.</TD><TD>changed</TD></TR>
<TR BGCOLOR="#00E5E5"><TD>Makefile.sub</TD><TD>jade</TD><TD>changed</TD></TR>
<TR BGCOLOR="#00E5E5"><TD>TeXFOTBuilder.cxx</TD><TD>jade</TD><TD>changed</TD></TR>
<TR BGCOLOR="#00E5E5"><TD>TeXFOTBuilder_ins.m4</TD><TD>jade</TD><TD>new</TD></TR>
<TR BGCOLOR="#00E5E5"><TD>TeXFOTBuilder_ins.cxx</TD><TD>jade<TD>new (auto)</TD></TR>
<TR BGCOLOR="#00E5E5"><TD>TmpOutputByteStream.h</TD><TD>jade</TD><TD>new</TD></TR>
</TABLE><P>
</DIV>

<P>
<IMG SRC="../mif/arr.gif"> Zipped James Clark's distribution of Jade 1.1: [<A HREF="../mif/jade1_1.zip">download</A> (1077 KB)]
<BR><IMG SRC="../mif/arr.gif"> Zipped source code of new TeX backend
 (contains subdirectories: use pkunzip -d under DOS):
 [<A HREF="JadeTeX-1.0b5.zip">download</A> (33 KB)]</P>

<A NAME="compiling"></A>
<H3>Compiling</H3>

<H5>Compiling under UNIX</H5>
<OL>
<LI>Unzip on top of the original Jade 1.1 distribution - use the unzip's option -a.</LI>
<LI>"make -f Makefile.jade depend"</LI>
<LI>"make -f Makefile.jade"</LI>
</OL>

<H5>Compiling under Windows95/NT (using Visual C++ 4.2)</H5>

<OL>
<LI>Unzip on top of the original Jade 1.1 distribution - use the pkunzip's option -d.</LI>
<LI>Open SP.mak and build the "lib - Win32 Release" configuration</LI>
<LI>Open jade.mak and build the "jade - Win32 Release" configuration</LI>
</OL>

<A NAME="binaries"></A>
<H3>Precompiled Binaries</H3>
<P>
<IMG SRC="../mif/arr.gif"> Zipped Win95/NT binary: jade.exe
[<A HREF="JadeTeX-1.0b5-Win32Bin.zip">download</A> (107 KB)]
<BR><IMG SRC="../mif/arr.gif"> Zipped James Clark's distribution of Jade 1.1
(windows binaries and DLLs that the jade.exe will need - you may have it already installed)
[<A HREF="../mif/jadew1_0.zip">download</A> (1159 KB)]
<!--
<BR><IMG SRC="../mif/arr.gif"> Tarred Linux binary (if it doesn't work on yur system,
you can compile your own from source code).
[<A HREF="JadeTeX-1.0b1-LinuxBin.tgz">download</A> (875 KB)]
-->
</P>

<A NAME="spec"></A>
<H3>Table Processing Specification</H3>

<H5>Structure</H5>

<P>On output the components of <code>Table</code> flow objects are
   reaarranged in the following manner:</P>

<P><IMG SRC="../mif/arr.gif"> 
 Contents of the <code>header</code> port of the <code>table-part</code> flow object
 are moved just before the contents of the principal port of the
 <code>table-part</code> flow object. The surrounding <code>\TablePartHeader</code> and
 <code>\endTablePartHeader</code> TeX macro calls are preserved.
</P>

<P><IMG SRC="../mif/arr.gif"> 
 Contents of the <code>footer</code> port of the <code>table-part</code> flow object
 are moved just after the contents of the principal port of the
 <code>table-part</code> flow object.   The surrounding <code>\TablePartFooter</code>
 and <code>\endTablePartFooter</code> TeX macro calls are preserved.
</P>

<P><IMG SRC="../mif/arr.gif"> 
 Contents of the <code>footer</code> port of the <code>table-part</code> flow object
 are moved just after the contents of the principal port of the
 <code>table-part</code> flow object.   The surrounding <code>\TablePartFooter</code>
 and <code>\endTablePartFooter</code> TeX macro calls are preserved.
</P>

<P><IMG SRC="../mif/arr.gif"> 
 The <code>table-cell</code> flow objects are rearranged in the sequential order
 according to the <code>column-number</code> characteristic. Cells overlapped by
 cells that span multiple rows and/or columns are not reported.  Missing cells are
 reported.
</P>

<P><IMG SRC="../mif/arr.gif"> 
 Contents of every <code>table-part</code> flow object, and contents of every
 <code>table</code> flow object with no nested <code>table-part</code> flow objects,
 are surrounded by the <code>/TeXTable{}{}{}</code> and <code>/endTeXTable</code> TeX
 macro calls (see <A HREF="#tex_table">below</A>).
</P>

<P><IMG SRC="../mif/arr.gif"> 
 The <code>Node</code> information surrounding moved elements (rows, and cells),
 moves with them.
</P>

<P><IMG SRC="../mif/arr.gif"> 
 The <code>table-border</code> and <code>table-column</code> flow objects are
 not reported.
</P>

<H5>Border Resolution</H5>

<P>Border resolution takes in account conflicts between adjacent cell borders
   and adjacent table and cell borders. Such conflicts are resolved using the
   <code>border-priority</code> characteristic. The border resolution occurs 
   after table headers and footers has been moved into their correct place -
   for the border resolution purposes they are considered part of the table body.
   The resolution of before/after table borders (borders that surround table as
   a whole) takes in account existence of table parts.
<P>   

<H5>Table/Column Width Computation</H5>

<P>The backend has internal inherited characteristics stack that keeps track of
   the display width changes. Columns, margins, intercolumn spacing, etc. are
   taken into account.  At the point when TeX table is being generated its
   width will be reported in points.  In the case the <code>table-width</code>
   characteristic is equal to <code>#f</code> (minimal table width), the full
   available display width will be reported (TeX macros can decide what to do in
   such situation by examining the actual characteristic value.)
</P>

<P>Width of columns with the <code>width</code> characteristic set are reported
   in points after appropriate processing of <code>table-unit</code> values.
   In a situation where columns with proportional width are mixed with columns
   with no width, the width of the columns with no width will be 
   assumed equal to one table-unit.
</P>


<A NAME="tex_table"></A>
<H5>TeX Tables</H5>

<P>In order to facilitate creation of the TeX table, backend will generate
   TeX macro calls of the form:

<P ALIGN="center"><b><code>\TexTable{[width]}{[number_of_columns]}{[column_template]}</code></b></P>

<P>where:</P>

<DIV ALIGN="center">
<TABLE BORDER CELLPADDING="5">
<TR>
    <TD><b><code>[width]</code></b></TD><TD>is table width in points.</TD>
</TR>
<TR>
    <TD><b><code>[number_of_columns]</code></b></TD><TD> is the number of columns in the table.</TD>
</TR>
<TR>
    <TD><b><code>[column_template]</code></b></td><td> is the template representing table column
                      information</TD>
</TR>
</TABLE>
</DIV>

<P>The <code>[column_template]</code> provides column information using the
   following strings:</P>

<DIV ALIGN="center">
<TABLE BORDER CELLPADDING="5">
<TR>
    <TD><b><code>l</code></b></TD>
        <TD>default display alignment is start or inside, width of the column determined by content</TD>
</TR>
<TR>
    <TD><b><code>c</code></b></TD>
        <TD>default display alignment is center, width of the column determined by content</TD>
</TR>
<TR>
    <TD><b><code>r</code></b></TD>
        <TD>default display alignment is end or outside, width of the column determined by content</TD>
</TR>
<TR>
    <TD><b><code>L{[width]}</code></b></TD>
        <TD>default display alignment is start or inside, width of the column given in points</TD>
</TR>
<TR>
    <TD><b><code>C{[width]}</code></b></TD>
        <TD>default display alignment is center, width of the column given in points</TD>
</TR>
<TR>
    <TD><b><code>R{[width]}</code></b></TD>
        <TD>default display alignment is end or outside, width of the column given in points</TD>
</TR>
<TR>
    <TD COLSPAN="2">
    The above strings can be interwoven by "pipe" characters (|)
    representing presence/absence of default vertical borders.
    </TD>
<TR>

</TABLE>
</DIV>

<P>If the effective display alignment of an individual cell differs form the default
   provided by template, a:</P>

<P ALIGN="center"><b><code>\def\TeXTableCellDisplayAlignment{[align_char]}}</code></b></P>

<P>definition is appended to the cell's characteristics list.  <code>[align_char]</code>
   may be one of <b><code>l<code></b>, <b><code>c</code></b>, and <b></code>r</code></b>
   with the meanings as in the table above.</P>

<P>If the effective left\right borders of an individual cell differs form the default
   provided by template, a:</P>

<P ALIGN="center"><b><code>\def\TeXTableCellBeforeColumnBorder{[border_present]}</code></b>
                  <BR>and/or<BR>    
                  <b><code>\def\TeXTableCellAfterColumnBorder{[border_present]}</code></b>
</P>

<P>definitions are appended to the cell's characteristics list.  <code>[border_char]</code>
   may be 1 for border present, and 0 for no border.</P>

<P>The horizontal borders of a table are represented by the following calls occuring
   in-between each row and at the beginning/end of a TeX table:</P>

<DIV ALIGN="center">
<TABLE BORDER CELLPADDING="5">
<TR>
    <TD><b><code>\Hline</code></b></TD><TD>border spanning all columns</TD>
</TR>
<TR>
    <TD><b><code>\Cline{n-m}</code></b></td><td>border spanning columns <b><code>n</code></b> to <b><code>m</code></b></TD>
</TR>
<TR>
    <TD COLSPAN="2">
    In the above column numbering starts at 1.
    </TD>
</TABLE>
</DIV>


<P>Here's an example of TeX table macro call:</P>

<DIV ALIGN="center">
<TABLE>
<TD><b><code>\Hline
         <BR>\TeXTable{174\p@}{3}{|C{50\p@}|l|C{50\p@}|}
         <BR> ...
         <BR>\endTeXTable
         <BR>\Hline</code></b></TD>
</TABLE>
</DIV>

<HR>

</BODY>
</HTML>