将问题和零件贴上标签,放入储物盒中

将问题和零件贴上标签,放入储物盒中

我正在排版包含关键答案的测试。问题分为多个部分。我想要的是\thequestion只出现一次,并且\thepartno后面没有问题标签。例如:

问题 1 - 这是问题 1 a) 项目 a b) 项目 b

关键答案

问题 1 - a) 项目 ab) 项目 b

此外,当问题没有部分时,它仍然会显示不存在的部分标签。以下是 pdf 输出:

在此处输入图片描述

目前,我正在解决方案环境中排版问题和各部分的标签,因此答案键将首先出现问题的标签,然后出现各部分。

据我所知,这是 WME。

\documentclass{exam}
\usepackage{multicol}
\usepackage{amsmath}

\printanswers
\unframedsolutions

% Storing box
\newbox\allanswers
\setbox\allanswers\hbox{}

% Seting storing box
\renewenvironment{solution}{\noindent\global\setbox\allanswers=\hbox\bgroup%
    \unhbox\allanswers%
        {\textbf{\thequestion-}}%
        {\large\textbf{\thepartno)}}%
        }%
    {\egroup}

% Unboxing stored box
\newcommand{\showallanswers}{\noindent\unhbox\allanswers}


\begin{document}
\begin{multicols}{2}
\setlength{\columnsep}{20pt}
\setlength{\columnseprule}{0.01pt}

\begin{questions}

\question this is question 1

    \begin{parts}
\item item a
        \begin{solution}
        solution of item a
        \end{solution}

\item item b
        \begin{solution}
        solution of item b
        \end{solution}

\item item c
        \begin{solution}
        solution of item c
        \end{solution}
\item item d
        \begin{solution}
        ~solution of item d
        \end{solution}
    \end{parts}

\question this is question 2
        \begin{solution}
         $\dfrac{1}{2}$
         
        \end{solution}

\question this is question 3

    \begin{parts}
\item item a
        \begin{solution}
        solution of item a
        \end{solution}

\item item b
        \begin{solution}
        solution of item b
        \end{solution}

\item item c
        \begin{solution}
        solution of item c
        \end{solution}
\item item d
        \begin{solution}
        solution of item d
        \end{solution}
    \end{parts}
    
\question this is question 4
        \begin{solution}
        this is a long long long long long long long long long long long long long solution for question 4
        \end{solution}

\end{questions}
\end{multicols}

\vskip20pt
\begin{center}
{\Huge \textsc{Answer Key}}
\end{center}

\begin{multicols}{2}
\setlength{\columnsep}{20pt}
\setlength{\columnseprule}{0.01pt}

\showallanswers
\end{multicols}
\end{document}

相关内容