![任务环境中的自定义计数器](https://linux22.com/image/407201/%E4%BB%BB%E5%8A%A1%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E8%AE%A1%E6%95%B0%E5%99%A8.png)
\NewTasksEnvironment
我正在使用自定义计数器来生成(v.1.1a 包)中的标签tasks
。这是我选择的方法,因为我在其他地方也使用了这个计数器(我需要增加和减少它的值以用于其他目的)。
老实说,我并不介意使用内置计数器tasks
,但我实际上不知道它的名字,而且我不确定在其余代码中摆弄它是否会引起问题。
问题 1\NewTasksEnvironment
如果我使用默认值,使用的内置计数器名称是什么label=\alph*)
?
问题2请参阅下面的 MWE 代码。我使用的选项\refstepcounter
似乎会导致计数器增加label=
\NewTasksEnvironment
两次在每个标签处(参见下面的代码后的输出)。添加第 14 个项目会导致错误,Counter too large
因为它超出了可用的 26 个字母值。如果我删除\refstepcounter
,计数器的值将始终保持为 0,因此看起来好像代码label=(...)
被“调用”了两次。我该如何修复此行为以确保计数器仅增加一次?
顺便说一句,这个(下面的代码)曾经与软件包 v0.9 一起使用tasks
(所以在去年的 v1.0 更新之前)。
代码:
\documentclass{article}
\usepackage{tasks}
\newcounter{subquest}
\setcounter{subquest}{0}
\renewcommand{\thesubquest}{\alph{subquest})}
\NewTasksEnvironment%
[%
label = \refstepcounter{subquest}\thesubquest,%
]%
{lsubquestions}[\squest](1)
\begin{document}
\begin{lsubquestions}
\squest Subquestion 1
\squest Subquestion 2
\squest Subquestion 3
\squest Subquestion 4
\squest Subquestion 5
\squest Subquestion 6
\squest Subquestion 7
\squest Subquestion 8
\squest Subquestion 9
\squest Subquestion 10
\squest Subquestion 11
\squest Subquestion 12
\squest Subquestion 13
%\squest Subquestion 14
\end{lsubquestions}
\end{document}
输出:
b) Subquestion 1
d) Subquestion 2
f) Subquestion 3
h) Subquestion 4
j) Subquestion 5
l) Subquestion 6
n) Subquestion 7
p) Subquestion 8
r) Subquestion 9
t) Subquestion 10
v) Subquestion 11
x) Subquestion 12
z) Subquestion 13
答案1
我的直觉告诉我,这可能是XY问题但我还是要回答。
在 v1.2 中,有两种方法可以使用与默认计数器不同的计数器:
\documentclass{article}
\usepackage{tasks}[2020/03/21]
\usepackage{multicol}
\newcounter{test}
% first version:
\NewTasksEnvironment[
label = \tasksifmeasuringF{\refstepcounter{test}}A\thetest ,
label-width = 13pt
]{testa}
% second version:
\NewTasksEnvironment[
counter = test ,
label = B\arabic* ,
label-width = 13pt
]{testb}
\begin{document}
\begin{multicols}{2}
\begin{testa}
\task one
\task two\label{testa}
\task three
\task four
\end{testa}
\begin{testb}
\task one
\task two
\task three\label{testb}
\task four
\end{testb}
\end{multicols}
See \ref{testa} and \ref{testb}
\end{document}