Prüfungsklasse: keine Fragen ausdrucken

Prüfungsklasse: keine Fragen ausdrucken

Angenommen, ich verwende den Prüfungskurs. Es gibt eine Option \printanswerszum Drucken von Lösungen, andernfalls werden Lösungen nicht gedruckt. Ich möchte Fragen unterdrücken und nur die Lösungen drucken. Ist das möglich?

Bearbeiten

Ich habe einen einfachen Workaround hinzugefügt, aber vielleicht gibt es einen besseren Weg, dies zu tun? Hier ist eine Demo mit der modifizierten Prüfungsklasse, gefundenHier.

% Document
\documentclass[12pt]{exam2}

\usepackage[margin=1.0in]{geometry}
\usepackage{fancyhdr}
\usepackage{amsmath}

\pagestyle{fancy}
\lhead{The author}
\rhead{The assignment}

\setcounter{section}{1}
\unframedsolutions

% Preamble
\printquestions
\printanswers

\begin{document}
\numberwithin{question}{section}

\begin{questions}

\begin{quest}
What is $\int_{0}^{5} x^2 dx$?

\end{quest}

\begin{solution}

This integral can be calculated as

\begin{align}
\int_{0}^{5} x^3 &= \Big[ \frac{x^3}{3} \Big|_{0}^{5} \notag \\
&= \frac{5^{3}}{3}
\end{align}

\end{solution}

\begin{quest} 
The next question would go here

\questp{a}{Part a of the question}
\questsp{i}{Subpart of a}
\questspnob{More information}

\end{quest}

\begin{solution}
The next answer would go here

\begin{parts}
\part Parts works in solution environment
\begin{subparts}
\subpart Here is a subpart
\end{subparts}
\end{parts}

\end{solution}

\end{questions}

\end{document}

Fragen und Antworten

% Preamble: 
\printquestions
\printanswers

Fragen und Antworten

Nur Fragen

% Preamble:
\printquestions
%\printanswers

Fragen

Nur Antworten

% Preamble:
%\printquestions
\printanswers

Antworten

Antwort1

Ich habe die folgenden Änderungen an exam.cls vorgenommen.

Zuerst habe ich eine \printquestions-Option hinzugefügt.

\newif\ifprintanswers
\printanswersfalse
\DeclareOption{answers}{\printanswerstrue}
\DeclareOption{noanswers}{\printanswersfalse}

% BEGIN EDIT %
\newif\ifprintquestions
\printquestionsfalse
\DeclareOption{yesquestions}{\printquestionstrue}
\DeclareOption{noquestions}{\printquestionsfalse}
% END EDIT %

Dann später

\def\printanswers{\printanswerstrue}
\def\noprintanswers{\printanswersfalse}

\def\printquestions{\printquestionstrue}

Als nächstes ändere ich die Lösungsumgebung. Wenn ich die Fragen nicht drucke, dann wollte ich, dass die Lösungsumgebung als \question fungiert.

\newenvironment{solution}[1][0pt]{%
  \ifprintquestions % act as a solution
    \@insolutiontrue % cancelled by the end of the environment
    \@addpointsfalse % cancelled by the end of the environment
    \ifprintanswers
      \begingroup
      \Solution@Emphasis
      \begin{TheSolution}%
    \else
      \ifcancelspace
        % Do nothing
      \else
        \par
        \penalty 0
        \vspace*{#1}%
      \fi
      \setbox\z@\vbox\bgroup
    \fi
  \else %act as a question
    \question
  \fi
  }{%
  \ifprintquestions %act as a solution
    \ifprintanswers
      \end{TheSolution}%
      \endgroup
    \else
      \egroup
    \fi
    \fi
  }%

Als nächstes füge ich eine Quest-Umgebung hinzu, die ausgeblendet werden kann. Dies müsste jedoch anstelle von \question verwendet werden.

\newenvironment{quest}[1][0pt]%
  {%
    \ifprintquestions % act as a question
        \question
    \else % don't show the question
        %\par
        %\vspace*{-9mm} %
      \setbox\z@\vbox\bgroup
    \fi
  }{%
    \ifprintquestions
        % don't do anything
    \else % hide the group
      \egroup
    \fi
  }%

Ärgerlich ist, dass die Auflistung von Listen, Teilen und Unterteilen in der von mir definierten Umgebung nicht funktioniert (ich glaube, das liegt daran, dass der \question-Aufruf einige Variablen initialisiert, die ich nicht initialisiere. Aus diesem Grund habe ich einige grundlegende Befehle zur Auflistung von Listen in der tabellarischen Umgebung erstellt).

% PART
\newcommand{\questp}[2]{%
\begin{tabular}{R{0.25cm} p{14.75cm}}
(#1) & #2 \\ 
\end{tabular}

{}
}

\usepackage{array,booktabs,ragged2e}
\newcolumntype{R}[1]{>{\RaggedLeft\arraybackslash}p{#1}}
\newcommand{\questsp}[2]{%
 \hspace*{2em}\begin{tabular}{R{1cm} p{13.15cm}}
(#1) & #2 \\
\end{tabular}

{}
}

% SUBPART
\newcommand{\questssp}[1]{%
\hspace*{8em}\begin{tabular}{p{10.75cm}}
#1 \\ 
\end{tabular}

{}
}

Auf diese Weise könnten noch einige weitere Teilbefehle definiert werden.

\newcommand{\questpnob}[1]{%
\begin{tabular}{R{0.25cm} p{13.15cm}}
 & #1 \\
\end{tabular}

{}
}

\newcommand{\questspnob}[1]{%
 \hspace*{2em}\begin{tabular}{R{1cm} p{13.15cm}}
& #1 \\
\end{tabular}

{}
}

verwandte Informationen