summaryrefslogtreecommitdiff
path: root/doc/context/presentations/context/2017/context-2017-tables.tex
blob: 6f28226688b8735363eab09db61bb8b6b3b34599 (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
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
\usemodule[present-lines]

\definecolor[maincolor][r=.4,b=.4]

\startdocument[title=Tables,subtitle={\CONTEXT\ 2017 Maibach}]

\startchapter[title=Variants]

\startitemize
    \startitem
        Good old \TABLE, a wrapper about \TEX's alignment.
    \stopitem
    \startitem
        Running text, break across pages tabulates.
    \stopitem
    \startitem
        Tables that behave like \HTML\ tables therefore called
        natural tables.
    \stopitem
    \startitem
        A variant on this that is more easy to extend, tagged
        extreme tables.
    \stopitem
    \startitem
        A low profile linetable mechanism that can span pages
        and breaks well.
    \stopitem
    \startitem
        A way to make huge tables without overflowing \TEX\ too
        soon.
    \stopitem
\stopitemize

\stopchapter

\startchapter[title=\TABLE]

\startitemize
    \startitem
        Based on the \TABLE\ macro package.
    \stopitem
    \startitem
        Detailed control over spacing.
    \stopitem
    \startitem
        Somewhat inconsistent spacing out of the box.
    \stopitem
    \startitem
        Extended with extra features.
    \stopitem
    \startitem
        Mostly rewritten but within the original concept.
    \stopitem
\stopitemize

\stopchapter

\startchapter[title=Tabulate]

\startitemize
    \startitem
        Mostly meant for tables that are part of the text flow.
    \stopitem
    \startitem
        Breaks paragraphs across pages.
    \stopitem
    \startitem
        Sort of compatible in control with \TABLE.
    \stopitem
    \startitem
        The system that I used most often.
    \stopitem
    \startitem
        It uses multiple passes if needed.
    \stopitem
\stopitemize

\stopchapter

\startchapter[title=Natural tables]

\startitemize
    \startitem
        Modelled after \HTML\ tables.
    \stopitem
    \startitem
        Often used in \XML\ workflows, possibly as cals tables.
    \stopitem
    \startitem
        To some extend automatic spans horizontally and vertically.
    \stopitem
    \startitem
        There are a couple of (undocumented and obscure) flags that can control
        behaviour.
    \stopitem
    \startitem
        They can break cross pages if needed.
    \stopitem
    \startitem
        Tables, rows and cells have framed like properties.
    \stopitem
    \startitem
        Not the fastest mechanism as it used several passes (for which it
        stores all cells).
    \stopitem
\stopitemize

\stopchapter

\startchapter[title=Extreme tables]

\startitemize
    \startitem
        Again modelled after \HTML\ tables.
    \stopitem
    \startitem
        A few less options but also some more than natural tables.
    \stopitem
    \startitem
        Most work is delegated to \LUA.
    \stopitem
    \startitem
        Uses buffers and therefore nesting is (as with natural tables)
        possible but with care.
    \stopitem
\stopitemize

\stopchapter

\startchapter[title=Line tables]

\startitemize
    \startitem
        Written for and used in a project long ago.
    \stopitem
    \startitem
        Meant for huge tables that span multiple pages horizontally
        and vertically.
    \stopitem
    \startitem
        It only can have simple colored backgrounds.
    \stopitem
    \startitem
        Hardly used.
    \stopitem
    \startitem
        I need to redo (or check) the implementation some day.
    \stopitem
\stopitemize

\startchapter[title=Frame tables]

\startitemize
    \startitem
        Written for and used for Thomas who needs real huge tables
        generated from \XML.
    \stopitem
    \startitem
        It's a single pass mechanism.
    \stopitem
    \startitem
        Each cell is a framed.
    \stopitem
    \startitem
        Dimensions need to be adapted when you want predictable output.
    \stopitem
    \startitem
        I might extend it but within reasonable bounds.
    \stopitem
\stopitemize

\stopchapter


\stopdocument