定义一个新命令来包装 \cref

定义一个新命令来包装 \cref

我正在排版 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}
}

这种实现方式有两个问题:

  1. 用户必须手动输入question@x(这是由exam类提供的),而不是像上面提到的那样仅仅输入问题编号。
  2. 帕斯基普 (parskip) 没有出现。

我该如何修复这个问题,以便用户提供的每个数字在question@传递给\cref命令之前都加上一个?

相关内容