在开展一个联合项目时,我和我的合作伙伴发现,使用相同的 latex 源,我们得到的 PDF 输出却有很大差异。更具体地说,今年 NeurIPS 2021 会议的示例 .tex(和 .sty)文件已经出现了这种情况:https://neurips.cc/Conferences/2021/PaperInformation/StyleFiles。在 Overleaf 上编译示例 .tex 文件时,我获得了与组织者提供的完全相同的 pdf 输出,长度为 5.5 页(https://media.neurips.cc/Conferences/NeurIPS2021/Styles/neurips_2021.pdf)。当我在本地系统上编译同一个文件(使用相同的样式文件)时,结果却长了半页,占满了整整6页。
以下是一些观察结果:换行似乎发生在相同的位置。相反,在我自己的系统上编译的文件中,所有垂直空间似乎都大一些。没有一个特定的对象需要更多空间。相反,看起来每一行都需要更多空间。但是,字体大小本身是相同的。此外,文本宽度和文本高度以及纸张尺寸(信纸)似乎也相同。
即使在我的本地系统上在 MikTex 和 TexLive 之间切换也无法解决问题。
由于 NeurIPS 对页数有严格的限制,因此文件是否长半页至关重要。
非常感谢您的帮助!谢谢!
答案1
\newgeometry
该包在 a 中使用了稍微不寻常的调用,\AtBeginDocument
我认为它受到了最近 latex 版本中钩子代码合理化的影响。您可以指示 latex 更早地应用它,这样基线就不会被覆盖,只需更改包的第 128 行即可,因此它看起来像
% set page geometry
\ifx\DeclareHookRule\@undefined\else
\DeclareHookRule{begindocument}{geometry}{before}{.}
\fi
\usepackage[verbose=true,letterpaper]{geometry}
其中\DeclareHookRule
是针对当前乳胶的,而\ifx
测试是跳过旧乳胶的那个。
您可以向会议组织者报告此事。
答案2
我没有足够的声誉来发表评论,但作为该软件包的作者,我想解释一下这样做的理由\newgeometry
——\AtBeginDocument
这是为了阻止作者“作弊”并改变其序言中的页面几何形状。
我将联系程序主席,并要求将接受的答案中的修复合并到样式文件中,并在照相排版截止日期之前推送给作者。
(主持人可以随意将其转换为对已接受答案的评论。)