On 16-10-2012 13:23, Wolfgang Schuster wrote:
Am 16.10.2012 um 13:08 schrieb Hans Hagen <pra...@wxs.nl>:
On 16-10-2012 12:52, Sietse Brouwer wrote:
The problem is that \starttabulate does not accept a format parameter.
Cheap solution (only figured it out now, or I'd have replied before): use
\setuptabulate[alpha][format={....}]
before every \startalpha call.
It's not very contexty syntax, but on the other hand it requires no
new definitions at all.
Full example below.
Cheers,
Sietse
\definetabulate[alpha][|l|] % dummy format
\setuptabulate[alpha][style=bold]
\setuptabulate[alpha][format={|r|r|r|}]
\startalpha
\NC r \NC r \NC r \NC \NR
\NC test \NC test \NC test \NC \NR
\stopalpha
\setuptabulate[alpha][format={|c|c|}]
\startalpha
\NC c \NC c \NC \NR
\NC test \NC test \NC \NR
\stopalpha
There's also:
\starttext
\definetabulate
[whatever]
[|l|r|]
\definetabulate
[whatever][else]
[|l|c|r|]
\startwhatever
\NC l \NC r \NC \NR
\NC left \NC right \NC \NR
\stopwhatever
\startwhatever[else]
\NC l \NC m \NC r \NC \NR
\NC left \NC middle \NC right \NC \NR
\stopwhatever
\stoptext
Can you add a second argument to custom tabulation which would allow one to
write
\startwhatever[format={…}]
or
\startwhatever[else][format={…}]
to change the number of columns and format for a certain table.
I wonder is someone can remember this ...
\unprotect
\unexpanded\def\tabl_start_defined[#1]%
{\bgroup
\edef\currenttabulationparent{#1}%
\let\currenttabulation\currenttabulationparent
\dodoubleargument\tabl_start_defined_indeed}
\def\tabl_start_defined_indeed
{\iffirstargument
\ifsecondargument
\doubleexpandafter\tabl_start_defined_two
\else
\doubleexpandafter\tabl_start_defined_one
\fi
\else
\singleexpandafter\tabl_start_defined_zero
\fi}
\def\tabl_start_defined_one[#1][#2]%
{\doifassignmentelse{#1}
{\setuptabulation[\currenttabulation][#1]}%
{\edef\currenttabulation{\currenttabulation:#1}}%
\tabl_tabulate_start_building}
\def\tabl_start_defined_two[#1][#2]%
{\edef\currenttabulation{\currenttabulation:#1}%
\setuptabulation[\currenttabulation][#2]%
\tabl_tabulate_start_building}
\def\tabl_start_defined_zero[#1][#2]%
{\tabl_tabulate_start_building}
\protect
\starttext
\definetabulate
[whatever]
[|l|r|]
\definetabulate
[whatever][else]
[|l|c|r|]
\startwhatever
\NC l \NC r \NC \NR
\NC left \NC right \NC \NR
\stopwhatever
\startwhatever[else]
\NC l \NC m \NC r \NC \NR
\NC left \NC middle \NC right \NC \NR
\stopwhatever
\startwhatever[else][format={|c|c|c|c|}]
\NC l \NC m \NC m \NC r \NC \NR
\NC left \NC middle \NC middle \NC right \NC \NR
\stopwhatever
\stoptext
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________