6

嗨 LaTeX 爱好者和 TeX 程序员!

我目前正在为某种应该自动生成的传单开发一个单页文档类。不幸的是,有限的空间无法显示页面上的所有内容,所以我需要完全跳过一些文章(我不想只在传单上打印一篇文章的一半)。

在伪代码中,这就是我正在寻找的命令:

\if_sufficient_vspace_left
    {<big block/minipage with an article>}
    {<otherwise do nothing or something else>}

用例是:

  • 如果页面上留有足够的垂直空间放置以下文章,请完整打印该文章。否则,仅将标题添加到 »Other Articles« 列表中。
  • 如果有足够的垂直空间,则添加一个大广告,否则添加一个较小的广告或什么都不做。

我很确定会有办法获得这个。例如,\leaders在垂直和水平模式下工作的 TeX 命令只有在剩余空间足够的情况下才插入引线。不幸的是,我不想重复任何事情,而且 else 动作也可能很棒。

任何有用命令的关键字和提示将不胜感激。您不必发布完整的解决方案(但您当然可以)。

非常感谢,
克里斯托夫

4

1 回答 1

2

'needspace' 包可能会给你你正在寻找的东西,虽然如果没有足够的空间它会插入一个分页符:

http://ctan.org/pkg/needspace

你会像这样使用它:

\needspace{5\BaseLineSkip}    %  assume you need 5 lines for minipage
    {<big block/minipage with an article>}

如果您不想在空间不足时分页,而是想要更多内容但将小页面保存到下一页,那么您将需要研究 LaTeX 如何处理“浮动”:

http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions

于 2010-06-22T16:58:22.690 回答