[cstex] Test prázdnosti parametru u makra \long\def

Jan Sustek Jan.Sustek at seznam.cz
Wed May 6 11:47:27 CEST 2009


Dobry den,

nadefinujte si
\long\def\longempty{}
a potom testujte
\ifx\t\longempty ... \else ... \fi

S pozdravem
Jan Sustek

> ------------ Původní zpráva ------------
> Od: "Procházka Lukáš Ing. - Pontex s. r. o." <LPr at pontex.cz>
> Předmět: [cstex] Test prázdnosti parametru u makra \long\def
> Datum: 06.5.2009 11:43:46
> ----------------------------------------
> Zdravím v konferenci,
> 
> potřebuji otestovat, zda je parametr předaný makru prázdný nebo ne.
> 
> Dokud bylo makro ne-\long, vše fungovalo podle představ. Ale deklarací 
> \long se objevil problém, že nedokážu otestovat, zda je parametr 
> prázdný. Přitom \long deklarace je nutná, jelikož makru může být předán 
> odstavec jako parametr.
> 
> Testuji na těchto makrech;
> 
> \def\xxx #1{ ---
>       \def\t{#1}
>       \ifx\t\empty EMPTY \else NOT EMPTY \fi
>       --- \par
> }
> 
> \xxx{}
> \xxx{bbb}
> 
> \long\def\yyy #1{ ---
>       \long\def\t{#1}
>       \ifx\t\empty EMPTY \else NOT EMPTY \fi % Zde je podmínka zřejmě 
> špatně - ale jak správně?
>       --- \par
> }
> 
> \yyy{}
> \yyy{ccc\par ttt}
> 
> 
> Výsledek je:
> 
> —  EMPTY —
> —  NOT EMPTY —
> —  NOT EMPTY —
> —  NOT EMPTY —
> 
> Ale potřeboval bych:
> 
> —  EMPTY —
> —  NOT EMPTY —
> —  EMPTY —
> —  NOT EMPTY —
> 
> Kde dělám chybu?
> 
> Zdravím.
> 
> Lukáš Procházka
> 
> 
> -- 
> 
> Ing. Lukáš Procházka [LPr at pontex.cz <mailto:LPr at pontex.cz>]
> Pontex s. r. o.      [www.pontex.cz <http://www.pontex.cz>] [pontex at pontex.cz
> <mailto:pontex at pontex.cz>]
> Bezová 1658
> 147 14 Praha 4
> 
> Tel: (+420) 244 06 22 38
> Fax: (+420) 244 46 10 38
> 
> 
> 
> 



More information about the csTeX mailing list