<div dir="ltr"><div><div>Dobrý večer,<br><br></div>rozdíl je v tom, že \if provádí expanzi, \ifx nikoliv. Jako ukázka poslouží můj maličký soubor truefalse.tex:<br><br>$ cat truefalse.tex                                                                                                                  <br>\def\true{AA}                                                                                                                                     <br>\def\false{AZ}                                                                                                                                    <br>\let\notFalse\true                                                                                                                                <br>\let\notTrue\false                                                                                                                                <br>\if\notTrue                                                                                                                                       <br>  \message{ANO}                                                                                                                                   <br>\else                                                                                                                                             <br>  \if\notFalse                                                                                                                                    <br>    \message{Ano}                                                                                                                                 <br>  \else                                                                                                                                           <br>    \message{Ne}                                                                                                                                  <br>  \fi                                                                                                                                             <br>\fi                                                                                                                                               <br>\bye             <br><br></div>A zde je výstup na konzoli:<br><br>$ tex truefalse.tex                                                                                                                  <br>This is TeX, Version 3.14159265 (TeX Live 2015) (preloaded format=tex)                                                                            <br>(./truefalse.tex Ano )                                                                                                                            <br>No pages of output.                                                                                                                               <br>Transcript written on truefalse.log.  <br><div><div><div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature">Zdeněk Wagner<br><a href="http://ttsm.icpf.cas.cz/team/wagner.shtml" target="_blank">http://ttsm.icpf.cas.cz/team/wagner.shtml</a><br><a href="http://icebearsoft.euweb.cz" target="_blank">http://icebearsoft.euweb.cz</a></div></div>
<br><div class="gmail_quote">Dne 30. září 2015 17:55 Tomas Hala <span dir="ltr"><<a href="mailto:tomas.hala@mendelu.cz" target="_blank">tomas.hala@mendelu.cz</a>></span> napsal(a):<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Ahoj Jardo,<br>
nevím přesně, co řešíš, ale zdá se mi, že základní problém<br>
by mohl být v tom, že příkazy \if (i \ifx) vyžadují dva paramtery.<br>
<br>
Možná by Ti mohlo pomoci toto:<br>
<br>
\starttext<br>
\def\mujproblem{1}<br>
\def\notEOF{\mujproblem 1}<br>
\if\notEOF děláme \else končíme \fi<br>
\stoptext<br>
<br>
Do makra \mujproblem si někde strčíš jedničku, pokud chceš, aby "podmínka"<br>
\notEOF byla true. Makro \notEOF pak bude expandovat na dva tokeny,<br>
při shodě děláš, při neshodě, kterou simuluješ jakoukoliv jinou<br>
jednoznakovou hodnotou, končíš.<br>
<br>
Zdraví<br>
<br>
Tom<br>
<br>
<br>
<br>
Tue, Sep 29, 2015 ve 06:44:09PM +0200 Jaroslav Hajtmar napsal(a):<br>
# Dobrý den.<br>
# Potýkám se s problémem funkčnosti testů v ConTeXtových makrech,<br>
# která jsou umístěna v prostředí tabulek \startxtable ...<br>
# \stopxtable.<br>
# Že je to v ConTeXtu je v tuto chvíli nepodstatné, nicméně nejsem v<br>
# tuto chvíli schopen vyrobit nějaký plainový či latexový minimální<br>
# příklad, kde bych ukázal co nefunguje.<br>
#<br>
# Na důvod nefunkčnosti jsem už zřejmě narazil - viz <a href="http://tex.stackexchange.com/questions/35807/newif-conditional-causing-problem-in-typeout-or-edef" rel="noreferrer" target="_blank">http://tex.stackexchange.com/questions/35807/newif-conditional-causing-problem-in-typeout-or-edef</a><br>
#<br>
# Tam se píše:<br>
# % The problem here is that \testtrue is not expandable and not<br>
# protected and<br>
# % therefore fragile. It is defined as \let\iftrue\iftrue. In an expandable<br>
# % context like \edef or \typeout the \let assignment is ignored, and both<br>
# % if-switches are expanded. Because there is only one \fi (which is<br>
# taken as<br>
# % part of \iftrue) the compiler complains about the missing \fi.<br>
#<br>
# Chci se touto cestou zeptat, zda existuje možnost definovat makra,<br>
# která expandují do hodnot true nebo false tak aby šly jednoduše<br>
# nahradit testy hodnot definovaných pomocí \newif<br>
#<br>
# Něco ve smyslu:<br>
# \def\notEOF{false}<br>
#<br>
# aby se následně dobře vyhodnocoval test: \if\notEOF .... \else ... \fi<br>
#<br>
# Jde mi o to, abych zachoval nějakou vizuální kompatibilitu s testy typu<br>
# \ifnotEOF ... \else ... \fi<br>
#<br>
# Na vysvětlenou dodávám, že pokud bych dané řešení potřeboval sám jen<br>
# pro sebe, tak bych to to vyřešil jinak, nicméně pracuji na jednom<br>
# modulu (většina je psána v lua) a dá se předpokládat, že jej budou<br>
# užívat i jiní uživatelé, takže tomu chci dát jistý rámec.<br>
#<br>
# PS: Pokud jsem úplně mimo, tak se velmi omlouvám.<br>
#<br>
# Zdraví Jarda Hajtmar<br>
#<br>
#<br>
#<br>
# _______________________________________________<br>
# csTeX mailing list<br>
# <a href="mailto:csTeX@cs.felk.cvut.cz">csTeX@cs.felk.cvut.cz</a><br>
# <a href="https://lists.felk.cvut.cz/mailman/listinfo/cstex" rel="noreferrer" target="_blank">https://lists.felk.cvut.cz/mailman/listinfo/cstex</a><br>
<br>
                                         Tomáš Hála<br>
--------------------------------------------------------------------<br>
Mendelova univerzita, Provozně ekonomická fakulta, ústav informatiky<br>
Zemědělská 1, CZ-613 00 Brno,  tel. <a href="tel:%2B420%20545%2013%2022%2028" value="+420545132228">+420 545 13 22 28</a><br>
--------------------------------------------------------------------<br>
<a href="http://akela.mendelu.cz/~thala" rel="noreferrer" target="_blank">http://akela.mendelu.cz/~thala</a><br>
<div class=""><div class="h5">_______________________________________________<br>
csTeX mailing list<br>
<a href="mailto:csTeX@cs.felk.cvut.cz">csTeX@cs.felk.cvut.cz</a><br>
<a href="https://lists.felk.cvut.cz/mailman/listinfo/cstex" rel="noreferrer" target="_blank">https://lists.felk.cvut.cz/mailman/listinfo/cstex</a><br>
</div></div></blockquote></div><br></div></div></div></div></div>