让 tex_file_2 从 tex_file_1 继续计数

让 tex_file_2 从 tex_file_1 继续计数

我有 tex_file_1(正文),其中包含编号的推论、命题等。在 tex_file_2(附录)中,我希望编号从 tex_file_1 停止的地方开始。因此,如果 tex_file_1 中的最后一个命题是命题 4,我希望 tex_file_2 中的第一个命题是命题 5。

我将其各自的序言部分链接如下:

\usepackage{xr-hyper} 
\externaldocument{tex_file_2} % this is in tex_file_1, and vice-versa

我可以对其进行硬编码,例如在 tex_file_2 中我只需输入\setcounter{prop}{5}。但我更希望它具有灵活性,这样如果我更改 tex_file_1 中的命题数量,那么 tex_file_2 中的编号也会自动调整。

答案1

\include通常,您可以使用需要保存所有计数器值以便“跳过”未包含的文件来满足此要求。但在这里您可以借用一些\include内部机制并将列表保存到文件中。

\documentclass{article}

\begin{document}

\section{aa}

\begin{figure}
\caption{fff}
\end{figure}

\begin{equation}
  111
\end{equation}

\makeatletter
\newwrite\savenums
\immediate\openout\savenums=\jobname.num
{\let\@partaux\savenums\let\@elt\@wckptelt \cl@@ckpt}
\makeatother

\end{document}

filename.num运行时,这将写入如下文件

\setcounter{page}{1}
\setcounter{equation}{1}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{section}{1}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{1}
\setcounter{table}{0}

保存每个声明的乳胶计数器的值。

所以你的第二个文件只需\input{filename.num}要从这里开始

相关内容