![使用自定义练习布局的考试类别时出错:“出现问题 - 可能缺少\item”](https://linux22.com/image/472000/%E4%BD%BF%E7%94%A8%E8%87%AA%E5%AE%9A%E4%B9%89%E7%BB%83%E4%B9%A0%E5%B8%83%E5%B1%80%E7%9A%84%E8%80%83%E8%AF%95%E7%B1%BB%E5%88%AB%E6%97%B6%E5%87%BA%E9%94%99%EF%BC%9A%E2%80%9C%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98%20-%20%E5%8F%AF%E8%83%BD%E7%BC%BA%E5%B0%91%5Citem%E2%80%9D.png)
为了生成好看的考试文档,我通常会使用一些自定义的命令,将命令转化\section
为练习标题,然后在需要的时候使用该\uplevel
命令进行练习介绍。
也许这一切都像把我的灵魂卖给了魔鬼,但它工作得很好,直到有一天我想在最先练习。例如,以下最小工作示例的编译将停止在Something's wrong--perhaps a missing \item
,除非之前的练习,没有列表环境插入(例如,取消注释前面的几行):
\documentclass{exam}
\newcounter{ctr_exercises}
\newcommand{\exercise}[1]{
\refstepcounter{ctr_exercises}
\section*{Exercise \arabic{ctr_exercises}~\hrulefill~{#1}}}
\begin{document}
\begin{questions}
% \exercise{A preliminary exercise}
%
% \question How are you?
\exercise{Main exercise}
\uplevel{Some introduction with a list environment:
\begin{itemize}
\item item \#1.
\end{itemize}
}
\question A dreadful question.
\end{questions}
\end{document}
我该怎么做才能允许所有练习的列表环境?
我是否应该考虑撤回我的定制并更严格地遵循考试类文档?但是,什么是最接近我未注释的 MWE 的等价物,仅包含“授权”命令?(我已阅读了整个文档,但从未找到令我满意的东西)
答案1
通过移动\begin{questions}
\documentclass{exam}
\newcounter{ctr_exercises}
\newcommand{\exercise}[1]{
\refstepcounter{ctr_exercises}
\section*{Exercise \arabic{ctr_exercises}~\hrulefill~{#1}}}
\begin{document}
\exercise{Main exercise}
\uplevel{itemize outside the uplevel}
\begin{itemize}
\item item \#1.
\end{itemize}
\begin{questions}
\question A dreadful question.
\end{questions}
\exercise{second exercise}
\uplevel{itemize in the uplevel:
\begin{itemize}
\item item \#1.
\end{itemize}}
\begin{questions}
\question A dreadful question.
\end{questions}
\end{document}
答案2
请注意,questions 是一个列表,可能与 itemize 冲突。您可以将 itemize 放在 questions 环境之外的保存框中,或者停止并重新启动 questions。
\documentclass{exam}
\newcounter{ctr_exercises}
\newcommand{\exercise}[1]{
\refstepcounter{ctr_exercises}
\section*{Exercise \arabic{ctr_exercises}~\hrulefill~{#1}}}
\newsavebox{\tempbox}
\begin{document}
\savebox{\tempbox}{\begin{minipage}{\linewidth}% more than one line
\exercise{Main exercise}
\begin{itemize}
\item item \#1.
\end{itemize}
\end{minipage}}
\begin{questions}
% \exercise{A preliminary exercise}
%
% \question How are you?
\fullwidth{\usebox\tempbox}
\question A dreadful question.
\end{questions}
\edef\savequestion{\arabic{question}}
\begin{questions}
\setcounter{question}{\savequestion}%
\question Continue numbers.
\end{questions}
\end{document}