Hello ConTeXist, I want my macro to act differently inside \bTABLE ... \eTABLE environment and otherwise outside of that environment. Is there any sign (flag) which can determine whether my macro run inside or outside the \bTABLE .. \eTABLE environment? Or do I have two similar versions of my macros (one for the table environment and the other for normal environment) Explanation: To my macro work, I must have already expanded values inside table environment... Thanx Jaroslav Hajtmar
Am 21.11.2010 um 15:06 schrieb Jaroslav Hajtmar:
Hello ConTeXist,
I want my macro to act differently inside \bTABLE ... \eTABLE environment and otherwise outside of that environment. Is there any sign (flag) which can determine whether my macro run inside or outside the \bTABLE .. \eTABLE environment? Or do I have two similar versions of my macros (one for the table environment and the other for normal environment)
\ifintable but this is not available for tabulate, another alternative is to use \iftrialtypesetting
Explanation: To my macro work, I must have already expanded values inside table environment...
In this case you have to expand the whole table before it’s processed, e.g. \bTABLE \bTR \expanded{\bTD ... \eTD} \eTR \eTABLE Wolfgang
Thanx Wolfgang! It works fine now ... it is great... I don't found (by google) any more information about \ifintable or \iftrialtypesetting flags. Can I find anywhere more information about them? I have now still one similar question. Is there any flag which indicate whether to use \expanded macro? I want to checked using the \expanded{} macro as input parameter of my own macros. for example: \def\tbline{\expanded{\bTR\bTD \myfirstcolumn \eTD\eTR}} \mytablerow{\tbline} \def\mytablerow#1{ ... I want testing here, if #1 contain \expanded{} macro ... } Thanx Jaroslav Dne 21.11.2010 15:32, Wolfgang Schuster napsal(a):
Am 21.11.2010 um 15:06 schrieb Jaroslav Hajtmar:
Hello ConTeXist,
I want my macro to act differently inside \bTABLE ... \eTABLE environment and otherwise outside of that environment. Is there any sign (flag) which can determine whether my macro run inside or outside the \bTABLE .. \eTABLE environment? Or do I have two similar versions of my macros (one for the table environment and the other for normal environment)
\ifintable but this is not available for tabulate, another alternative is to use \iftrialtypesetting
Explanation: To my macro work, I must have already expanded values inside table environment...
In this case you have to expand the whole table before it’s processed, e.g.
\bTABLE \bTR \expanded{\bTD ... \eTD} \eTR \eTABLE
Wolfgang
Am 22.11.2010 um 11:06 schrieb Jaroslav Hajtmar:
Thanx Wolfgang! It works fine now ... it is great... I don't found (by google) any more information about \ifintable or \iftrialtypesetting flags. Can I find anywhere more information about them?
They’re defined with \newif\iftable and \newif\iftrialtypesetting. You can use them like \ifintable Yes, I’m in a table. \else No, I’m not in a table. \fi
I have now still one similar question. Is there any flag which indicate whether to use \expanded macro? I want to checked using the \expanded{} macro as input parameter of my own macros.
for example:
\def\tbline{\expanded{\bTR\bTD \myfirstcolumn \eTD\eTR}} \mytablerow{\tbline}
\def\mytablerow#1{ ... I want testing here, if #1 contain \expanded{} macro ... }
\def\mytablerow#1% {\doifinstringelse{expanded}{\detokenize{#1}} {YES} {NO}} Are you sure you need such complicated tests, wouldn’t it be better to write a robust macro which works whether one of these conditions is true or false. Wolfgang
Thanx for quick response, my notices are in body of this mail ... Dne 22.11.2010 11:21, Wolfgang Schuster napsal(a):
Am 22.11.2010 um 11:06 schrieb Jaroslav Hajtmar:
Thanx Wolfgang! It works fine now ... it is great... I don't found (by google) any more information about \ifintable or \iftrialtypesetting flags. Can I find anywhere more information about them?
They’re defined with \newif\iftable and \newif\iftrialtypesetting. You can use them like
\ifintable Yes, I’m in a table. \else No, I’m not in a table. \fi
Yes I was understand ... I was more a matter of where and how to use these flags, etc ... For example I do not know where to set (in which the environment) \iftrialtypesetting flag to true value etc... No more information I get when I googling...
I have now still one similar question. Is there any flag which indicate whether to use \expanded macro? I want to checked using the \expanded{} macro as input parameter of my own macros.
for example:
\def\tbline{\expanded{\bTR\bTD \myfirstcolumn \eTD\eTR}} \mytablerow{\tbline}
\def\mytablerow#1{ ... I want testing here, if #1 contain \expanded{} macro ... }
\def\mytablerow#1% {\doifinstringelse{expanded}{\detokenize{#1}} {YES} {NO}}
Are you sure you need such complicated tests, wouldn’t it be better to write a robust macro which works whether one of these conditions is true or false.
Great .. Main reason of my questions is just, that I am creating own module, which has contain robust macros, which should be solving both cases ... Once again thank you very much Jaroslav
Wolfgang
Am 22.11.2010 um 11:55 schrieb Jaroslav Hajtmar:
\ifintable Yes, I’m in a table. \else No, I’m not in a table. \fi
Yes I was understand ... I was more a matter of where and how to use these flags, etc ... For example I do not know where to set (in which the environment) \iftrialtypesetting flag to true value etc... No more information I get when I googling...
The \iftrialtypesetting and \iftable values are set by context, you can use them to test whether you’re in a table or if context does currently performs trialtypesetting (happens in natural table to get the maximum values for the rowheight and columnwidth)
Great .. Main reason of my questions is just, that I am creating own module, which has contain robust macros, which should be solving both cases ...
For these cases \iftriatypesetting can be usefull but testing for \expanded isn’t necessary with a well written macro. Wolfgang
participants (2)
-
Jaroslav Hajtmar
-
Wolfgang Schuster