当在课堂中使用 parts 环境时exam
,与\answerline
命令一起,part 编号会列出两次,一次在 part 问题之前,一次在 part 答案行之前。
如果我不需要在零件问题中说任何话,有没有办法抑制在那里排版的零件编号?
如果我根本不使用 parts 环境而只是使用多个\answerline
命令,它们都会用问题编号进行编号。
\documentclass{exam}
\begin{document}
\begin{questions}
\question Name two colors.
\begin{parts}
% nothing to say in the parts
\part\answerline
\part\answerline
\end{parts}
\end{questions}
\end{document}
上面的代码显示了我正在做的事情。我希望命令\answerline
包含 (a) 和 (b),但\part
命令还包含 (a) 和 (b),这是我不想要的。
谢谢!
答案1
将以下两行添加到你的序言中。
\newcommand\stoplabeling{\def\makelabel##1{}}
\newcommand\resumelabeling{\def\makelabel##1{\hss\llap{##1}}}
然后,您可以通过在任何使用 的列表环境中插入这两个命令来启动和停止标记\item
。
\documentclass{exam}
\newcommand\stoplabeling{\def\makelabel##1{}}
\newcommand\resumelabeling{\def\makelabel##1{\hss\llap{##1}}}
\begin{document}
\begin{questions}
\question Name two colors.
\begin{parts}
\stoplabeling
% nothing to say in the parts
\part \answerline
\part \answerline
\resumelabeling
\part Do you know another one? \answerline
\end{parts}
\end{questions}
Also works with other lists, like itemize.
\begin{itemize}
\item Marked item
\stoplabeling
\item Unmarked item with an enumerated list in it.
\begin{enumerate}
\item Marks are again active within every new list.
\end{enumerate}
\item Another unmarked item: on the outer level still no label.
\resumelabeling
\item Marked item, since labeling has been resumed.
\end{itemize}
\end{document}