Changes

Jump to navigation Jump to search
231 bytes added ,  15:06, 25 August 2021
m
Convert to an HTML table
This is ConTeXts oldest table module. It uses the same formatting as [[Tabulate]] (see [[Tables Overview]]).
This mode is based on Michael Wichura's TaBlE package for PlainTeX. The official manual for it is commercial (about 40 USD), see [http://www.pctex.com/books.html PCTeX] -- but note that the TaBlE manual only talks about the original syntax, which does not use <{{cmd>|NC}}, <{{cmd>|HL}} cum suis.
The only ConTeXt docs are in [[manual:ms-cb-en.pdf|ConTeXt - an excursion]]. There is also two introductory articles in tugboat [http://tug.org/TUGboat/Articles/tb28-3/tb90mahajan.pdf ConTeXt basics for users: Table macros] [http://www.tug.org/TUGboat/Articles/tb29-1/tb91mahajan.pdf Table macros II] by Aditya Mahajan (2007 and 2008).
</td></tr></table>
* You get vertical lines (rules), if you use <{{cmd>|VL}} instead of <{{cmd>|NC}}.* Better use <{{cmd>|SR}}, <{{cmd>|FR}}, <{{cmd>|MR}}, <{{cmd>|LR}} instead of <{{cmd>|NR}}.* You can also use <{{cmd>|AR}} instead of <{{cmd>|SR}}, <{{cmd>|FR}}, <{{cmd>|MR}} and <{{cmd>|LR}} (AR for automatic row).* You can leave out the <{{cmd>|NC}} before the "row" command, but not if you use <{{cmd>|AR}} in a last or single row (see example).* You can influence the table with <{{cmd>|setuptables}}.
==Column Definition==
The table is defined by the template enclosed in square brackets after <{{cmd>|starttable}}. The template has the form
<tt>|keys for the first column|keys for the second column|...|keys for the last column|</tt>. Please note that each column is surrounded by <tt>|</tt> signs. These are necessary. The formatting keys for each column can be a choice of
<context>\switchtobodyfont[ss, 8pt]\starttable[{|l|lp(.5\textwidth)|]class="wikitable"\HL ! Key\NC \bf Key \VL \bf ! Meaning \SR\HL |-\NC \NC ! colspan="2" | Primitive Keys \SR\HL |-\NC \type{| <code>a{<em>tokens</em>}}\VL </code> | Adds \type{<code><em>tokens} {\</em></code> <em >after} </em> the column content\AR\NC \type{|- |- | <code>b{<em>tokens</em>}}\VL </code> | Adds \type{<code><em>tokens} '''</em></code> <em>before''' </em> the column content\AR\NC {\tt \backslash|- | <code>\{ } \VL </code> | Enclose the column in braces (grouping)\AR\NC \type{|- | <code>*{<em>n</em>}{<em>keys</em>}}\VL </code> | Equivalent to repeating the formatting keys \type{<code><i>keys} \type{</i></code> <code><i>n} </i></code> times\NC\LR\HL |-\NC \NC ! colspan="2" | Positioning Keys\SR\HL |-\NC \type{| <code>\LeftGlue} \VL </code> | Specifies the left glue to be used before the column\AR\NC \type{|- | <code>\RightGlue} \VL </code> | Specifies the right glue to be used after the column\AR\NC \type{|- | <code>l} \VL </code> | left-aligned column\AR\NC \type{|- | <code>c} \VL </code> | centered column\AR\NC \type{|- | <code>r} \VL </code> | right-aligned column\AR\NC \type{|- | <code>p(<em>width</em>)} \VL </code> | Set each cell as a paragraph\AR\NC \type{|- | <code>s(<em>width</em>)} \VL </code> | Specify the inter-column width\AR\NC \type{|- | <code>w} \VL </code> | Set minimum column width\AR\NC \type{|- | <code>k} \VL </code> | Insert a kern both left and right of the column\AR\NC \type{|- | <code>i} \VL </code> | Add a kern to the left of the column\AR\NC \type{|- | <code>j} \VL </code> | Add a kern to the right of the column\LR\HL |-\NC \NC ! colspan="2" | Numeric and Math Item Keys \SR\HL |-\NC \type{| <code>n} \VL </code> | Numeric item not in math mode\AR\NC \type{|- | <code>N} \VL </code> | Numeric item in math mode\AR\NC \type{|- | <code>m} \VL </code> | Each cell is in (inline) math mode. Equivalent to \type{<code>b$ a$}\AR</code> |-\NC \type{| <code>M} \VL </code> | Each cell is in display math mode. Equivalent to \type{<code>\{b{$\displaystyle}a$}} \AR</code> |-\NC \type{| <code>\m} \VL </code> | Equivalent to \type{1 <code>l b{{}}m}\AR</code> |-\NC \type{| <code>\M} \VL </code> | Equivalent to \type{1 <code>l b{{}}M}\LR</code>\HL |-\NC \NC ! colspan="2" | Style Keys \SR\HL |-\NC \type{| <code>f\<em>command} \VL </em></code> | Set font according to following \tex{<code><em>command}\AR</em></code> |-\NC \type{| <code>B} \VL </code> | Bold. Equivalent to \type{<code>f\bf}\AR</code> |-\NC \type{| <code>I} \VL </code> | Italic. Equivalent to \type{<code>f\it}\AR</code> |-\NC \type{| <code>S} \VL </code> | Slanted. Equivalent to \type{<code>f\sl}\AR</code> |-\NC \type{| <code>R} \VL </code> | Roman. Equivalent to \type{<code>f\rm}\AR</code> |-\NC \type{| <code>T} \VL </code> | Teletype. Equivalent to \type{<code>f\tt}\AR</code> |-\NC \type{| <code>C} \VL </code> | Color. Use it in combination with \backslash<code>\{ </code> (e.g. \backslash<code>\{C\{<em>red\</em>} </code>)\LR\HL |-\NC \NC ! colspan="2" | Tabskip Keys \SR\HL |-\NC \type{| <code>s} \VL </code> | Set the tabskip to the right of this column and of all following columns up to the next \type{<code>s} </code> or \type{<code>o} </code> key\AR\NC \type{|- | <code>o} \VL </code> | Set the tabskip to the right of this column only\LR\HL |-\stoptable</context> |}
=== Column definition examples===
; <code>|cp(.5\textwidth)|</code> : a center aligned paragraph of specified width
; <code>|xp(.5\textwidth)|</code> : a justified paragraph of specified width
; <code>...</code> : Please add more
; <code>...</code> :
{{todo|add more examples of column definitions}}
==Column Spans==
It's possible to create columnspans (i.e. cells that span more than one column) with the command <{{cmd>|use|{<i>N</i>}}} where ''N'' is the number of columns spanned by the cell. It's often necessary to use <{{cmd>|ReFormat|[<i>new keys</i>]{}}} to reformat this specific cell according to the ''new keys''.
(<{{cmd>|ReFormat}} can be abbreviated <{{cmd>|REF}} for brevity.) 
== Row Spans==
It's also possible to create rowspans (i.e. cells that span more than one row) with the command <{{cmd>|Raise|(<i>dimen</i>){<i>content</i>}}} or <{{cmd>|Lower|(<i>dimen</i>){</i>content</i>}}} that raise or lower ''content'' by ''dimen''.
<table cols="2"><tr valign="top"><td>
</td></tr></table>
(<{{cmd>|Lower|(.5\lineheight){a}}} can be abbreviated <{{cmd>|LOW|{a}}} for brevity.)
An alternative means of spanning rows by a tall object makes use of a bit of TeX magic:
<{{cmd>|smash|{tall object}}}:
<table cols="2"><tr valign="top"><td>
* See [[Floating Objects]] in general.
* If you need information about <{{cmd>|placetable}} look after <{{cmd>|placefloat}} in the manual or texshow!
* If you do not want a caption for your table, to get rid of it altogether you have to add "none" to settings and then leave the braces empty; if you only leave the braces empty, your table will still be numbered ("Table 1" etc.).
won't cover the whole cell.
* <{{cmd>|BL}} makes a gray background: the optional argument tells BL how many cells it should color* <{{cmd>|CL}} makes a colored row
==Fit Table Width==
8

edits

Navigation menu