کاراکتر 1
از نگاه تک حرف نیست (catcode شماره ۱۱ نداره بلکه شماره ۱۲ هست) بنابراین نمیتونه بخشی از یک control word باشه. برای اینکه بتونی همچین دستوری داشته باشی باید بهش catcode شماره ۱۱ بدی.
\documentclass{article}
\begin{document}
\begingroup
\catcode`1=11
\newif\if1
\1true
\if1
true
\else
false
\fi
\endgroup
\end{document}
البته تا جای ممکن بهتره catcode رو تغییر نداری بجاش از دستوری مثل \ifi
استفاده کن. راه دیگر بدون تغییر دادن catcode این هست که از دستورات بدوی \csname
و \endcsname
استفاده کنی.
\documentclass{article}
\begin{document}
\expandafter\newif\csname if1\endcsname
\csname 1true\endcsname
\csname if1\endcsname
true
\else
false
\fi
\end{document}