Warum führt der Befehl \includeonly keinen \stepcounter für den Kapitelzähler für ausgelassene Kapitel aus?

Warum führt der Befehl \includeonly keinen \stepcounter für den Kapitelzähler für ausgelassene Kapitel aus?

Ich bin ein großer Fan des \includeonlyBefehls, die Seitenanzahl beizubehalten und gleichzeitig nur bestimmte Kapitel zu drucken. Aber ich frage mich, warum die Kapitelzähler in einem Szenario wie diesem nicht schrittweise erhöht werden:

\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}

Wenn LaTeX den Inhalt von Kapitel zwei durchgeht, um zu bestimmen, wie viele Seiten es überspringt, um bei der richtigen Zahl für nachfolgende Kapitel zu beginnen, gibt es dann einen Grund, warum es die Kapitelzähler nicht überprüft/hochzählt? Oder verwende ich es falsch oder habe etwas nicht verstanden?

Antwort1

LaTeX öffnet die nicht eingeschlossenen Dateien überhaupt nicht, sondern öffnet nur deren .auxDatei. Die Werte aller Latex-Zähler werden in der AUX-Datei jeder eingeschlossenen Datei gespeichert.

Wenn Sie \includeonly{chaptertwo}dies tun \include{chapterone}, wird jeder deklarierte Latex-Zähler auf die Werte gesetzt, die er am Ende der Verarbeitung hattechapterone.tex das letzte Mal war das enthalten.

Daher sollten Sie das gesamte Dokument in regelmäßigen Abständen ohne weitere Verarbeitung verarbeiten, \includeonlydamit die gespeicherten Werte an jedem \includePunkt näher an den richtigen Werten liegen.

verwandte Informationen