设置目录的最小页数

设置目录的最小页数

我正在寻找一种方法来设置最低限度目录的页数。

例如,使用 MWE,第一章在第一次运行中从第 3 页开始,第二次运行中从第 14 页开始。知道这一点后,我希望通过插入足够数量的空白页作为目录,使第一章也从第 14 页开始。在第二次运行中,应该插入 0 页(至少在这种情况下,因为我保留了正确的页数)。

背景:

这个错误给我带来了很大的困扰:“pgf 错误:没有已知的名为 i-0 的形状”,但仅在第二次运行时出现。问题似乎与 TOC 使用的页数在运行之间发生变化有关。因此希望可以使用类似这样的方法作为临时修复,直到intersections修复库中的错误。

代码:

\def\NumberOfChapters{10}
\def\NumberOfSections{50}

\documentclass{book}
\usepackage{lipsum}
\usepackage{pgffor}

\begin{document}
\frontmatter
\pagenumbering{roman}
\tableofcontents
\pagenumbering{arabic}
\clearpage

\mainmatter
\foreach \x in {1,...,\NumberOfChapters}{
    \chapter{Chapter \x}
    \foreach \y in {1,...,\NumberOfSections}{
        \section{Section \y}
        \lipsum[1-7]
    }
}
\end{document}

答案1

使用 Bruno 的建议,可以进行以下操作,将第 1 章设置在(绝对)第 14 页,而不管编译如何:

\def\NumberOfChapters{10}
\def\NumberOfSections{50}

\documentclass{book}
\usepackage{lipsum}
\usepackage{pgffor}

\begin{document}
\frontmatter
\pagenumbering{roman}
\tableofcontents
%\pagenumbering{arabic}
\cleardoublepage

\foreach\x in {\value{page},...,14}{\vbox{}\newpage}% Insert up to absolute page #14.

\pagenumbering{arabic}

\mainmatter
\foreach \x in {1,...,\NumberOfChapters}{
    \chapter{Chapter \x}
    \foreach \y in {1,...,\NumberOfSections}{
        \section{Section \y}
        \lipsum[1-7]
    }
}
\end{document}

请注意,使用\pagenumbering会将页面值重置为 1,因此应发出“魔法公式”。

相关内容