在图书类页面顶部的标题前留出空间

在图书类页面顶部的标题前留出空间

另一个问题询问在回忆录类中,是否可以在页面顶部的章节标题前留出空间。书籍类有类似的解决方案吗?

我考虑过的一个解决方法是\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}

至于为什么我要这样做:这是为了网格排版;我宁愿在页面顶部留出空白,也不愿让其余的文本块错位。

相关内容