我正在排版 MCQ 试卷。其中有几个问题包含大量信息,学生需要根据这些信息回答以下几个问题,例如:
(in boldface) Use the following information to answer questions 3 to 5.
Here is some information. Use this. This is useful. Lorem ipsum.
我想通过定义一个命令使这变得更容易,该命令允许排字员将问题添加为逗号分隔的列表,如下所示:\useinfo{3,4,5}{Here is some information. Use this. This is useful. Lorem ipsum.}
如果用户可以像 TikZ 列表那样输入逗号分隔的列表,例如\useinfo{3,..,6}{...}
,这应该打印Use the following ... questions 3, 4, 5, and 6.
该命令将把第一个参数中的数字通过管道传输到包\cref{}
中cleveref
,第二个参数将是所需的实际信息,放在线下方Use the following...
并用 parskip 分隔。
现在,这是第一次尝试:
\providecommand{\useinfo}[2]{
\begin{EnvFullwidth}
\textbf{Use the following information to answer \cref*{#1}}.
#2
\end{EnvFullwidth}
}
这种实现方式有两个问题:
- 用户必须手动输入
question@x
(这是由exam
类提供的),而不是像上面提到的那样仅仅输入问题编号。 - 帕斯基普 (parskip) 没有出现。
我该如何修复这个问题,以便用户提供的每个数字在question@
传递给\cref
命令之前都加上一个?