Difference between revisions of "Tables Overview"
Jump to navigation
Jump to search
m (deleted discussion in overview table) |
|||
(22 intermediate revisions by 11 users not shown) | |||
Line 1: | Line 1: | ||
< [[Visuals]] | [[Structurals]] > | < [[Visuals]] | [[Structurals]] > | ||
− | ConTeXt has a whole bunch of possibilities to typeset tables. Not each provides everything you may need | + | ConTeXt has a whole bunch of possibilities to typeset tables. Not each provides everything you may need. |
− | * [[ | + | * [[Tabulate]] (tabulation, '''recommended for simple requirements''') |
− | * [[ | + | * [[TABLE]] (natural tables, HTML tables, '''recommended''') |
− | * [[ | + | * [[xtables]] (extreme tables – mostly compatible to natural tables, better for page breaking) |
− | * [[ | + | * framed tables (for simple tables that span hundreds of pages) |
− | * [[ | + | |
+ | Older ones: | ||
+ | |||
+ | * [[Table]] (TaBlE, '''deprecated''') | ||
+ | * [[Tables]] (multipage TaBlE, '''deprecated''') | ||
+ | * [[Linetable]] ("new" multipage tables, '''experimental''' and probably obsolete) | ||
+ | |||
+ | Note that you can use natural and extreme tables with the old Table/Tabulate syntax. (To make this even more confusing...) | ||
+ | |||
+ | If you have simple tables with lots of contents, and you're tired of typing <code>\bTR\bTD</code>s or <code>\NC\NR</code>s, you can also have a look at | ||
+ | * [[M-database|database]] module and its [http://dl.contextgarden.net/myway/csv.pdf manual]. | ||
+ | * [[wikitable]], a TABLE wrapper that uses MediaWiki syntax | ||
+ | * [http://tug.org/TUGboat/Articles/tb28-3/tb90mahajan.pdf ConTeXt basics for users: Table macros] and [http://www.tug.org/TUGboat/Articles/tb29-1/tb91mahajan.pdf Table macros II] by Aditya Mahajan (2007 and 2008). | ||
== Features == | == Features == | ||
<table style="border:1px solid #DDDDDD; width:100%" align="left" valign="top"> | <table style="border:1px solid #DDDDDD; width:100%" align="left" valign="top"> | ||
<tr style="background-color:#DDDDDD" align="left" valign="top"> | <tr style="background-color:#DDDDDD" align="left" valign="top"> | ||
− | <th>Feature</th><th>[[ | + | <th>Feature</th> |
− | <th>[[ | + | <th>[[Tabulate]]</th><th>[[Table]]/[[Tables]]</th> |
+ | <th>[[TABLE]]</th><th>[[xtables]]</th><th>[[Linetable]]</th><th>[[framedtable]]</th> | ||
</tr> | </tr> | ||
+ | |||
<tr align="left" valign="top"> | <tr align="left" valign="top"> | ||
<th style="background-color:#DDDDDD">horizonal lines</th> | <th style="background-color:#DDDDDD">horizonal lines</th> | ||
− | |||
<td><cmd>HL</cmd></td> | <td><cmd>HL</cmd></td> | ||
<td><cmd>HL</cmd></td> | <td><cmd>HL</cmd></td> | ||
Line 27: | Line 40: | ||
[bottomframe=on] | [bottomframe=on] | ||
</texcode></td> | </texcode></td> | ||
+ | <td><texcode>\setupxtable[...]</texcode></td> | ||
<td>unknown</td> | <td>unknown</td> | ||
+ | <td>yes</td> | ||
</tr> | </tr> | ||
+ | |||
<tr align="left" valign="top" style="background-color:#EEEEEE;"> | <tr align="left" valign="top" style="background-color:#EEEEEE;"> | ||
<th style="background-color:#DDDDDD">vertical lines</th> | <th style="background-color:#DDDDDD">vertical lines</th> | ||
− | |||
<td><cmd>VL</cmd></td> | <td><cmd>VL</cmd></td> | ||
<td><cmd>VL</cmd></td> | <td><cmd>VL</cmd></td> | ||
Line 41: | Line 56: | ||
[rightframe=on] | [rightframe=on] | ||
</texcode></td> | </texcode></td> | ||
+ | <td><texcode>\setupxtable[...]</texcode></td> | ||
<td>unknown</td> | <td>unknown</td> | ||
+ | <td>yes</td> | ||
</tr> | </tr> | ||
+ | |||
<tr align="left" valign="top"> | <tr align="left" valign="top"> | ||
<th style="background-color:#DDDDDD">multipage</th> | <th style="background-color:#DDDDDD">multipage</th> | ||
<td>yes</td> | <td>yes</td> | ||
− | <td>no | + | <td>no / yes (tables)</td> |
− | |||
<td>yes, with <tt>split=yes</tt> or <tt>split=repeat</tt></td> | <td>yes, with <tt>split=yes</tt> or <tt>split=repeat</tt></td> | ||
+ | <td>vertically yes, horizontally not but planned</td> | ||
<td>yes, even horizontally</td> | <td>yes, even horizontally</td> | ||
+ | <td>yes</td> | ||
</tr> | </tr> | ||
+ | |||
<tr align="left" valign="top" style="background-color:#EEEEEE;"> | <tr align="left" valign="top" style="background-color:#EEEEEE;"> | ||
<th style="background-color:#DDDDDD">repeated header</th> | <th style="background-color:#DDDDDD">repeated header</th> | ||
− | <td> | + | <td><texcode> |
− | < | + | \setuptabulate |
− | <td>< | + | [header=repeat] |
+ | \starttabulatehead | ||
+ | ... | ||
+ | \stoptabulatehead | ||
+ | </texcode> | ||
+ | only one line</td> | ||
+ | <td>table<b>s</b> only: | ||
+ | <texcode> | ||
+ | \setuptables | ||
+ | [split=repeat] | ||
+ | |||
+ | \starttablehead | ||
+ | ... | ||
+ | \stoptablehead | ||
+ | </texcode></td> | ||
<td><texcode> | <td><texcode> | ||
\bTABLE | \bTABLE | ||
Line 63: | Line 97: | ||
\eTABLEhead | \eTABLEhead | ||
</texcode></td> | </texcode></td> | ||
+ | <td>yes</td> | ||
+ | <td>yes</td> | ||
<td>yes</td> | <td>yes</td> | ||
</tr> | </tr> | ||
+ | |||
<tr align="left" valign="top"> | <tr align="left" valign="top"> | ||
<th style="background-color:#DDDDDD">repeated footer</th> | <th style="background-color:#DDDDDD">repeated footer</th> | ||
<td>no</td> | <td>no</td> | ||
+ | <td>table<b>s</b> only: | ||
+ | <texcode> | ||
+ | \setuptables | ||
+ | [split=repeat] | ||
+ | |||
+ | \starttabletail | ||
+ | ... | ||
+ | \stoptabletail | ||
+ | </texcode></td> | ||
+ | <td>no?</td> | ||
+ | <td>yes</td> | ||
<td>no</td> | <td>no</td> | ||
− | <td> | + | <td>unknown</td> |
− | |||
− | |||
</tr> | </tr> | ||
+ | |||
<tr align="left" valign="top" style="background-color:#EEEEEE;"> | <tr align="left" valign="top" style="background-color:#EEEEEE;"> | ||
<th style="background-color:#DDDDDD">automatic fitting to given table width</th> | <th style="background-color:#DDDDDD">automatic fitting to given table width</th> | ||
<td>no</td> | <td>no</td> | ||
− | |||
<td><cmd>SetTableToWidth</cmd></td> | <td><cmd>SetTableToWidth</cmd></td> | ||
<td> | <td> | ||
Line 84: | Line 130: | ||
textwidth=10cm] | textwidth=10cm] | ||
</texcode></td> | </texcode></td> | ||
+ | <td>yes</td> | ||
+ | <td>default</td> | ||
<td>unknown</td> | <td>unknown</td> | ||
</tr> | </tr> | ||
+ | |||
<tr align="left" valign="top"> | <tr align="left" valign="top"> | ||
<th style="background-color:#DDDDDD">problems</th> | <th style="background-color:#DDDDDD">problems</th> | ||
<td>very limited</td> | <td>very limited</td> | ||
− | <td> | + | <td>some limitations, problems with spacing |
− | + | <texcode> | |
\starttext | \starttext | ||
\starttablehead | \starttablehead | ||
Line 106: | Line 155: | ||
</texcode></td> | </texcode></td> | ||
<td>there may be problems in width and height calculation and perhaps the multipage features</td> | <td>there may be problems in width and height calculation and perhaps the multipage features</td> | ||
− | <td> | + | <td>very verbose</td> |
+ | <td>lack of documentation, just experimental</td> | ||
+ | <td>limitations, lack of documentation</td> | ||
</tr> | </tr> | ||
+ | |||
+ | <!-- Tabulate Table(s) TABLE xtable linetable framedtable --> | ||
<tr align="left" valign="top" style="background-color:#EEEEEE;"> | <tr align="left" valign="top" style="background-color:#EEEEEE;"> | ||
<th style="background-color:#DDDDDD">documentation (except wiki)</th> | <th style="background-color:#DDDDDD">documentation (except wiki)</th> | ||
− | <td>[ | + | <td>[http://pmrb.free.fr/contextref.pdf contextref.pdf], [[source:tabl-tbl.mkii|tabl-tbl.mkii]], [http://www.ntg.nl/maps/pdf/22_28.pdf MAPS article]</td> |
− | <td>[[manual:mp-cb-en.pdf|ms-cb-en.pdf]], [[source: | + | <td>[[manual:mp-cb-en.pdf|ms-cb-en.pdf]], [[source:tabl-tab.mkii|tabl-tab.mkii]]</td> |
− | + | <td>[[manual:enattab.pdf|enattab.pdf]], [http://dl.contextgarden.net/myway/NaturalTables.pdf NaturalTables.pdf], [[source:tabl-ntb.mkii|tabl-ntb.mkii]] / [[source:tabl-ntb.mkiv|tabl-ntb.mkiv]]</td> | |
− | <td>[[manual:enattab.pdf|enattab.pdf]], [http://dl.contextgarden.net/myway/NaturalTables.pdf NaturalTables.pdf], [[source: | + | <td>[http://www.pragma-ade.com/general/manuals/xtables-mkiv.pdf xtables-mkiv.pdf], [[source:tabl-xtb.lua|tabl-xtb.lua]]</td> |
− | <td>[[source: | + | <td>[[source:tabl-ltb.mkii|tabl-ltb.mkii]] / [[source:tabl-ltb.mkiv|tabl-ltb.mkiv]]</td> |
− | </tr></table> | + | <td>?</td> |
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | [[Category:Tables]] |
Revision as of 17:29, 13 October 2018
< Visuals | Structurals >
ConTeXt has a whole bunch of possibilities to typeset tables. Not each provides everything you may need.
- Tabulate (tabulation, recommended for simple requirements)
- TABLE (natural tables, HTML tables, recommended)
- xtables (extreme tables – mostly compatible to natural tables, better for page breaking)
- framed tables (for simple tables that span hundreds of pages)
Older ones:
- Table (TaBlE, deprecated)
- Tables (multipage TaBlE, deprecated)
- Linetable ("new" multipage tables, experimental and probably obsolete)
Note that you can use natural and extreme tables with the old Table/Tabulate syntax. (To make this even more confusing...)
If you have simple tables with lots of contents, and you're tired of typing \bTR\bTD
s or \NC\NR
s, you can also have a look at
- database module and its manual.
- wikitable, a TABLE wrapper that uses MediaWiki syntax
- ConTeXt basics for users: Table macros and Table macros II by Aditya Mahajan (2007 and 2008).
Features
Feature | Tabulate | Table/Tables | TABLE | xtables | Linetable | framedtable |
---|---|---|---|---|---|---|
horizonal lines | \HL | \HL | \setupTABLE [topframe=on] or \setupTABLE [bottomframe=on] |
\setupxtable[...] |
unknown | yes |
vertical lines | \VL | \VL | \setupTABLE [leftframe=on] or \setupTABLE [rightframe=on] |
\setupxtable[...] |
unknown | yes |
multipage | yes | no / yes (tables) | yes, with split=yes or split=repeat | vertically yes, horizontally not but planned | yes, even horizontally | yes |
repeated header | \setuptabulate [header=repeat] \starttabulatehead ... \stoptabulateheadonly one line |
tables only:
\setuptables [split=repeat] \starttablehead ... \stoptablehead |
\bTABLE [split=repeat] \bTABLEhead ... \eTABLEhead |
yes | yes | yes |
repeated footer | no | tables only:
\setuptables [split=repeat] \starttabletail ... \stoptabletail |
no? | yes | no | unknown |
automatic fitting to given table width | no | \SetTableToWidth |
\setupTABLE [option=stretch, textwidth=10cm] |
yes | default | unknown |
problems | very limited | some limitations, problems with spacing
\starttext \starttablehead \HL \stoptablehead \starttables[|l|l|] \dorecurse{50}{% \VL SomeText \VL SomeText \VL \AR} \stoptables Problem: top margin on first page is bigger. \stoptext |
there may be problems in width and height calculation and perhaps the multipage features | very verbose | lack of documentation, just experimental | limitations, lack of documentation |
documentation (except wiki) | contextref.pdf, tabl-tbl.mkii, MAPS article | ms-cb-en.pdf, tabl-tab.mkii | enattab.pdf, NaturalTables.pdf, tabl-ntb.mkii / tabl-ntb.mkiv | xtables-mkiv.pdf, tabl-xtb.lua | tabl-ltb.mkii / tabl-ltb.mkiv | ? |