当尝试在章节标题下方直接添加大图像时,图像和标题会被绘制到下一偶数页。这样,第一页就是空白的。但是,我想从奇数页开始每一章,并防止出现空白页。
如何强制将标题和(过)大的数字绘制在第一页?问题针对的是数字,因为这是最简单的浮动,但我特别感兴趣的是标题下方的其他浮动,例如 sidewaystables (如何修复在章节标题正下方使用 sidewaystable 旋转表格后出现的问题?)我提出了一个新问题,因为这个问题比我最初预想的更为普遍。
附上一个最小示例:
\documentclass[openright,
liststotoc,
]{scrbook}[2007/12/24]
\usepackage{graphicx}
\begin{document}
\chapter{Big Pic Chapter}
\includegraphics{big_pic}
\end{document}
答案1
分页以异步方式进行。TeX 排版整个段落并将其放在“最近贡献列表”中,并计算其所在页面已占用多少空间。当排版段落溢出可用空间时,TeX 会将最近贡献移至主垂直列表并调用页面构建器进行操作。
粗略地说,页面构建器检查主垂直列表并找到不会溢出页面可用空间的最佳可行分页点;然后使用它进行分页,调用输出例程,从主垂直列表中移除已完成的页面并将剩余内容放回到最近的贡献列表中,从下一段开始恢复排版。
由于浮动和脚注,该过程实际上更加复杂,但这是一般原则。
就你的情况而言,不章节标题行与行之间以及标题与后面文本之间都不能进行分页(类似于章节标题与后面文本的前两行之间从未分开的情况)。因此,当段落由大图组成时(TeX 知道其他任何事情,因此图片确实形成了一个段落),TeX 意识到它包含的文本多于填满一页,因此它会调用页面构建器。
然而,它找到的唯一可行的断点仅在章节标题之前(准确地说,是一种惩罚)。因此,将输出一个未满的空白页(输出例程附加页码),并将材料放回到最近贡献列表中。现在有不可行的分页符(因为章节标题之前的惩罚已经被使用并丢弃)直到大图之后,这样就使用了一个并且发送了一个过满的页面,因为没有其他事情可做。
答案2
答案已经出现。稍微修改了代码;
\documentclass[openright,
liststotoc,
]{scrbook}[2007/12/24]
\usepackage{graphicx}
\usepackage[no-math]{fontspec}
\usepackage{xunicode,xcolor}
\usepackage{hyperref,titlesec,scalefnt}
\titleformat{\chapter}[display]%
{\relax\huge\color{blue}}%
{\Huge\raggedleft{\textcolor{blue!25}{\scalefont{5}\includegraphics[width=0.30\textwidth]{albt}\thechapter}}}{-50pt}{}
\titlespacing{\chapter}{0pt}{\baselineskip}{\baselineskip}
\begin{document}
\chapter{Big Pic Chapter}
\appendix
\chapter{Big Pic Chapter}
\end{document}