Latex 2021 中的 PDF 输出比以前的版本更大

Latex 2021 中的 PDF 输出比以前的版本更大

我正在使用 TextMaker (5.04) 或 Overleaf 在 LaTex 中准备手稿。这两个编译器创建的 pdf 输出相同,直到几天前我上传 Latex 2021 以使用最新版本的 siunitx。现在 Textmaker 创建的 pdf 有 43 页,而 overleaf (Tex Live 2020) 有 39 页。当我编译 overleaf (Tex Live 2019) 提供的 eLife 模板时也是如此;从 12 页,现在使用 TexMaker (Tex Live 2021) 有 15 页。 链接至 overleaf 上的生活模板 因此我无法使用 overleaf 进行编译,因为我无法处理 siunitx 的最新版本,并且 Textmaker 的输出在页面方面完全不正确。

我尝试在 \begin{document} 之后使用 \normalsize,但是没有作用。

第一页是来自 overleaf 的 eLife 模板的 pdf 输出(使用 Tex Live 2019 编译),第二页是来自 Tex Maker 的 pdf 输出(使用 Tex Live 2021 编译)第一页从 41 行缩短到 38 行

背面- Tex Live 2019 Tex Maker-Tex Live 2021

答案1

编辑:请参阅解决方案 2 了解真正的原因和解决方案。

在 2021 年发行版中,选项从一个类传递到另一个类(用于实现第一个类)似乎略有改变。

文档类elife.cls使用文档类extarticle来实现,但它使用传递选项的方法,该方法与此新发行版不兼容。因此选项9pt无法正确传递给extarticle,然后它使用默认的10pt

解决方案 1:

进行此更改可以elife.cls解决此问题。

替换这些行

\DeclareOption*{\PassOptionsToClass{\CurrentOption}{extarticle}}
\ExecuteOptions{}
\ProcessOptions\relax
\LoadClass{extarticle}

\ProcessOptions
\LoadClassWithOptions{extarticle}

笔记:这还将传递其他选项,例如linenoextarticle这将导致extarticle对未使用的全局选项的抱怨。这本身是无害的,但我认为这表明 的新代码有问题\PassOptionsToClass。无论如何,将上述内容视为临时解决方案。

解决方案 2

这是更好的解决方案。我发现该babel包现在破坏了选项处理。因此,所有选项处理都应在加载之前完成babel,并且在加载之前执行此操作可能是最安全的。任何包裹。

life.cls移动以 开头的代码片段

\newif\if@reqslineno

并结束于

\LoadClass{extarticle}

之后立马

\ProvidesClass{elife}[2021/03/18, v1.9]

即在加载任何包之前。

相关内容