[cstex] Problém s testy definovanými pomocí \newif

Zdenek Wagner zdenek.wagner at gmail.com
Tue Sep 29 20:37:56 CEST 2015


Pokud to dobře chápu, \if provádí plnou expanzi a testuje shodu dvou
následujících tokenů, takže pokud nebudete mít aktivní znaky, při expanzi
na AA máte "true", při expanzi na AB máte "false".

Zdeněk Wagner
http://ttsm.icpf.cas.cz/team/wagner.shtml
http://icebearsoft.euweb.cz

Dne 29. září 2015 18:44 Jaroslav Hajtmar <hajtmar at gyza.cz> napsal(a):

> Dobrý den.
> Potýkám se s problémem funkčnosti testů v ConTeXtových makrech, která jsou
> umístěna v prostředí tabulek \startxtable ... \stopxtable.
> Že je to v ConTeXtu je v tuto chvíli nepodstatné, nicméně nejsem v tuto
> chvíli schopen vyrobit nějaký plainový či latexový minimální příklad, kde
> bych ukázal co nefunguje.
>
> Na důvod nefunkčnosti jsem už zřejmě narazil - viz
> http://tex.stackexchange.com/questions/35807/newif-conditional-causing-problem-in-typeout-or-edef
>
> Tam se píše:
> % The problem here is that \testtrue is not expandable and not protected
> and
> % therefore fragile. It is defined as \let\iftrue\iftrue. In an expandable
> % context like \edef or \typeout the \let assignment is ignored, and both
> % if-switches are expanded. Because there is only one \fi (which is taken
> as
> % part of \iftrue) the compiler complains about the missing \fi.
>
> Chci se touto cestou zeptat, zda existuje možnost definovat makra, která
> expandují do hodnot true nebo false tak aby šly jednoduše nahradit testy
> hodnot definovaných pomocí \newif
>
> Něco ve smyslu:
> \def\notEOF{false}
>
> aby se následně dobře vyhodnocoval test: \if\notEOF .... \else ... \fi
>
> Jde mi o to, abych zachoval nějakou vizuální kompatibilitu s testy typu
> \ifnotEOF ... \else ... \fi
>
> Na vysvětlenou dodávám, že pokud bych dané řešení potřeboval sám jen pro
> sebe, tak bych to to vyřešil jinak, nicméně pracuji na jednom modulu
> (většina je psána v lua) a dá se předpokládat, že jej budou užívat i jiní
> uživatelé, takže tomu chci dát jistý rámec.
>
> PS: Pokud jsem úplně mimo, tak se velmi omlouvám.
>
> Zdraví Jarda Hajtmar
>
>
>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> https://lists.felk.cvut.cz/mailman/listinfo/cstex
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.felk.cvut.cz/pipermail/cstex/attachments/20150929/2fa52d54/attachment-0003.html>


More information about the csTeX mailing list