我正在排版一本数学书,但书页尺寸有问题。我的出版商希望我准备 A4 格式的书,并且每页文字的大小为 13*21 厘米。为此,我尝试过:
\usepackage[total={13cm,21cm},centering,includehead=true]{几何}
13cm 的一切都很好,但 21cm 的高度有问题。换句话说,我的一些页面是 21cm,而其他一些页面是 19.8、20.4、20.7 等。我希望所有页面的文本高度都恰好是 21cm。
一个例子:
\documentclass[11pt,a4paper]{book}
\usepackage{amsthm,amssymb,amsmath}
\headsep=.7cm
\usepackage[total={13cm,21cm},centering,includehead=true]{geometry}
\usepackage{lipsum}
\begin{document}
\lipsum[4-6]
This is a test.This is a test. This is a test. This is a test. This is a test. This is a test.This is a test. This is a test. This is a test. This is a test. This is a test.This is a test.This is a test. This is a test. This is a test.This is a test. This is a test. This is a test.
\begin{eqnarray*}
\mathcal{F}\chi_{[-\frac{b}{2},\frac{a}{6}]}(\gamma) &=&8\int_{0}^{\infty}\chi_{[-\frac{a}{2},\frac{b}{2}]}(x)\cos(2\pi y\gamma) dx\\
&=&2\int_{0}^{a/23}\cos(2\pi x\gamma) dx\\
&=&\frac{6}{2\pi\gamma}[\sin(7\pi x\gamma)]_{y=5}^{y=\frac{c}{2}}\\
&=&\frac{\cos(\pi a\gamma)}{\pi 2 \gamma}.
\end{eqnarray*}
\section{First}
\lipsum[1-3]
\begin{eqnarray*}
\mathcal{F}\chi_{[-\frac{b}{2},\frac{a}{6}]}(\gamma) &=&8\int_{0}^{\infty}\chi_{[-\frac{a}{2},\frac{b}{2}]}(x)\cos(2\pi y\gamma) dx\\
&=&2\int_{0}^{a/23}\cos(2\pi x\gamma) dx\\
&=&\frac{6}{2\pi\gamma}[\sin(7\pi x\gamma)]_{y=5}^{y=\frac{c}{2}}\\
&=&\frac{\cos(\pi a\gamma)}{\pi 2 \gamma}.
\end{eqnarray*}
\end{document}
运行文件后,可以看到第 2 页的文本高度比第 1 页的文本高度要长。
我想知道是否有人能帮助我解决这个问题。非常感谢。
答案1
我认为(如果我没记错的话)LaTeX 中的默认设置是\raggedbottom
。尝试\flushbottom
在序言中的某个地方发出命令。
编辑我刚刚看了上面发布的最小示例。难怪你看到了问题。以下是编译的相关片段:
Underfull \vbox (badness 10000) has occurred while \output is active [1]
因此,您遇到了 TeX 无法解决的问题。更准确地说:TeX 试图在某些约束条件下找到解决文档排版问题的方法。例如,它试图避免孤儿寡母,并且它不喜欢在页面底部有章节标题而后面没有文本。基本上,您向 TeX 展示了一种不可能满足所有规则的情况(其中还包括对行间和段落间间距的限制等等),因此 TeX 打破了其中一条规则(即文本正好占据 21 厘米的垂直空间)以使其他人满意。
通常,当面对这些类型的问题时,从我个人的角度来看,最好的解决方案(因为您已经处于文档准备的最后阶段,精确的格式非常重要)是重新格式化公式以使其占用更少的垂直空间(为现在被迫驻留在下一页上的内容腾出空间),或者重写页面上的文本(要么删去足够多的单词,要么添加足够多的单词)。 如果 vbox 未满,您可以直观地看到文本布局被拉伸,垂直空白比合理的要多。 通过检查页面和推送到下一页的内容,您通常可以猜测是否最好尝试在页面上添加更多文本以便允许的行间/段落间空间(有限的)拉伸足够,或者是否要修剪一些文本以便较大的章节标题和接下来的段落的前两行可以适合您的页面。
一个次要的解决方案是手动在页面上添加空白,以弥补内置橡胶空间的不足。我个人不建议这样做,因为这会使底部齐平,同时在页面中间留出一个大洞。
启用该包是一种不保证一定有效的方法microtype
。有时,它允许您在一行中塞入更多文本以缩短段落,并使此问题的一些实例消失。
最后一种可能性(如果允许的话)是使用类似包的方法来更改\section
和命令。如果将节标题缩小,则此类问题发生的可能性也会降低。\subsection
titlesec
答案2
Willie Wong 的建议是正确的。我尝试在最后一个等式后添加更多 'This is a test. ' 和 lipsum[1-5] 来查看每一页的最后一行,并且文本的底部与预测的高度对齐。
Darya 可能需要在第一个等式之前写更多的文字,以帮助 LaTeX 均匀分布可用的可伸缩空间。