18135ÀÇ hoze´ÔÀÇ Áú¹®¿¡ ´äº¯À» ÀÛ¼ºÇÏ´Ù°¡ ¸¸µç ½Å±âÇÑ ÄÚµå. \iffooÀÇ Áø¸®°ªÀ» ºÎÁ¤¿¬»ê(NOT)ÇÑ´Ù.
\OprNOT{foo}¸¦ ½ÇÇàÇÑ °á°ú´Â \iffoo°¡ trueÀ̸é \ifNOTfoo¸¦ false·Î, \iffoo°¡ falseÀ̸é \ifNOTfoo¸¦ true·Î ¹Ù²Ù´Â °ÍÀÌ´Ù. ÀϹÝÀûÀÎ »óȲ¿¡¼ \csname if...\endcsname ~\else ~\fi´Â ¹®Á¦¸¦ °Þ°Ô µÇ±â ½¬¿îµ¥ ÀÌ °æ¿ì¿¡´Â µÎ¹ø° \csnameÀÌ ¸ÕÀú Àü°³µÇ¾î \if \else \fi ±¸¹®À» ¿Ï¼ºÇÏ°í ±× ´ÙÀ½¿¡ ¹Ù±ùÂÊ \csname°¡ ¸ÅÅ©·Î¸¦ ¿Ï¼ºÇÑ´Ù.
\newif\iffoo\newif\ifNOTfoo
\def\OprNOT#1{%
\csname \csname if#1\endcsname NOT#1fals\else NOT#1tru\fi e\endcsname
}
\OprNOT{foo}
´ÙÀ½Àº ¿¹Á¦.
\documentclass{article} \newif\ifA\newif\ifNOTA \newif\ifB\newif\ifNOTB \def\OprNOT#1{% \csname \csname if#1\endcsname NOT#1fals\else NOT#1tru\fi e\endcsname } \newcommand\testtest{ \ifA a true \else a false\fi \quad \ifB b true \else b false\fi \OprNOT{A}\OprNOT{B} \ifNOTA not a true \else not a false\fi \quad \OprNOT{A}\OprNOT{B} \ifNOTB not b true \else not b false\fi AND: \ifA\ifB tttt\else ffff\fi\else ffff\fi OR: \ifNOTA\ifNOTB ffff\else tttt\fi\else tttt\fi } \begin{document} NOW: \bigskip \Afalse\Bfalse \testtest \bigskip \Atrue\Btrue \testtest \bigskip \Atrue\Bfalse \testtest \bigskip \Afalse\Btrue \testtest \end{document}