I try to use nested if-then-else conditions:
\documentclass[10pt]{article}
\usepackage{ifthen}
\newcommand{\printTrueOrFalseA}[1]{%
\ifthenelse{\equal{#1}{true}}{true}{false}%
}
\newcommand{\True}{true}
\newcommand{\False}{false}
\newcommand{\printTrueOrFalseB}[1]{%
\ifx#1\True true\else false\fi%
}
\begin{document}
\printTrueOrFalseA{\printTrueOrFalseA{true}} % produces an error
\printTrueOrFalseB{\printTrueOrFalseB{true}} % produces the unexpected result "false"
\end{document}
When I use the \ifthenelse command, my code produces an error:
! Argument of \equal has an extra }.<inserted text>\par \printTrueOrFalseA{\printTrueOrFalseA{true}}
! Paragraph ended before \equal was complete.<to be read again>\par \printTrueOrFalseA{\printTrueOrFalseA{true}}
I would expect the result true in both cases. Why does it not work as I would expect?
