\ifthenelse a test na (ne)prazdny #1

Michal Měšťan mestan at zce.cz
Thu Sep 19 09:15:23 CEST 2002



oldfrog wrote:
>
> Dobry vecer,

Dobreho dne

>
> definoval jsem si prikazy, ktere si vnitrne zjistuji,
> ktere parametry jim byly pradany prazdne a ktere
> neco obsahuji. Priklad:
>
> \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}}
>

...

Zkuste pouzit conditional.sty, je kratky, tak ho sem dam:

% rcsid = @(#)$Id: conditionals.sty,v 1.2 1997/12/13 20:28:29
crath Exp $
%============Conditionals by Donald
Arseneau==========================
%               (as of 27 July'92)
%  \if\blank  --- checks if parameter is blank (Spaces count as
blank)
%  \if\given  --- checks if parameter is not blank: like
\ifblank\else
%  \if\naught --- checks if parameter is null (spaces are NOT
null)
{\catcode`\!=8 % funny catcode so ! will be a delimiter
%
\long\gdef\given#1{\fi\Ifbl at nk#1@@@\empty!}
\long\gdef\blank#1{\fi\Ifbl at nk#1@@..!}% if null or spaces
\long\gdef\naught#1{\IfN at Ught#1* {#1}!}% if null
\long\gdef\Ifbl at nk#1#2@#3#4!{\ifx#3#4}
\long\gdef\IfN at Ught#1 #2!{\blank{#2}}
}
%=====================================================================

jestli bude "odolny" Vasim pozadavkum nevim, takto jsem ho zatim
nepouzival.


Michal
--
    ^(w)^.

mailto:Wohnivec at iol.cz
P. S. doporucuji odpovidat sem, jinak se muze stat, ze reakce na
majlik bude nekdy az tydny...





More information about the csTeX mailing list