Hi,

I have to prepare a template to typeset a document that will have a  
lot of tables of similar kinds repeated across the document. I want to  
put that tables in some kind of templates, so I can use those  
templates over and over. So the idea is to hide to the authors all the  
format details behind the template allowing them to focus on the data  
that has to be filled in those tables (which is the important thing).

So, I would like to define some macros, that allows me to do something like:

\starttableX
   \startSomeField
   Some Field Value...
   \stopSomeField

   \startOtherField
   Other Field Value...
   \stopOtherField
\stoptableX

And the result, should be a table like this:

| Some Field Label:  | Some Field Value...  |
| Other Field Label: | Other Field Value... |

That way I define a template for each table type I'll have in the document.

I'm not having trouble with the tables, but with the macro definition,  
this is my approximation of what I want (which does not work):

\startsetups crudmain
   \long\def\startguiname #1 \stopguiname{\setvariables[crudmain][guiname=#1]}
   \long\def\startclassname #1  
\stopclassname{\setvariables[crudmain][classname=#1]}

GUI Name: \getvariable{crudmain}{guiname}
Class Name: \getvariable{crudmain}{classname}
\stopsetups

\definestartstop[crudmain][commands=\setups{crudmain}]

\startcrudmain
   \startguiname
   Some name here...
   \stopguiname
   \startclassname
   Other name here...
   \stopclassname
\stopcrudmain

At this point I'm getting this error:

! Use of \startguiname doesn't match its definition.

I want the \long\def\startguiname inside the \startsetups /  
\stopsetups to be sure that it will only be called inside the  
\startcrudmain / \stopcrudmain (Cause other tables of different types  
may have fields with the same name). But even considering the previous  
point, if I move the \long\def\startguiname outside the \startsetups /  
\stopsetups definition it does not works, because the  
\getvariable{crudmain}{guiname} just returns blank.

So is it possible to do what I want or something similar? What would  
be a good way to do it? Any advice on the code I've already written?  
This is really getting me crazy, cause context is not like any other  
programming language I'm used to use ;-)

Thanks in Advance
Demián

___________________________________________________________________________________
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  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to