编辑

编辑

这个问题很难找到答案,因为它听起来类似于基本的“如何在每一页上开始章节”问题。但这是不同的。Latex 将包含大图、大迷你页、大框等的章节的开头推到下一页,并错误地留下了一个空白页。这是一个 MWE:

\documentclass[
a4paper,
DIV12,
openany,
]{scrbook}
\usepackage{tikz}
\begin{document}
\renewcommand*{\chapterheadstartvskip}{\vspace*{0cm}}
\chapter{Chapter 1: All fine}
\tikz \draw (0,0) rectangle (10cm,5cm);
\chapter{Chapter 2: still ok}
\tikz \draw (0,0) rectangle (10cm,15cm);
\chapter{Chapter 3: I'm on the wrong page}
\tikz \draw (0,0) rectangle (10cm,21cm);
\end{document}

如果您编译它,您将看到第 1 章和第 2 章分别正确地放置在第 1 页和第 2 页,而第 3 章被推到第 4 页。我认为这是因为偶数页上的空间比奇数页上的空间略大?任何关于如何强制第 3 章从第 3 页开始的提示都很好!(这是针对文档的附录,我想在其中放置刚好适合页面的大图(非浮动)。)

谢谢,Jochen

答案1

LaTeX 不允许在章节标题和章节起始内容之间进行分页。当它发现第 3 页空间不足时,它会开始新的一页。

您可以在控制台输出中看到这一点:

chapter 3.
[3]
Overfull \vbox (1.59201pt too high) has occurred while \output is active
[4] (./prawf.aux) )

您可以看到这里有一个坏框:一个太满的框\vbox,对于页面来说有点太高了(1.59201pt太高)。因此,LaTeX 从第 4 页开始。如果要容纳的东西少一点,问题就消失了

\documentclass[
a4paper,
DIV12,
openany,
]{scrbook}
\usepackage{tikz}
\begin{document}
\renewcommand*{\chapterheadstartvskip}{\vspace*{0cm}}
\chapter{Chapter 1: All fine}
\tikz \draw (0,0) rectangle (10cm,5cm);
\chapter{Chapter 2: still ok}
\tikz \draw (0,0) rectangle (10cm,15cm);
\chapter{Chapter 3: I'm on the wrong page}
\tikz \draw (0,0) rectangle (10cm,20cm);
\end{document}

请注意,第 4 页也没有空间容纳 21 厘米高的矩形,但 LaTeX 只能为该框提供一个新页面。它不会回头并意识到这个框是第 3 页上的第一个内容 - 它只会尝试推送到新页面一次。这就像它会产生无限多的空白页一样,因为它会继续将内容推送到下一页和下一页无限地

要了解这不是奇数页和偶数页空间大小不同的问题,请注意

\documentclass[
a4paper,
DIV12,
openany,
]{scrbook}
\usepackage{tikz}
\begin{document}
\renewcommand*{\chapterheadstartvskip}{\vspace*{0cm}}
\chapter{Chapter 1: All fine}
\tikz \draw (0,0) rectangle (10cm,5cm);
\chapter{Chapter 2: still ok}
\tikz \draw (0,0) rectangle (10cm,15cm);
\chapter{Chapter 3: I'm on the wrong page}
\tikz \draw (0,0) rectangle (10cm,20cm);
\chapter{Chapter 4: I'm on the wrong page}
\tikz \draw (0,0) rectangle (10cm,21cm);
\end{document}

生产页,含页空白,并抱怨内容过满\vbox,同样,内容也和第 3 页一样高。

只不过 LaTeX 只知道尝试一次开始新页面的策略。之后,它会尽力排版该框,尽管没有空间。

编辑

针对评论中提出的问题,有几种方法可以解决这个问题。

当然,理想情况下,内容应该与空间相匹配。可以通过放大页面或缩小内容来实现。例如

\resizebox{!}{20.5cm}{\tikz \draw (0,0) rectangle (10cm,21cm);}

可用于将内容高度调整为 20.5 厘米,并按比例缩放宽度。

另一种可能性是撒谎。如果 TeX 被告知内容合适,它会相信你。当然,这并不意味着内容真的合适,你也不会收到任何不合适的警告。所以你需要用这个选项仔细检查输出!有多种方法可以做到这一点。下面是其中一种(不一定是最好的):

\chapter{Chapter 4: I'm on the wrong page}
\vfill\centering\makebox(0,0){\tikz \draw (0,0) rectangle (10cm,21cm);}\vfill

如果内容太大,这种方法效果会不太好,因为它会将内容垂直居中,这意味着它会占用章节标题下方的一点空间,以及页脚的一点空间。但对于稍大的内容,这可能就是您想要的。

相关内容