计算每个部分的项目数

计算每个部分的项目数

我有许多具有连续枚举的节和小节(即,如果第一节在 4 处停止,则第二节从 5 开始计数)。如下所示:

\section{Section 1 (Number of Items in section: 3)}
    \begin{enumerate}[resume]
        \item Item 1
        \item Item 2
        \item Item 3
    \end{enumerate}
\section{Section 2 (Number of Items in section: 2)}
    \begin{enumerate}[resume]
        \item Item 4
        \item Item 5
    \end{enumerate}

我想要做的是自动执行“部分中的项目数:x”部分。现在,我正在手动计算项目数,但是有没有办法获取下一节中的项目数并自动更新它?

谢谢!

答案1

对于这个包来说这是一个相当容易的任务xcntperchap(我是这个包的作者,好吧——厚颜无耻的宣传 ;-))

这个包的主要目的是计算enumi每个轨道级别计数器 X(此处)section出现多少个 Y(此处)。

基本用法是\RegisterCounters{section}{enumi,...},第一个参数用于保存跟踪级别,即“结构”级别,第二个参数保存应在此处跟踪的计数器名称的逗号分隔列表enumi(因为这是enumerate第一级计数器)

可以使用多个轨道级别,只需\RegisterCounters对每个轨道级别使用即可,即使跟踪的计数器也可以在多个轨道级别中使用,“簿记”是在后面完成的,不同的轨道级别不会干扰!

所有信息都存储在一个\jobname.cpc文件中,可以在第二次编译运行期间使用以下命令检索该信息:

\ObtainTrackedValue[counter value]{section}{enumi}

指定counter value应跟踪哪个部分编号。省略它,则使用轨道级别计数器的当前值(此处section),如果不想为当前部分值烦恼,这将非常方便。

该软件包相当新,是 的后继者cntperchap,可在CTAN xcntperchap

由于是在后台使用,所以这个resume特性enumitem确实有一个负面的副作用。xcntperchapxassoccnt

\documentclass{article}

\usepackage{xcntperchap}
\usepackage{enumitem}

\RegisterCounters{section}{enumi}

\begin{document}


\section{Section 1 -- with \ObtainTrackedValue{section}{enumi} items}
    \begin{enumerate}[resume]
        \item Item 1
        \item Item 2
        \item Item 3
    \end{enumerate}

\section{Section 2 -- with \ObtainTrackedValue{section}{enumi} items}
    \begin{enumerate}[resume]
        \item Item 4
        \item Item 5
    \end{enumerate}
\end{document}

在此处输入图片描述

相关内容