Open main menu

Changes

remove MkII stuff, fix errors
denoting the ''alignment'' within cells of this row.
For instance consider a two-column table: if any text in the
first column should be right aligned (''real''
[[Right and left|<tt>flushright</tt>]]) and the second column
&ndash; ''not'' vertical lines.
<!--
- wtf this listing was full of <tab> chars‽ Was this supposed
- to be a bad pun on *tabulate*?
- - No, I formatted it readably in my text editor. --HR
-->
{|
! width="55%"|
\starttabulate[|r|l|lB|]
\HL
\NC {\bf format} \NC {\bf meaning} \NC Mk \NC\NR
\HL
\NC c \NC centered \NC \NC\NR\NC l \NC left aligned \NC \NC\NR\NC r \NC right aligned \NC \NC\NR\NC w(1cm) \NC one line, fixed width \NC \NR\NC p \NC paragraph, remaining width \NC\NR\NC p(2cm) \NC paragraph, lines broken to fixed width \NC \NC\NR\NC cg(.) \NC align on a character \NC IV: cg{.} \NC\NR\NC m \NC math mode \NC IV only \NC\NR\NC b \NC before , e.g. b{\star} \NC IV only \NC\NR\NC a \NC after, e.g. a{\percent} \NC IV only \NC\NR
\HL
\stoptabulate
\starttabulate[|r|l|lB|]
\HL
\NC {\bf format} \NC {\bf meaning}\NC Mk \NC\NR
\HL
\NC c \NC centered \NC\NR
\NC r \NC right aligned \NC\NR
\NC w(1cm) \NC one line, fixed width \NC\NR
\NC p \NC paragraph, remaining width \NC\NR
\NC p(2cm) \NC paragraph, lines broken to fixed width \NC\NR
\NC cg(.) \NC align on a character \NC\NR\NC m \NC math mode \NC\NR\NC b \NC before, e.g. b{\star} \NC\NR\NC a \NC after, e.g. a{\percent} \NC\NR
\HL
\stoptabulate
* {{cmd|HL}} draws a horizontal rule,
* {{cmd|NC}} marks a new column (or new cell),
* {{cmd|NS}} marks a new cell that spans more than one column (LMTX only),
* {{cmd|NN}} marks a new math column/cell (see below),
* {{cmd|NR}} starts a new row,
* {{cmd|NB}} starts a new row as a block (avoids page breaking inside of a block, to keep some lines together),
* {{cmd|TB}} (= "Table Blank") adds some vertical space between rows -- see an example below,* {{cmd|VL}} (instead of {{cmd|NC}}) draws a vertical rule -- for more info see below.
When using fixed width, you can use values relative to the
current page-width. For example: if you want the previous tableto take up all the width and having the second column taking three
quarters of the space, change the {{cmd|starttabulate}} to:
<texcode>
\stopplacetable
</context>
 
=Spanning columns=
 
Only LMTX supports wide cells (since September 2021):
 
<context source=yes>
\starttabulate[|r|l|c|]
\HL
\NC 123 \NC foo \NC bar \NC\NR
\NS[2][c] LMTX \NC\NR
\NC 123 \NC baz \NC bla \NC\NR
\HL
\stoptabulate
</context>
 
The two parameters of {{cmd|NS}} are the number of additional columns (i.e. 1 of you want to span 2 columns), and the formatting for it.
 
This works only with single-line cells, i.e. not with “p” columns.
=Spanning Multiple Pages=
<context source=yes>
\setuppapersize[A10, landscape][A8, landscape]
\setuppaper[nx=2,ny=2]
\setuparranging[XY]
[split=yes,
header=text,
title={\color[red] {Fenchurch St. Paul}\strut},
frame=on]
\starttext
\starttabulate[|p(1.2cm)|p(1.2cm)|]
\dorecurse{6}{
}
\stoptabulate
\stoptext
</context>
\stoptabulate
</texcode>
 
In LMTX, the line commands understand one or two numerical parameters: the line factor and the dash factor. (The second is new as of 2024-02-22.)
 
<context source="yes">
\starttabulate
\FL[1,2] % linefactor (old) dashfactor (new)
\NC test \NC test and test and test and done \NC \NR
\ML[1,1]
\NC test \NC test and test and test and done \NC \NR
\NC test \NC test and test and test and done \NC \NR
\NC test \NC test and test and test and done \NC \NR
\LL[1,10]
\stoptabulate
</context>
Other types can be discovered in the source
=Using math mode=
If you want to display numerics, you can simply use {{cmd|NN}} for a new column instead of {{cmd|NC}}. This command works similar to the [http://www.pragma-ade.comnl/general/magazines/mag-0003.pdf digit-module]. Therefore you can also abbreviate:
<texcode>\starttabulate[|l|l|]
* More features are constantly added and documented in the {{src|tabl-tbl.mkiv|source}}.
* {{cmd|starttabulate}}, {{cmd|setuptabulate}}, {{cmd|definetabulate}}
* [[TABLE|Natural Tables]]
* {{cmd|starttable}}, <s>{{cmd|setuptable}}</s>
[[Category:Tables]]