13

I wish to do a simple question and answer sheet for my students. I'd like to have something like this:

\section{Differential Equations}

    \begin{questions}

         \begin{question}
              ... Question here ...
         \end{question}

         \begin{answer}
              ... Answer here ...
         \end{answer}

    \end{questions}

I wish to have the environment QUESTIONS to have counters like enumerate. That is, each \begin{question} ... \end{question} should behave just like \item in

\begin{question} 
\item 
\end{question}

The \begin{question} ... \end{question} environment should take "normal" LaTeX commands.

If possible, I'd wish to have deferred printing to print the answers at the end of the document.

I first tried this

\makeatletter
\newtoks\answerscollect
\newcounter{question}
\setcounter{question}{0}
\def\thequestion{{\bfseries{Question \arabic{question}. }}\\}

\def\answer#1{%
\protected@edef\answertmp{%
\the\answerscollect\vspace{.5\baselineskip}\noindent\thequestion#1\par}%
\par\answerscollect=\expandafter{\answertmp}}
\def\printanswers{\the\answerscollect\answerscollect={}}
\def\initbox{\answerscollect={\par\noindent Answers:\par}}

\newcommand{\question}[1]{\stepcounter{question}\par\noindent\thequestion#1}
\makeatother

but it's not behaving the way I'd love the results to be ...

16

Simple use of exam package :

\documentclass{exam}
%\printanswers
\begin{document}

\section{Differential Equations}
\begin{questions}
\question ... Short question here ... \answerline[Short answer]
\question ... Question here ... 

\begin{solution}[.2in]
... Answer here ... 
\end{solution}

\question Long descriptive question about everything

\begin{solutionorlines}[2in]
Long descriptive answer is a long descriptive answer that is a long descriptive answer that is along descriptive answer that is along descriptive answer that is along descriptive answer that is a lie.
\end{solutionorlines}

\question Draw an arrow showing north direction.

\begin{solutionorbox}[2in]
$\uparrow$
\end{solutionorbox}

\end{questions}

\ifprintanswers
Stuff to appear only when answers \textbf{are} being printed.
\else
Stuff to appear only when answers \textbf{are not} being printed.
\fi

\end{document}

Commenting and uncommenting \printanswers yields in one of two following:

1)

Only questions

2)

Questions with answers

I don't see any lack of functionality compared to your example.

  • 1
    At my department, we took exam.cls as a foundation for our own examination class, so that the cover page would always look the same, and it works very well. It is very flexible. – Benjamin McKay Oct 21 '13 at 15:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.