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