Test prazdneho znaku po Olsakovsku

Jaroslav Hajtmar hajtmar at gyza.cz
Mon Jun 20 20:13:32 CEST 2005


Dobry den.
Jeste jednou diky vsem, kteri si najdou cas pomoci zacatecikum jako jsem
ja. Vase napady a reseni mi byly inspiraci, a proto jsem se rozhodl
trochu s tim zaexperimentovat. Pri prohledavani vyznamu ruznych \if jsem
ve sve TeXovske bibli - TBN pana Olsaka , kterou porad nosim pri sobe a
ze ktere se skoro kazdy den modlim :-) nasel na str. 49 reseni meho
problemu. Zajimave je, ze TBN mam uz mockrat prolistovanou sem a tam,
ale opravdu jsem si to reseni nevybavil - i kdyz pri jeho cteni  jsem si
vzpomel, ze jsem tento priklad  jiz nekolikrat probehl ocima (v mozku
asi nic nezustalo) ...

Takze ke zminovanemu reseni, typicky Olsakovsky genialne jednoduchemu... :

\def\testprazdnehoznaku#1{%
\if:#1:PRAZDNY%
\else NEPRAZDNY%
\fi}

Reseni predpoklada, ze se znak ":" nebude nikdy v testovanem parametru
vyskytovat a da se samozrejme nahradit i jinym znakem.
Vysvetleni v TBN je prozaicky jednoduche... neni-li #1 prazdny pak
urcite : nebude shodna s prvnim tokenem parametru #1, .je-li #1 prazdny,
pak se prvni dvojtecka shoduje s druhou a provede se prislusna vetev makra.

Vsechny zdravim a jeste jednou dekuji.

Jarda Hajtmar






Zdenek Wagner napsal(a):

>On Mon, 20 Jun 2005, Miroslav Balda wrote:
>
>
>
>>Snad uz naposledy. Tuto definici lze malinko modifikovat tak, ze chodi i
>>bez definice pomocneho makra \nic:
>>
>>
>>
>Ja jsem si pouze nebyl jist, jestli je \empty standardne definovano (v
>LaTeXu je).
>
>
>
>>\edef\prazdny{}
>>\edef\plny{text}
>>
>>\def\makro#1
>>{\edef\test{#1}%
>>   \ifx\test\empty
>>        PRAZDNY
>>   \else
>>        PLNY
>>   \fi
>>}
>>
>>\makro{}
>>\makro{\prazdny}
>>\makro{\plny}
>>\makro{text}
>>
>>M. Balda
>>
>>
>>
>
>Zdenek Wagner
>e-mail: wagner at cesnet.cz
>
>see also http://hroch486.icpf.cas.cz/wagner/
>         http://icebearsoft.euweb.cz
>
>
>
>
>---
>avast! Antivirus: Prichozi zprava cista.
>Virova databaze (VPS): 0524-6, 18.06.2005
>Testovano: 20.6.2005 14:37:04
>avast! (c) copyright 2000-2004 ALWIL Software.
>http://www.avast.com
>
>
>
>
>
>



---
avast! Antivirus: Odchozi zprava cista.
Virova databaze (VPS): 0525-0, 20.06.2005
Testovano: 20.6.2005 20:13:10
avast! (c) copyright 2000-2004 ALWIL Software.
http://www.avast.com






More information about the csTeX mailing list