On Tue, 11 Apr 2006 15:56:48 +0200, Hans Hagen wrote:

> olivier Turlier wrote:
>> On Mon, 10 Apr 2006 14:47:17 +0200, Vit Zyka wrote:
>>
>>   
>>> Hans Hagen wrote:
>>>     
>>>> olivier Turlier wrote:
>>>>
>>>>       
>>>>> Hi everybody,
>>>>>
>>>>> In writing a glossary of building terms (approx. 400 entries) in a 
>>>>> natural TABLE.
>>>>>
>>>>> For each letter, A, B, C, I want a screen background, spanning on 2 
>>>>> colomns,
>>>>> with \bf style, etc.  : this leads to a rather long definition that I 
>>>>> don't wish
>>>>> to copy on each new letter row, so I made a little macro to recall this 
>>>>> setup.
>>>>>
>>>>> This system is not working yet, so i beg your help, TIA for any answer
>>>>>
>>>>> %%%
>>>>> \setupcolors[state=start]
>>>>>
>>>>> \starttext
>>>>>
>>>>> \def\Rowa#1{nc=2,background=color,backgroundcolor=screen,style=\bf,
>>>>> frame=off,align={middle,lohi}{#1}}
>>>>>
>>>>> \bTABLE[frame=off,width=broad,split=yes]
>>>>> \setupTABLE[column][1][style=\bf,align={right,lohi},width=3cm]
>>>>> \setupTABLE[column][2][style=\tf,align={lohi}]
>>>>>  
>>>>>         
>>>> you can say odd/even etc instead of 1,3,5 
>>>>       
>>> Thinking about a feature request:
>>>
>>> I very frequentely set every third (3,6,9,...) row with gray background 
>>> to make wide tables well-arranged. I did it by a loop or with a script 
>>> that generates data. Some 'everythird' equivalent to 'even' or 'odd' 
>>> would be more strightforward.
>>>
>>> Vit
>>>     
>>
>> Maybe I was unclear, I just want to be able to recall a certain style for
>> certain rows : the position of the rows is not regular, as in my case,
>> it's for emphasis for each new letter (A,B,C, etc.) of glossary terms.
>>
>> As this def is rather long, i just wanted to make a more readable code. So
>> I tried to put
>> [nc=2,background=color,backgroundcolor=screen,style=\bf,frame=off,align={right,lohi}]
>>
>> in \def\Rowa#1{[nc=2,..]{#1}}
>>
>> and call this def on new letter row by
>>
>> %\bTR  \bTD [command=\Rowa] B \eTD \eTR % NOT WORKING
>> \bTR  \bTD[nc=2,background=color,backgroundcolor=screen,
>>      style=\bf,frame=off,align={right,lohi}command=\Rowa]B \eTD \eTR
>> \bTR  \bTD barre \eTD \bTD \'Element de structure .. \eTD \eTR 
>> \bTR  \bTD barre comprim \eTD \bTD \'Eleme .. \eTD \eTR 
>> \bTR  \bTD [nc=2,background=color,backgroundcolor=screen,
>>      style=\bf,frame=off,align={right,lohi}command=\Rowa]C \eTD \eTR 
>> \bTR \bTD [command=\Rowa] C \eTD \eTR % NOT WORKING
>> \bTR  \bTD c.. \eTD \bTD ... \eTD \eTR
>>
>> This is obviousluy a minor request, since i've already copied this def on
>> each row manually.
>>   
> \starttext
> 
> \unprotect
> 
> \def\defineTABLEsetup
>   {\dodoubleargument\dodefineTABLEsetup}
> 
> \def\dodefineTABLEsetup[#1][#2]%
>   {\setvalue{\@@tbl:set:#1}{#2}}
> 
> \long\def\bTDs[#1]#2\eTDs
>   {\doifdefinedelse{\@@tbl:set:#1}
>     [EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL 
> PROTECTED]@EA[\csname\@@tbl:set:#1\endcsname]#2\eTD}
>     {\bTD[]#2\eTD}}
> 
> \long\def\bTRs[#1]#2\eTRs
>   {\doifdefinedelse{\@@tbl:set:#1}
>     [EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL 
> PROTECTED]@EA[\csname\@@tbl:set:#1\endcsname]#2\eTR}
>     {\bTR[]#2\eTR}}
> 
> \protect
> 
> \defineTABLEsetup [xx] [foregroundcolor=red]
> 
> \setupcolors[state=start]
> 
> \bTABLE
>     \bTR      \bTD      oeps \eTD  \bTD oeps \eTD \eTR
>     \bTR      \bTDs[xx] oeps \eTDs \bTD oeps \eTD \eTR
>     \bTRs[xx] \bTD      oeps \eTD  \bTD oeps \eTD \eTRs
> \eTABLE
> 
> \stoptext
> 

Thanks a lot, it's working like a charm. What complex code before for
getting much more simple code after, in the tables ! It's that kind of
stuff that makes Context attractive, even for an end user like me.


\starttext

\unprotect

\def\defineTABLEsetup
  {\dodoubleargument\dodefineTABLEsetup}

\def\dodefineTABLEsetup[#1][#2]%
  {\setvalue{\@@tbl:set:#1}{#2}}

\long\def\bTDs[#1]#2\eTDs
  {\doifdefinedelse{\@@tbl:set:#1}
    [EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL 
PROTECTED]@EA[\csname\@@tbl:set:#1\endcsname]#2\eTD}
    {\bTD[]#2\eTD}}

\long\def\bTRs[#1]#2\eTRs
  {\doifdefinedelse{\@@tbl:set:#1}
    [EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL 
PROTECTED]@EA[\csname\@@tbl:set:#1\endcsname]#2\eTR}
    {\bTR[]#2\eTR}}

\protect

\defineTABLEsetup [xx] [foregroundcolor=red]

\setupcolors[state=start]

\bTABLE
    \bTR      \bTD      oeps \eTD  \bTD oeps \eTD \eTR
    \bTR      \bTDs[xx] oeps \eTDs \bTD oeps \eTD \eTR
    \bTRs[xx] \bTD      oeps \eTD  \bTD oeps \eTD \eTRs
\eTABLE

\blank[2*big]

\defineTABLEsetup
    [bb]
    
[nc=2,background=color,backgroundcolor=blue,foregroundcolor=white,style=\bf,frame=off,align={right,lohi}]

\bTABLE[frame=off,width=broad,split=yes]
\setupTABLE[column][1][style=\bf,align={right,lohi},width=3cm]
\setupTABLE[column][2][style=\tf,align={lohi}]
%
\bTRs[bb] \bTD  A \eTD \eTRs
%
\bTR  \bTD abscisse \eTD \bTD   Axe horizontal d'un diagramme \eTD \eTR
\bTR  \bTD abside \eTD \bTD     Construction en forme de demi-cercle ou de 
polygone, située derrière le choeur et constituant l'extrémité d'une église. 
\eTD \eTR
\bTR  \bTD action \eTD \bTD     Force ou déformation imposée agissant sur une 
structure. \eTD \eTR
%
\bTRs[bb]  \bTD  B \eTD \eTRs
%
\bTR  \bTD barre \eTD \bTD \'Element de structure, généralement 
longiligne,utilisé par exemple dans les treillis \eTD \eTR
\bTR  \bTD barre comprimée et fléchie \eTD \bTD \'Element de structure soumis à 
une compression excentrée.  \eTD \eTR
\eTABLE

\stoptext

-- 
olivier Turlier


_______________________________________________
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context

Reply via email to