假设我有一个文件test2.tex
,其中包含另一个文件的内容test1.tex
。
这两个文件都是独立文档(即我希望能够test.tex
自行编译)。
test1.tex
包含以下内容:
\documentclass{article}
\begin{document}
\section{Section X}
\end{document}
编译后,它会产生
1 第十节
test2.tex
包含以下内容:
\documentclass{article}
\usepackage{standalone}
\begin{document}
\section{Section 1}
\input{test1}
\section{Section 2}
\end{document}
编译后,它会产生:
1 第 1 节
2 第十节
3 第 2 节
但我想是:
1 第 1 节
1 第十节
2 第 2 节
如何将包含的文件限制在其自己的“环境”中(我不知道在 latex 中这叫什么 - 我只是在学习)。重申一下,我想确保它test1.tex
本身仍然是一个可编译的文件,如果可能的话,我宁愿不修改它。
答案1
据我所知,standalone
它不保留计数器值,它只是将glues
文件放在一起(当然由于包裹\begin{document}...\end{document}
等采取了一些预防措施)
特殊环境在这里没有帮助,因为LaTeX
计数器不是群体安全的。
该包xassoccnt
提供了\BackupCounterValues{section,...}
命令,用于存储列表中给出的计数器的值并重置计数器。之后用于\RestoreAllCounterValues
恢复值。
(我是的作者xassoccnt
,我想提供“备份”列表,即预定义的计数器列表,可以交给宏\BackupCounterValues
。在当前版本中,这还不可能)
test1.tex
\documentclass{article}
\begin{document}
\section{Section X}
\end{document}
驱动文件
\documentclass{article}
\usepackage{standalone}
\usepackage{xassoccnt}
\begin{document}
\section{Section 1}
\BackupCounterValues{section,figure,table} % and perhaps other counters
\input{test1}
\RestoreAllCounterValues
\section{Section 2}
\end{document}