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)

_______________________________________________
ntg-context mailing list
[email protected]
http://www.ntg.nl/mailman/listinfo/ntg-context

Reply via email to