另一个问题询问在回忆录类中,是否可以在页面顶部的章节标题前留出空间。书籍类有类似的解决方案吗?
我考虑过的一个解决方法是\section
使用以下命令重新定义:
% If no page break, add a baseline skip to counteract following one
\vspace{\baselineskip}
% Take away a baseline skip. This is because an extra line
% is automatically added if the section heading is at the
% beginning of a page
\vspace*{-1\baselineskip}
% Allow for some space before the heading, so that the page
% is filled properly
\vspace*{0pt plus 8pt}
这在大多数情况下都是有效的,但在某些情况下会增加一行额外的空格,这在最小的例子中似乎无法重现。
我正在使用 LuaLaTex,因此使用 lua 脚本的答案是可以接受的。
一个最小的例子是相当通用的,除了我使用这个titlesec
包:
\documentclass[openany,12pt]{book}
\usepackage{lipsum}
\usepackage{fontspec}
\usepackage{titlesec}
\clubpenalty=0
\brokenpenalty=0
\interlinepenalty=0
\widowpenalty=3000
\setlength{\parskip}{0pt}
\titlespacing*{\section}{0pt}{12pt plus 8pt minus 4pt}{6pt}
\flushbottom
\setmainfont{Times New Roman}
\begin{document}
\section{One}
\lipsum
\section{Two}
\lipsum
\end{document}
至于为什么我要这样做:这是为了网格排版;我宁愿在页面顶部留出空白,也不愿让其余的文本块错位。