Re: [NTG-context] Need help with \definetabulate
Marco,
\definetabulate [alpha] [|l|l|l|] \setuptabulate [alpha] [bodyfont=small]
This does not work for me quite the way I need it to. I am really just after defining the font-size, but I would like to leave the column setup to the user (I am building an environment and that I would like everyone in my team to use to ensure a consistent look-and-feel or all documents). So, ideally, I would like to do this:
\definetabulate [alpha] \setuptabulate [alpha] [bodyfont=small] \starttext[|l|l|l|] \startalpha \NC first \NC second \NC third \NC\NR \stopalpha
\stoptext
...but that does not seem to work. Any way I can achieve this?
Feel free to add an example. It's a wiki!
Sure. Will do, once I have this working. Thank you, Malte.
Hi Malte
I am trying to define two tabulate styles as follows:
- \setuptabulate[split=yes, bodyfont=small] - \setuptabulate[split=yes]
\definetabulate [alpha] [|l|l|l|] \setuptabulate [alpha] [bodyfont=small]
\definetabulate [beta] [|l|l|] \setuptabulate [beta] [bodyfont=small, split=yes]
\starttext \startalpha \NC first \NC second \NC third \NC\NR \stopalpha
\startbeta \NC lorem \NC ipsum \NC\NR \stopbeta \stoptext
...such that I can just refer to them when I \starttabulate...\stoptabulate somewhere.
To refer to a table, you place it as a float and use the `reference=tab:alphatable` key. Then in the text you refer to the table, see \in{table}[tab:alphatable].
I thought, the command \definetabulate would come in handy here, but I can't work it out and it appears the documentation on that command is pretty scarce.
Feel free to add an example. It's a wiki!
Marco
Any pointers anyone? I need to get this working and am running out of ideas. Thank you, Malte. Begin forwarded message:
From: Malte Stien
Date: 15 October 2012 17:03:42 To: ntg-context@ntg.nl Subject: Re: [NTG-context] Need help with \definetabulate Marco,
\definetabulate [alpha] [|l|l|l|] \setuptabulate [alpha] [bodyfont=small]
This does not work for me quite the way I need it to. I am really just after defining the font-size, but I would like to leave the column setup to the user (I am building an environment and that I would like everyone in my team to use to ensure a consistent look-and-feel or all documents). So, ideally, I would like to do this:
\definetabulate [alpha] \setuptabulate [alpha] [bodyfont=small] \starttext[|l|l|l|] \startalpha \NC first \NC second \NC third \NC\NR \stopalpha
\stoptext
...but that does not seem to work. Any way I can achieve this?
Feel free to add an example. It's a wiki!
Sure. Will do, once I have this working.
Thank you, Malte.
Hi Malte
I am trying to define two tabulate styles as follows:
- \setuptabulate[split=yes, bodyfont=small] - \setuptabulate[split=yes]
\definetabulate [alpha] [|l|l|l|] \setuptabulate [alpha] [bodyfont=small]
\definetabulate [beta] [|l|l|] \setuptabulate [beta] [bodyfont=small, split=yes]
\starttext \startalpha \NC first \NC second \NC third \NC\NR \stopalpha
\startbeta \NC lorem \NC ipsum \NC\NR \stopbeta \stoptext
...such that I can just refer to them when I \starttabulate...\stoptabulate somewhere.
To refer to a table, you place it as a float and use the `reference=tab:alphatable` key. Then in the text you refer to the table, see \in{table}[tab:alphatable].
I thought, the command \definetabulate would come in handy here, but I can't work it out and it appears the documentation on that command is pretty scarce.
Feel free to add an example. It's a wiki!
Marco
Am 16.10.2012 um 11:21 schrieb Malte Stien
Any pointers anyone? I need to get this working and am running out of ideas.
\def\startalpha {\dosingleempty\dostartalpha} \def\dostartalpha[#1]#2\stopalpha {\iffirstargument \starttabulate [#1]#2\stoptabulate \else \starttabulate[|l|p|]#2\stoptabulate \fi} \def\startbeta {\dosingleempty\dostartbeta} \def\dostartbeta[#1]#2\stopbeta {\iffirstargument \starttabulate [#1][bodyfont=small]#2\stoptabulate \else \starttabulate[|l|p|][bodyfont=small]#2\stoptabulate \fi} \starttext \startalpha \NC 1 \NC 2 \NC\NR \stopalpha \startalpha[|l|l|l|] \NC 1 \NC 2 \NC 3 \NC\NR \stopalpha \startbeta \NC 1 \NC 2 \NC\NR \stopbeta \startbeta[|l|l|l|] \NC 1 \NC 2 \NC 3 \NC\NR \stopbeta \stoptext Wolfgang
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
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 ----------------------------------------------------------------- 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 -----------------------------------------------------------------
Am 16.10.2012 um 13:08 schrieb Hans Hagen
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. Wolfgang
On 16-10-2012 13:23, Wolfgang Schuster wrote:
Am 16.10.2012 um 13:08 schrieb Hans Hagen
: 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 -----------------------------------------------------------------
Thank you. Yes, that helps. Regards, Malte. On 16/10/2012, at 20:21, Malte Stien wrote:
Any pointers anyone? I need to get this working and am running out of ideas.
Thank you, Malte.
Begin forwarded message:
From: Malte Stien
Date: 15 October 2012 17:03:42 To: ntg-context@ntg.nl Subject: Re: [NTG-context] Need help with \definetabulate Marco,
\definetabulate [alpha] [|l|l|l|] \setuptabulate [alpha] [bodyfont=small]
This does not work for me quite the way I need it to. I am really just after defining the font-size, but I would like to leave the column setup to the user (I am building an environment and that I would like everyone in my team to use to ensure a consistent look-and-feel or all documents). So, ideally, I would like to do this:
\definetabulate [alpha] \setuptabulate [alpha] [bodyfont=small] \starttext[|l|l|l|] \startalpha \NC first \NC second \NC third \NC\NR \stopalpha
\stoptext
...but that does not seem to work. Any way I can achieve this?
Feel free to add an example. It's a wiki!
Sure. Will do, once I have this working.
Thank you, Malte.
Hi Malte
I am trying to define two tabulate styles as follows:
- \setuptabulate[split=yes, bodyfont=small] - \setuptabulate[split=yes]
\definetabulate [alpha] [|l|l|l|] \setuptabulate [alpha] [bodyfont=small]
\definetabulate [beta] [|l|l|] \setuptabulate [beta] [bodyfont=small, split=yes]
\starttext \startalpha \NC first \NC second \NC third \NC\NR \stopalpha
\startbeta \NC lorem \NC ipsum \NC\NR \stopbeta \stoptext
...such that I can just refer to them when I \starttabulate...\stoptabulate somewhere.
To refer to a table, you place it as a float and use the `reference=tab:alphatable` key. Then in the text you refer to the table, see \in{table}[tab:alphatable].
I thought, the command \definetabulate would come in handy here, but I can't work it out and it appears the documentation on that command is pretty scarce.
Feel free to add an example. It's a wiki!
Marco
participants (4)
-
Hans Hagen
-
Malte Stien
-
Sietse Brouwer
-
Wolfgang Schuster