如果我使用\includeonly
包含文件foo2.tex
,\begin{enumerate}[resume]
则不会恢复文件中最后一个枚举环境的编号foo1.tex
。我所做的是运行所有部分,查看最后一项的编号foo1.tex
,然后写入
\begin{enumerate}[resume]
\setcounter{enumi}{6}
有没有办法做到这一点,foo2.tex
而不用在第二个和后续部分中对第一个项目的编号进行硬编码?
答案1
\include
记录当前值enumi
(此处为 3),但enumitem
简历并不想使用它,在包含(或未包含)文件的末尾添加几行即可解决此问题。如果您处理整个文件然后取消注释,\includeonly
您将获得一个单页文档,编号为第 2 页,枚举编号为 4、5、6。
\documentclass{article}
\usepackage{enumitem}
%includeonly{list2}
\begin{document}
\include{list1}
\include{list2}
\end{document}
列表1
\begin{enumerate}
\item aaa
\item aaa
\item aaa
\end{enumerate}
\makeatletter
\immediate\write\@partaux{\gdef\string\enit@resume@enumerate{\enit@resume@enumerate}}
\makeatother
列表 2
\begin{enumerate}[resume]
\item bbb
\item bbb
\item bbb
\end{enumerate}