Am 2005-10-18 um 10:23 schrieb Peter Rolf:
I tried to write a macro for a TABLE line:
\def\TestCmd{\dodoubleempty\doTestCmd} \def\doTestCmd[#1][#2]#3{\bTR\bTD #3 \iffirstargument\hfill (#1)\fi \eTD \bTD \ifsecondargument 3: #2 and #3 \else 2: only #3 \fi \eTD\eTR }
But it never goes into "else" (if #2 is empty, I get "3: and #3")! And it's only with the table commands around. Why? What can I do?
the numbering is not bound to the parameter number; it's just a counter. calling the macro with two arguments -> \iffirstargument is true \ifsecondargument is true \ifthirdargument is false
But why *does it work* without the TABLE commands?? If it would be true (or at least the reason for my problem) what you wrote, the following should work: \def\TestCmd{\dodoubleempty\doTestCmd} \def\doTestCmd[#1][#2]#3{\bTR\bTD #3 \ifsecondargument \iffirstargument\hfill (#1)\fi \eTD \bTD 3(#1.#2.#3) \else \iffirstargument\hfill (#1)\fi \eTD \bTD 2(#1/#2/#3) \fi \eTD\eTR } But there I get only a ! Incomplete \iftrue; all text was ignored after line 63. <inserted text> \fi Grüßlis vom Hraban! --- http://www.fiee.net/texnique/ http://contextgarden.net http://www.cacert.org (I'm an assurer)