[Tex/LaTex] Preparing true/false questions with exam class

exampackages

I use the exam document class to prepare my question papers. While it may have some limitations compared to the similar others available, it has nicely fulfilled my purpose so far.

Now, I need to prepare a question with true/false questions and the exam class do not seem to have this feature.

I understand that I can achieve the same effect if I decide to switch to some other class available, but that will need a major overhauling in my setup which may prove to very expensive considering the time I can afford.

One solution could be to use the eqexam style file, and prepare something like the ones shown here (page 3), but the exam document class and the
eqexam style file conflict since they define environments with identical names (parts along with other ones).

What will be your suggestion to prepare true/false questions in the exam class which should have the facility to print answers when I decide to just like the other questions.

Best Answer

I use the following True/False format in the Exam class. It may or may not suit your needs. I find this layout especially convenient for grading. Part of the true/false question format is based on this answer by Gonzalo Medina.

\documentclass[11pt]{exam}

%\printanswers

% Create a True False question format
\newcommand*{\TrueFalse}[1]{%
\ifprintanswers
    \ifthenelse{\equal{#1}{T}}{%
        \textbf{TRUE}\hspace*{14pt}False
    }{
        True\hspace*{14pt}\textbf{FALSE}
    }
\else
    {True}\hspace*{20pt}False
\fi
} 
%% The following code is based on an answer by Gonzalo Medina
%% https://tex.stackexchange.com/a/13106/39194
\newlength\TFlengthA
\newlength\TFlengthB
\settowidth\TFlengthA{\hspace*{1.16in}}
\newcommand\TFQuestion[2]{%
    \setlength\TFlengthB{\linewidth}
    \addtolength\TFlengthB{-\TFlengthA}
    \parbox[t]{\TFlengthA}{\TrueFalse{#1}}\parbox[t]{\TFlengthB}{#2}}

\begin{document}
\begin{questions}
\fullwidth{%
Circle True or False.  Read each statement in original Greek before answering. (2 points each)
}
\question\TFQuestion{F}{This sentence is false.}
\question\TFQuestion{T}{This sentence is false.}
\question\TFQuestion{T}{A man says that he is lying. Is what he says true or false?}

\end{questions}
\end{document}

enter image description here

With \printanswers uncommented, you get the following output.

enter image description here