我发现LaTeX会自动将垂直方向的间距分散,类似word中竖排版的Justify或者Distributed。这样会导致一个问题,就是在浏览文档的时候,会明显感觉到不同页面的一级标题的位置在跳动。请问如何避免这个问题,能不能让一级标题和文档顶部的距离固定。
为了证明这个现象的存在,我做了如下测试。有两篇文档,1.tex
分别2.tex
是:
% 1.tex
\documentclass[zihao=-4]{ctexbook}
\begin{document}
\chapter{章节}
文本测试文本测试文本测试文本
\section{章节}
文本测试文本测试文本测试文本
\section{章节}
文本测试文本测试文本测试文本
\section{章节}
文本测试文本测试文本测试文本
\section{章节}
文本测试文本测试文本测试文本
\section{章节}
文本测试文本测试文本测试文本
\section{章节}
文本测试文本测试文本测试文本
\end{document}
% 2.tex
\documentclass[zihao=-4]{ctexbook}
\begin{document}
\chapter{章节}
文本测试文本测试文本测试文本
\section{章节}
文本测试文本测试文本测试文本
\section{章节}
文本测试文本测试文本测试文本
\section{章节}
文本测试文本测试文本测试文本
\section{章节}
文本测试文本测试文本测试文本
\section{章节}
文本测试文本测试文本测试文本
文本测试文本测试文本测试文本
文本测试文本测试文本测试文本
文本测试文本测试文本测试文本
文本测试文本测试文本测试文本
文本测试文本测试文本测试文本
\section{章节}
文本测试文本测试文本测试文本
\end{document}
唯一不同的是倒数第二章的内容,这个内容是我在 TeX Live 2021 下用 XeLaTeX 编译的。为了方便比较,我曾经将mutool
和 的前几页合并1.pdf
成2.pdf
一个 pdf,并以双页视图打开。我们可以明显看到,由于底部内容的差异,顶部的内容会移动位置。如果1.tex
和2.tex
文档的内容少于一页,则不会出现这种现象,因为不需要在垂直方向上分散间距。
答案1
原因已解释回答。用户可以通过在序言中添加\raggedbottom
或在两种分页机制之间进行切换。flushbottom
\raggedbottom
是oneside
选项中的默认设置,并且\flushbottom
是twoside
选项中的默认设置。