6

我如何鼓励/使 Latex 排版文本的某些部分,以便它全部出现在连续的偶数页、奇数页对页面上?

通过反复试验,\nopagebreak可以被诱使这样做,但是有没有一种策略,Just Works?像samepage环境这样的东西是理想的,但是:

  1. 如果需要在对开页上获取所有文本,将在奇数页上强制分页;
  2. 在环境主体的任何地方最多允许一个分页符,如果不能确保这一点,则会大声失败。
4

2 回答 2

6

您可以组合一个环境,例如

\新环境{双页} {%
  \begingroup\setbox0\vbox\bgroup
}{%
  \egroup
  \ifdim\ht0>\textheight
    \setbox1\vsplit0 到 \textheight
    \cleardoublepage\unvbox1\clearpage
    \ifdim\ht0>\textheight
      \PackageWarning{twopage}{在双页环境中溢出}%
    \fi
    \unvbox0\clearpage
  \别的
    \clearpage\unvbox0\clearpage
  \fi\endgroup
}

如果您想要更嘈杂的失败,请更改\PackageWarning\PackageError\unvboxes 应该允许音符/浮动正常工作 - 如果您不需要,您可以考虑将它们全部更改为\boxes (尽管我对这种行为有点生疏关于\vsplit盒子深度和跳跃,所以这可能会产生有趣的行为,但它可以保证你只需要从第二页底部流出任何额外的东西来获取两页)。

于 2010-03-13T00:28:02.497 回答
3

之间有区别\clearpage\cleardoublepage。通过\cleardoublepage在左侧使用您想要的\clearpage东西之前和在右侧使用您想要的东西之前,您可以强制您正在寻找的布局。

当然,twoside选项是必须的。

于 2010-02-07T17:24:48.313 回答