Difference between revisions of "Tables Overview"
Jump to navigation
Jump to search
(beginning to write table with features) |
m (Text replacement - "pragma-ade.com" to "pragma-ade.nl") |
||
(40 intermediate revisions by 16 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. | |
− | |||
− | |||
− | |||
− | |||
− | + | {{TwoColumnsUnderLevel1 | |
− | + | | | |
− | < | + | == Recommended == |
− | < | + | * [[Tabulate]] (tabulation, '''recommended for simple requirements''') |
− | + | * [[TABLE]] (natural tables, HTML tables, '''recommended''') | |
− | </tr><tr> | + | * [[xtables]] (extreme tables – mostly compatible to natural tables, better for page breaking) |
− | < | + | * framed tables (for simple tables that span hundreds of pages) |
− | < | + | | |
− | + | == Deprecated == | |
− | </tr><tr> | + | * [[Table]] (TaBlE, '''deprecated''') |
− | < | + | * [[Tables]] (multipage TaBlE, '''deprecated''') |
− | + | ||
− | < | + | == Experimental == |
− | </tr><tr> | + | * [[Linetable]] ("new" multipage tables, '''experimental''' and probably obsolete) |
− | < | + | }} |
− | < | + | |
− | + | ||
− | </tr><tr> | + | 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). | |
− | </tr><tr> | + | |
− | < | + | = Features = |
− | + | <table style="border:1px solid #DDDDDD; width:100%" align="left" valign="top"> | |
− | + | <tr style="background-color:#DDDDDD" align="left" valign="top"> | |
− | </tr><tr> | + | <th>Feature</th> |
− | < | + | <th>[[Tabulate]]</th><th>[[Table]]/[[Tables]]</th> |
− | + | <th>[[TABLE]]</th><th>[[xtables]]</th><th>[[Linetable]]</th><th>[[framedtable]]</th> | |
− | + | </tr> | |
− | </tr><tr> | + | |
− | < | + | <tr align="left" valign="top"> |
− | + | <th style="background-color:#DDDDDD">horizonal lines</th> | |
− | + | <td>{{cmd|HL}}</td> | |
− | </tr>< | + | <td>{{cmd|HL}}</td> |
− | < | + | <td><texcode> |
− | + | \setupTABLE | |
− | + | [topframe=on] | |
− | + | or | |
− | + | \setupTABLE | |
− | + | [bottomframe=on] | |
− | + | </texcode></td> | |
− | </tr></table> | + | <td><texcode>\setupxtable[...]</texcode></td> |
+ | <td>unknown</td> | ||
+ | <td>yes</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr align="left" valign="top" style="background-color:#EEEEEE;"> | ||
+ | <th style="background-color:#DDDDDD">vertical lines</th> | ||
+ | <td>{{cmd|VL}}</td> | ||
+ | <td>{{cmd|VL}}</td> | ||
+ | <td><texcode> | ||
+ | \setupTABLE | ||
+ | [leftframe=on] | ||
+ | or | ||
+ | \setupTABLE | ||
+ | [rightframe=on] | ||
+ | </texcode></td> | ||
+ | <td><texcode>\setupxtable[...]</texcode></td> | ||
+ | <td>unknown</td> | ||
+ | <td>yes</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr align="left" valign="top"> | ||
+ | <th style="background-color:#DDDDDD">multipage</th> | ||
+ | <td>yes</td> | ||
+ | <td>no / yes (tables)</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</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr align="left" valign="top" style="background-color:#EEEEEE;"> | ||
+ | <th style="background-color:#DDDDDD">repeated header</th> | ||
+ | <td><texcode> | ||
+ | \setuptabulate | ||
+ | [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> | ||
+ | \bTABLE | ||
+ | [split=repeat] | ||
+ | \bTABLEhead | ||
+ | ... | ||
+ | \eTABLEhead | ||
+ | </texcode></td> | ||
+ | <td>yes</td> | ||
+ | <td>yes</td> | ||
+ | <td>yes</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr align="left" valign="top"> | ||
+ | <th style="background-color:#DDDDDD">repeated footer</th> | ||
+ | <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>unknown</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr align="left" valign="top" style="background-color:#EEEEEE;"> | ||
+ | <th style="background-color:#DDDDDD">automatic fitting to given table width</th> | ||
+ | <td>no</td> | ||
+ | <td>{{cmd|SetTableToWidth}}</td> | ||
+ | <td> | ||
+ | <texcode> | ||
+ | \setupTABLE | ||
+ | [option=stretch, | ||
+ | textwidth=10cm] | ||
+ | </texcode></td> | ||
+ | <td>yes</td> | ||
+ | <td>default</td> | ||
+ | <td>unknown</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr align="left" valign="top"> | ||
+ | <th style="background-color:#DDDDDD">problems</th> | ||
+ | <td>very limited</td> | ||
+ | <td>some limitations, problems with spacing | ||
+ | <texcode> | ||
+ | \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 | ||
+ | </texcode></td> | ||
+ | <td>there may be problems in width and height calculation and perhaps the multipage features</td> | ||
+ | <td>very verbose</td> | ||
+ | <td>lack of documentation, just experimental</td> | ||
+ | <td>limitations, lack of documentation</td> | ||
+ | </tr> | ||
+ | |||
+ | <!-- Tabulate Table(s) TABLE xtable linetable framedtable --> | ||
+ | <tr align="left" valign="top" style="background-color:#EEEEEE;"> | ||
+ | <th style="background-color:#DDDDDD">documentation (except wiki)</th> | ||
+ | <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: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>[http://www.pragma-ade.nl/general/manuals/xtables-mkiv.pdf xtables-mkiv.pdf], [[source:tabl-xtb.lua|tabl-xtb.lua]]</td> | ||
+ | <td>[[source:tabl-ltb.mkii|tabl-ltb.mkii]] / [[source:tabl-ltb.mkiv|tabl-ltb.mkiv]]</td> | ||
+ | <td>?</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | |||
+ | [[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 | ? |