[cstex] Problém s testy definovanými pomocí \newif
Tomas Hala
tomas.hala at mendelu.cz
Wed Sep 30 17:55:07 CEST 2015
Ahoj Jardo,
nevím přesně, co řešíš, ale zdá se mi, že základní problém
by mohl být v tom, že příkazy \if (i \ifx) vyžadují dva paramtery.
Možná by Ti mohlo pomoci toto:
\starttext
\def\mujproblem{1}
\def\notEOF{\mujproblem 1}
\if\notEOF děláme \else končíme \fi
\stoptext
Do makra \mujproblem si někde strčíš jedničku, pokud chceš, aby "podmínka"
\notEOF byla true. Makro \notEOF pak bude expandovat na dva tokeny,
při shodě děláš, při neshodě, kterou simuluješ jakoukoliv jinou
jednoznakovou hodnotou, končíš.
Zdraví
Tom
Tue, Sep 29, 2015 ve 06:44:09PM +0200 Jaroslav Hajtmar 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
Tomáš Hála
--------------------------------------------------------------------
Mendelova univerzita, Provozně ekonomická fakulta, ústav informatiky
Zemědělská 1, CZ-613 00 Brno, tel. +420 545 13 22 28
--------------------------------------------------------------------
http://akela.mendelu.cz/~thala
More information about the csTeX
mailing list