为什么 \includeonly 命令不会 \stepcounter 省略章节的 chaptercounter?

为什么 \includeonly 命令不会 \stepcounter 省略章节的 chaptercounter?

我非常喜欢这个\includeonly命令,它可以在只打印特定章节的同时保持页数不变。但我想知道为什么在这样的场景中章节计数器没有变化:

\documentclass{report}   
\usepackage{filecontents}

\begin{filecontents}{chapterone.tex}
\chapter{First Title}
Text 
\end{filecontents}

\begin{filecontents}{chaptertwo.tex}
\chapter{Second Title}
Text 
\end{filecontents}

\begin{filecontents}{chapterthree.tex}
\chapter{Third Title}
Text 
\end{filecontents}

\includeonly{chapterone,chapterthree}

\begin{document}
\include{chapterone}
\include{chaptertwo}
%\stepcounter{chapter} % I have to manually step it here to get the right chapter number for three
\include{chapterthree}
\end{document}

如果 LaTeX 浏览第二章的内容以确定跳过多少页才能从正确的页码开始后续章节,那么它为什么不检查/步进章节计数器?还是我使用不当或没有理解某些内容?

答案1

LaTeX 根本不打开未包含的文件,它只打开它们的.aux文件。所有乳胶计数器的值都保存在每个包含文件的辅助文件中。

因此,如果你\includeonly{chaptertwo}这样做\include{chapterone},则将每个声明的乳胶计数器设置为处理结束时的值chapterone.tex 上次包含

因此,您应该定期处理整个文档,\includeonly以便每个\include点保存的值更接近正确值。

相关内容