Difference between revisions of "Tables Overview"
TobiasBurnus (talk | contribs) (→Features: Update tabulate head/tail) |
m (Text replacement - "pragma-ade.com" to "pragma-ade.nl") |
||
(31 intermediate revisions by 13 users not shown) | |||
Line 1: | Line 1: | ||
− | + | __NOTOC__ | |
+ | = Many possibilities for tables typesetting = | ||
− | 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 [[#Features|Features]] you may need. |
− | + | [[Floating_Objects|Floating objects]] enable to place and number tables, like graphics. | |
− | |||
− | |||
− | |||
− | |||
− | == Features | + | {{TwoColumnsUnderLevel1 |
+ | | | ||
+ | == Recommended == | ||
+ | * [[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) | ||
+ | | | ||
+ | == Deprecated == | ||
+ | * [[Table]] (TaBlE, '''deprecated''') | ||
+ | * [[Tables]] (multipage TaBlE, '''deprecated''') | ||
+ | |||
+ | == Experimental == | ||
+ | * [[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 = | ||
<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> | + | <td>{{cmd|HL}}</td> |
− | + | <td>{{cmd|HL}}</td> | |
− | <td> | ||
<td><texcode> | <td><texcode> | ||
\setupTABLE | \setupTABLE | ||
Line 27: | Line 49: | ||
[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> | + | <td>{{cmd|VL}}</td> |
− | + | <td>{{cmd|VL}}</td> | |
− | <td> | ||
<td><texcode> | <td><texcode> | ||
\setupTABLE | \setupTABLE | ||
Line 41: | Line 65: | ||
[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><texcode> | <td><texcode> | ||
− | \setuptabulate[header=repeat] | + | \setuptabulate |
+ | [header=repeat] | ||
\starttabulatehead | \starttabulatehead | ||
... | ... | ||
\stoptabulatehead | \stoptabulatehead | ||
+ | </texcode> | ||
+ | only one line</td> | ||
+ | <td>table<b>s</b> only: | ||
+ | <texcode> | ||
+ | \setuptables | ||
+ | [split=repeat] | ||
+ | |||
+ | \starttablehead | ||
+ | ... | ||
+ | \stoptablehead | ||
</texcode></td> | </texcode></td> | ||
− | |||
− | |||
<td><texcode> | <td><texcode> | ||
\bTABLE | \bTABLE | ||
Line 68: | Line 106: | ||
\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><texcode> | + | <td>no</td> |
− | \ | + | <td>table<b>s</b> only: |
− | \ | + | <texcode> |
+ | \setuptables | ||
+ | [split=repeat] | ||
+ | |||
+ | \starttabletail | ||
... | ... | ||
− | \ | + | \stoptabletail |
</texcode></td> | </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> | + | <td>{{cmd|SetTableToWidth}}</td> |
− | |||
<td> | <td> | ||
<texcode> | <texcode> | ||
Line 94: | Line 139: | ||
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 116: | Line 164: | ||
</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.nl/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]] | [[Category:Tables]] |
Latest revision as of 08:29, 2 July 2022
Many possibilities for tables typesetting
ConTeXt has a whole bunch of possibilities to typeset tables. Not each provides everything Features you may need.
Floating objects enable to place and number tables, like graphics.
-
Recommended
-
Deprecated
Experimental
- 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 | ? |