使用 \includeonly 恢复 enumitem 中的选项

使用 \includeonly 恢复 enumitem 中的选项

如果我使用\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}

相关内容