Wie füge ich der Prüfung einen Antwortbogen hinzu? (Prüfungsdokumentklasse)

Wie füge ich der Prüfung einen Antwortbogen hinzu? (Prüfungsdokumentklasse)

Ich möchte einer Prüfung einen Antwortbogen beifügen. Das geht allerdings nur manuell, was zu Konflikten führt, wenn ich auf Dinge verweise ( \crefzum Beispiel mit). Außerdem muss ich die Punkte im Antwortbogen jedes Mal neu anpassen, wenn ich sie in den Fragen ändere. Gibt es eine richtige Möglichkeit, das zu tun?

\documentclass[addpoints, 12pt]{exam}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage[nameinlink]{cleveref}

\pagestyle{headandfoot}
\firstpageheader{\large\bfseries Astronomy Exam\\ \bigskip
\large\bfseries Last Name:\enspace\makebox[1.9in]{\hrulefill}}
{}
{\large\bfseries Univ ID: \makebox[2in]{\hrulefill} \\  \bigskip
 \large\bfseries First Name:\enspace\makebox[2in]{\hrulefill}}
\runningheader{\large\bfseries Last Name:\enspace\makebox[1.9in]{\hrulefill}}
{}
{\large\bfseries First Name:\enspace\makebox[2in]{\hrulefill}}
\firstpagefooter{}{}{}
\runningfooter{}{\thepage}{}

\begin{document}

\begin{center}
\fbox{\fbox{\parbox{5.5in}{\centering
Answer the questions in the spaces provided on the
answer sheets.}}}
\end{center}

\begin{questions}

\question[60] Explain Principle A

\question[40] Explain Principle B

\end{questions}

\newpage

\begin{center}
\fbox{\fbox{\parbox{5.5in}{\centering
Answer sheet}}}
\end{center}
\bigskip

\begin{questions}

\question[60] Answer:

\vspace{\stretch{1}}

\question[40] Answer:

\vspace{\stretch{1}}


\end{questions}

\end{document}

Antwort1

Hallo, ich habe die Antwort von geändertWie kann man LaTeX dazu bringen, an der richtigen Stelle zu expandieren?um eine neue Umgebung für mein Antwortheft zu schaffen.

Hier ist die Lösung mit Ihrem MWE

\documentclass[addpoints, 12pt]{exam}

\pagestyle{headandfoot}
\firstpageheader{\large\bfseries Astronomy Exam\\ \bigskip
\large\bfseries Last Name:\enspace\makebox[1.9in]{\hrulefill}}
{}
{\large\bfseries Univ ID: \makebox[2in]{\hrulefill} \\  \bigskip
 \large\bfseries First Name:\enspace\makebox[2in]{\hrulefill}}
\runningheader{\large\bfseries Last Name:\enspace\makebox[1.9in]{\hrulefill}}
{}
{\large\bfseries First Name:\enspace\makebox[2in]{\hrulefill}}
\firstpagefooter{}{}{}
\runningfooter{}{\thepage}{}

\usepackage{verbatim}

\newenvironment{ex@skripts}[1]{#1}{}

\makeatletter
\newwrite\verbatim@outSkr % Define file. 
\immediate\openout\verbatim@outSkr=\jobname.skr  % Open file for writing. 

\def\skript{
\@bsphack
\let\do\@makeother\dospecials
\catcode`\^^M\active
\def\verbatim@processline{%
\immediate\write\verbatim@outSkr{\the\verbatim@line}}%
\immediate\write\verbatim@outSkr{\string\begin{ex@skripts}{\expandafter\thequestion. (\expandafter\totalpoints \ points) Answer:\string\par}}
\verbatim@start}

\def\endskript{%
\immediate\write\verbatim@outSkr{\string\end{ex@skripts}}
\@esphack}

\newcommand*{\includeSkripts}{%
\immediate\closeout\verbatim@outSkr    % Close file. 
\InputIfFileExists{\jobname.skr}{}{}
\newwrite\verbatim@outSkr % Datei wird definiert 
\immediate\openout\verbatim@outSkr=\jobname.skr  % Open file for writing. 
}
\makeatother

\begin{document}

\begin{center}
\fbox{\fbox{\parbox{5.5in}{\centering
Answer the questions in the spaces provided on the
answer sheets.}}}
\end{center}

\begin{questions}

\question[60] Explain Principle A

\begin{skript}
\vspace{\stretch{1}}
\end{skript}

\question[40] Explain Principle B

\begin{skript}
\vspace{\stretch{1}}
\end{skript}

\end{questions}

\newpage

\begin{center}
\fbox{\fbox{\parbox{5.5in}{\centering
Answer sheet}}}
\end{center}
\bigskip

\includeSkripts

\end{document}

Sie können Skript in etwas Offensichtlicheres wie „Answerbox“ umbenennen. Im Grunde schreibt es einfach den Inhalt der Umgebung in eine Datei und gibt ihn aus, wenn es \includeSkriptsaufgerufen wird.

verwandte Informationen