我正在使用 LaTeX 排版书籍中的法律合同(信托契约),并且为合同的每个主要部分使用章节,但有时会在所述章节末尾留下很大的空白。
我搜索了 stack exchange 的档案,甚至询问了一位法学硕士,但还是没成功。这里的帖子都是关于在空白页上放置某种居中消息,比如“此页故意留空”,但我也需要这样的内容来表示超过 2 英寸高的空白处。
谁能帮我?
答案1
在最初误解了这个问题之后,我修改了我的答案,以便在文档twoside
在新章节之前留下空白页的情况下实现“故意空白”消息(使用宏\gotooddpage
)。我还提供了宏\finishonevenpage
以在文档末尾实现相同的效果。
通过额外使用\pretocmd
和,我可以实现和\AtEndDocument
的自动执行,无需用户干预。\gotooddpage
\finishonevenpage
将消息添加到部分完整的章末页面,但仅当存在显著(>2 英寸)空白空间时,可以使用类似于以下问题的方法实现:测量页面上的剩余空间并将其用于另一页。
\documentclass[twoside]{book}
\usepackage{changepage}% TO MAKE SURE CERTAIN THINGS START ON ODD PAGE #
% MACRO TO GO TO ODD PAGE, INSERTING "INTENTIONALLY LEFT BLANK" IF NEEDED
\newcommand\gotooddpage{\clearpage%
\checkoddpage\ifoddpage\else\blankpage\fi\clearpage}
% MACRO TO FINISH ON EVEN PAGE, INSERTING "INTENTIONALLY LEFT BLANK" IF NEEDED
\newcommand\finishonevenpage{%
\clearpage\checkoddpage\ifoddpage\else\blankpage\fi}
\newcommand{\blankpage}{%
\clearpage
\begin{center}
{\textsc{\rule{0em}{4.5in}Intentionally left blank.}}
\end{center}
}
\def\measurepage{\the\dimexpr\pagegoal-\pagetotal-\baselineskip\relax}
\newcommand\finishthispage{\ifnum\value{chapter}=0\else
\ifdim\measurepage>2in\relax
\vfill\centerline{\textsc{Intentionally left blank}}\vfill\clearpage
\fi%
\fi}
\usepackage{lipsum}
\usepackage{etoolbox}
\pretocmd{\chapter}{\finishthispage\gotooddpage}{}{}
\AtEndDocument{\finishthispage\finishonevenpage}
\begin{document}
\chapter{First Chapter}
\lipsum[1-3] % some text
%\gotooddpage only needed manually if no \pretocmd used on \chapter
\chapter{Second Chapter}
\lipsum[4-10] % some text
\chapter{Third Chapter}
\lipsum[11-20] % some more text
%\finishonevenpage only needed manually if no \AddEndDocument used
\end{document}