I'm reading TeX by Topic, but in little chunks (rather than from first page to last) and just read the stuff on conditionals. I want to be sure that I understand what's going on when TeX starts skipping stuff. What I've gleaned so far is that in, say, \iffalse ... \fi
then:
TeX doesn't do expansions.
TeX keeps track of
\if...
s to ensure that the\fi
really matches the\iffalse
.
It's that last bit that I'm wanting to make sure that I get straight in my head. To make it a precise question:
What exactly is an \if...
?
One reason for my worry is that I have some pseudo-ifs in my code, where a command starts \if...
but isn't actually an \if
. On the other hand, what if I had a command that didn't start with the three characters \if
but happened to be \let
to an \if
? So, for example, which of the following count as an \if
when the macro (not the definition of it) is used between \iffalse ... \fi
:
\let\ifabc=\ifx
(so, to be clear, what happens in\iffalse ... \ifabc ... \fi
, does the\ifabc
count as an\if
?\def\ifabc{\ifx}
\edef\ifabc{\ifx}
\let\ifabc=\SomePreviouslyDefinedCommandThatIsntAnIf
\let\abc=\ifx