![将问题和零件贴上标签,放入储物盒中](https://linux22.com/image/418795/%E5%B0%86%E9%97%AE%E9%A2%98%E5%92%8C%E9%9B%B6%E4%BB%B6%E8%B4%B4%E4%B8%8A%E6%A0%87%E7%AD%BE%EF%BC%8C%E6%94%BE%E5%85%A5%E5%82%A8%E7%89%A9%E7%9B%92%E4%B8%AD.png)
我正在排版包含关键答案的测试。问题分为多个部分。我想要的是\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}