我如何创建一个计数器以便它能够枚举我定义的列表

我如何创建一个计数器以便它能够枚举我定义的列表

我正在使用计数器,如下所示:

\newcounter{sectionnumber}
\setcounter{sectionnumber}{0}
\newcounter{courseday}
\newcommand{\nextsection}{HW/Quiz \stepcounter{sectionnumber}\arabic{sectionnumber}}
\newcommand{\samesection}{Section  \arabic{sectionnumber}}

在我的课程日历中传播章节编号。但是,教科书章节是有编号的。1.1、1.2、1.3、2.1、2.4 等。更糟糕的是,我可能想不按顺序讲解它们,也许还要在其中添加附录。

我如何定义一个部分列表,然后让计数器按顺序枚举该列表?

答案1

目前还不清楚您在这里想要做什么。不过,以下内容可能会为您指明正确的方向:

在此处输入图片描述

\documentclass{article}
\usepackage{arrayjobx}% http://ctan.org/pkg/arrayjobx
\newarray\sectionnumlist\newcounter{sectionnumlist}
\readarray{sectionnumlist}{1.1&1.2&1.3&1.4&2.1&2.4&1.5&2.2&2.3}
\newcommand{\nextsection}{%
  \stepcounter{sectionnumlist}%
  {\bfseries HW/Quiz \sectionnumlist(\thesectionnumlist)}\quad}
\newcommand{\samesection}{%
  {\bfseries Section \sectionnumlist(\thesectionnumlist)}\quad}
\begin{document}
\nextsection Some stuff

\nextsection Some more stuff

\samesection Some stuff

\nextsection Even more stuff

\nextsection Some stuff

\nextsection Some more stuff

\samesection Some stuff

\nextsection Even more stuff

\nextsection Some stuff

\nextsection Some more stuff

\samesection Some stuff

\nextsection Even more stuff
\end{document}

您使用 定义部分编号的序列\readarray{sectionnumlist}{<num>&<num>&<num>&...},然后在使用 时用于循环\nextsection

答案2

看起来这个forarray包可以工作,我通过这个答案找到了它:

https://tex.stackexchange.com/a/73906/37294

这是我当前的实现:尽管它不如上面的答案好。

\newcounter{sectionnumber}
\setcounter{sectionnumber}{0}
\newcounter{courseday}
\newcommand{\nextsection}{%
\stepcounter{sectionnumber}%
\ForEach{,}{%
\ifthenelse{\arabic{sectionnumber}=\the\thislevelcount}{\thislevelitem\ExitForEach}{}%
}%
{3.1,3.2,3.3,4.1,4.2,4.3,4.4,4.5,4.6,App. D, 5.1, 5.2, 5.3, 6.1, 6.2, 6.3, 7.1, 7.2, 7.3, 7.4, 8.1, 8.2, 8.3, 8.4, 9.1, 10.1, 10.2, 10.3, 10.4, 10.5, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 12.1, 12.2, 12.3, 15, 13, 9.2, 9.3}%
}%

相关内容