问题 在LaTeX中强制最大页数


有没有办法让LaTeX提示我希望文档拥有的最大页数,所以LaTeX至少会尝试不超过这个最大值?


6598
2018-04-27 10:58


起源



答案:


不会.LaTeX会在页面级别优化文本,但不会在文档级别优化。因此无法自动将文本压缩到最大页数。但是,有很多方法可以挤压东西以减少页面数量。请参阅此博客文章 “用LaTeX挤压空间”


5
2018-04-27 11:19



链接很好,但把内容放在这里会更好;-) - Joachim Sauer


答案:


不会.LaTeX会在页面级别优化文本,但不会在文档级别优化。因此无法自动将文本压缩到最大页数。但是,有很多方法可以挤压东西以减少页面数量。请参阅此博客文章 “用LaTeX挤压空间”


5
2018-04-27 11:19



链接很好,但把内容放在这里会更好;-) - Joachim Sauer


虽然您无法建立“建议”页面长度,但您可以强制执行页面限制,超出限制的任何页面都不会打印。以下是您可以在序言中创建的命令示例:

\makeatletter
\newcounter{pagecount}
\newcommand{\limitpages}[1]{
    \setcounter{pagecount}{0}%
    \gdef\maxpages{#1}%
    \ifx\latex@outputpage\@undefined\relax%
        \global\let\latex@outputpage\@outputpage%
    \fi%
    \gdef\@outputpage{%
        \addtocounter{pagecount}{1}%
        \ifnum\value{pagecount}>\maxpages\relax%
            % Do not output the page
        \else%
            \latex@outputpage%
        \fi%
    }%
}
\makeatother

4
2018-02-23 20:34



这什么时候有用? - HelloGoodbye
@HelloGoodbye我之前用过这个来制作会议论文的预览PDF(页数限制1)。可以想象你也可以使用它来完成原始海报想要的东西,但你需要做很多编码来弄清楚如何调整不同的间距参数以给出所需的页数然后使用 \@tempswatrue 迫使另一轮文件生成(可能有其他方法强制重新生成,这是我现在唯一知道的)。 - Compholio


看看建议的答案是好的,但你应该问自己为什么要强制LaTeX限制页数。使用LaTeX,您应该专注于内容并保留TeX系统的大部分格式。如果你写的太多,那么学习如何更简洁地重新表达你的单词。试图在LaTeX内部变量中进​​行异常设置可能最终会导致文档不美观。


2
2018-04-27 15:40



这是事实,但没有回答这个问题。 - JF Meier
乳胶通常以明显的方式流动浮子。相同的文本最终可以在高度可变数量的输出页面上结束,尽管在现实世界中使用LaTeX,文档通常具有最大页数要求。如果LaTeX有关于文档可以有多少页面的提示,那么它将是LaTeX目前解决的优化问题中的另一个变量 - 它远非不合理或不现实。不要批评OP。 - arya
@yCalleecaran:在研究领域,大多数会议都有 硬 页面限制。 - Willem Van Onsem