我计划复制某本书的某个版本。如何让 LaTeX(特别是 LuaTeX)将分页符准确地放置在原版中的位置?
答案1
如果手动分页符应出现在段落内,则段落应以不分页的方式结束,\parfillskip
以避免最后一行不齐:
\begingroup\setlength{\parfillskip}{0pt}\par\endgroup
\noindent
防止新段落以缩进开始。\parskip
新页面开始时,段落分隔空间将自动删除。
\flushbottom
可以通过使用(全局或局部)并\break
在垂直模式下使用 而不是 来防止页面不规则\newpage
。后者会自动添加\vfil
以填充页面。
\baselineskip
还应设置和/或的拉伸组件,\parskip
以使 TeX 能够拉伸页面内容到达页面底部。
\parskip
可以在前言中设置,但\baselineskip
每次更改字体大小时都会被覆盖。此外,内部字体大小设置命令也可以更改为自动添加拉伸组件。
例子:
\documentclass{article}
\usepackage[a5paper,showframe]{geometry}
\usepackage{microtype}
\newcommand*{\midparbreak}{%
\begingroup
\flushbottom
\setlength{\parfillskip}{0pt}% end paragraph without ragged last line
\par % end paragraph
\break % end page
\endgroup
\noindent % start remaining lines of paragraph on new page
% without paragraph indentation
}
\begin{document}
\addtolength{\baselineskip}{0pt plus 20pt}
Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Ut purus elit, vestibulum ut, placerat ac,
adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu
libero, nonummy eget, consectetuer id, vulputate a, magna. Donec
vehicula augue eu neque. Pellentesque habitant morbi tristique
senectus et netus et malesuada fames ac turpis egestas. Mauris ut
leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna
fringilla ultrices. Phasellus eu tellus sit amet tortor gravida
placerat. Integer sapien est, iaculis in, pretium quis, viverra ac,
nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus.
Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla.
Curabitur auctor semper nulla. Donec varius orci eget risus. Duis
nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis
\midparbreak
eget orci sit amet orci dignissim rutrum.
\end{document}