如何在任务环境中跳过一些阿拉伯标签?

如何在任务环境中跳过一些阿拉伯标签?

我正在为一个(数学)问题集编写答案,假设其中包含 10 个问题。为了生成数字序列,我使用了task具有全局设置的环境\NewTasks[label = {\bf \arabic*.},label-width=4ex]{answers}[\a]

例如,假设问题 5、6、7 是“证明”类型的问题。这意味着我不需要在答案中显示它们的答案。因此,我想生成一个从 1 到 4 的序列,然后从 8 到 10 的序列。

我不知道如何跳过这三个特定数字。我正在使用 TexShop 4.58。

我的代码是

\usepackage{tasks}
\usepackage{amsmath, amsthm, amssymb, amsfonts}
\NewTasks[label = {\bf \arabic*.},label-width=4ex]{answers}[\a]
\begin{document}
\begin{answers}(5)
\a (C)
\a (D)
\a (D)
\a (C)
\a (D)
\a (A)
\a (C)
\a (C)
\a (A)
\a (B)
\end{answers}
\end{document}

它产生

输出

请告诉我我应该做哪些改变才能获得期望的输出?

谢谢

答案1

你可以\addtocounter{task}{...}在需要的地方做:

\documentclass{article}
\usepackage{tasks}

\NewTasksEnvironment[label=\arabic*.,label-format=\bfseries,label-width=4ex]{answers}[\a]
  
\begin{document}

\begin{answers}(4)
  \a (A)
  \a (C)
  \a (D) \addtocounter{task}{3}
  \a (C)
\end{answers}

\end{document}

如果您想直接输入要增加的数字:只需进行一些简单的数学运算即可:

\newcommand\gototask[1]{\addtocounter{task}{\numexpr#1-\value{task}\relax}}

\documentclass{article}
\usepackage{tasks}

\NewTasksEnvironment[label=\arabic*.,label-format=\bfseries,label-width=4ex]{answers}[\a]

\newcommand\gototask[1]{\addtocounter{task}{\numexpr#1-\value{task}\relax}}

\begin{document}

\begin{answers}(4)
  \a (A)
  \a (C)
  \a (D) \gototask{6}
  \a (C)
\end{answers}

\end{document}

两个例子都给出了

在此处输入图片描述


顺便说一句:在你的日志中你应该得到

Package tasks Warning: You've tried setting command `\NewTasks ' on line 6.
(tasks)                However, command `\NewTasks ' is deprecated. Please use
(tasks)                command `\NewTasksEnvironment ' instead. Refer to the
(tasks)                manual for details.

或许还可以看看我使用 \textit 或 \it、\bfseries 或 \bf 等有关系吗

相关内容