[Tex/LaTex] Creating Multiple Choice Questions Without using ‘Exam’ Class

articleexam

I am working on a document with class article and I want to have multiple choice questions in it. Is this hard enough to do that I should change it to exam class? If not, how do I accomplish this?

Any and all help is greatly appreciated!

Best Answer

If all you want is to occasionally be able to ask multiple choice questions, then the exam class may be overkill. Here's a complete LaTeX file that defines both a choices environment and a oneparchoices environment, which you can use to list the choices. (I'm assuming here you'd use an enumerate environment to list the questions.)

\documentclass{article}


%--------------------------------------------------------------------
%--------------------------------------------------------------------
\newcounter{choice}
\renewcommand\thechoice{\Alph{choice}}
\newcommand\choicelabel{\thechoice.}

\newenvironment{choices}%
  {\list{\choicelabel}%
     {\usecounter{choice}\def\makelabel##1{\hss\llap{##1}}%
       \settowidth{\leftmargin}{W.\hskip\labelsep\hskip 2.5em}%
       \def\choice{%
         \item
       } % choice
       \labelwidth\leftmargin\advance\labelwidth-\labelsep
       \topsep=0pt
       \partopsep=0pt
     }%
  }%
  {\endlist}

\newenvironment{oneparchoices}%
  {%
    \setcounter{choice}{0}%
    \def\choice{%
      \refstepcounter{choice}%
      \ifnum\value{choice}>1\relax
        \penalty -50\hskip 1em plus 1em\relax
      \fi
      \choicelabel
      \nobreak\enskip
    }% choice
    % If we're continuing the paragraph containing the question,
    % then leave a bit of space before the first choice:
    \ifvmode\else\enskip\fi
    \ignorespaces
  }%
  {}
%--------------------------------------------------------------------
%--------------------------------------------------------------------

%--------------------------------------------------------------------
\begin{document}

\begin{enumerate}
\item One of these things is not like the others; one of these things
  is not the same.  Which one doesn't belong?
  \begin{choices}
    \choice George
    \choice Paul
    \choice John
    \choice Ringo
    \choice Socrates
  \end{choices}
\item What was the color of George Washinton's white horse?
  \begin{choices}
    \choice Green
    \choice Yellow
    \choice White
  \end{choices}
\item One of these things is not like the others; one of these things
  is not the same.  Which one doesn't belong?
  \begin{oneparchoices}
    \choice George
    \choice Paul
    \choice John
    \choice Ringo
    \choice Socrates
  \end{oneparchoices}
\item What was the color of George Washinton's white horse?
  \begin{oneparchoices}
    \choice Green
    \choice Yellow
    \choice White
  \end{oneparchoices}
\item One of these things is not like the others; one of these things
  is not the same.  Which one doesn't belong?

  \begin{oneparchoices}
    \choice George
    \choice Paul
    \choice John
    \choice Ringo
    \choice Socrates
  \end{oneparchoices}
\item What was the color of George Washinton's white horse?

  \begin{oneparchoices}
    \choice Green
    \choice Yellow
    \choice White
  \end{oneparchoices}
\end{enumerate}

\end{document}

If you'd like a smaller indent for the choices environment, you can decrease the \leftmargin.

Related Question