\ifthenelse a test na (ne)prazdny #1

Ondrej Koala Vacha koala at fi.muni.cz
Thu Sep 19 08:46:13 CEST 2002


On Wed, 18 Sep 2002, oldfrog wrote:

> \newcommand{\test}[1]{
>     \ifthenelse{\equal{#1}{}}
>     {PARAMETR PRAZDNY}{PARAMETR NEPRAZDNY}
> }
>
> Vse fungovalo dobre, dokud nevyvstala potreba predavat
> do parametru nejen jednoduchy text, ale treba i prostredi:
>
> \test{
>     \begin{flushright}tento text je vpravo\end{flushright}}
>
> Tehdy preklad zkolabuje s hlaskou:
> ========hlaseni=========================
> ! Incomplete \iffalse; all text was ignored after line 39.
> <inserted text>
>                 \fi
> <*> pok.tex
>
>
> Otazka: jak elegantne zjistovat "prazdnost" parametru
> predanych nejakemu prikazu?
>
> Dekuji za napady,
> OldFrog.
>


Jedna neelegantni moznost je parametr vysadit do hboxu a testovat sirku.
Neni to 100% reseni, nebot samozrejme jako parametr muze byt predana
kontrukce, ktera nakonec nic nvysadi, nicmene v rade pripadu je to celkem
to, co clovek potrebuje.

\def\test#1{\setbox0=\hbox{#1}\ifdim\wd0=0dd mozna tam neco bylo, ale ted tam neni nic
\else neco tam je\fi

--
Ondrej Koala Vacha






More information about the csTeX mailing list