使用 Springer Nature 模板时,数学模式中分号后出现不寻常的额外空格

使用 Springer Nature 模板时,数学模式中分号后出现不寻常的额外空格

由于我不明白的原因,Springer Nature LaTeX 创作模板(可通过背页以及Springer Nature 网站) 会导致在数学模式下分号后插入额外的空格。

例如,以下 MWE 产生:

\documentclass[sn-mathphys,pdflatex]{sn-jnl}

\begin{document}
\begin{equation}
    (x,y)\quad (x;y)
\end{equation}
\end{document}

Springer Nature 模板分号间距

而将第一行替换为\documentclass{article}可得到预期的间距:

正常间距

是否可以在不直接更改 sn-jnl.cls 文件的情况下覆盖文档中的此行为?具体来说,是否可以采用比例如将;文档中的每个实例替换为{;}或更优雅的方式来执行此操作/!/!;

编辑:正如 @egreg 在他的回答中指出的那样,可以通过禁用包的加载来避免分号后的空格program。 但是,在使用证明环境时,这种方法会以某种方式导致错误(当允许加载包时不会出现错误program): 证明错误

第二次编辑:从下面@egreg的评论来看,通过将以下内容放在前面可以给出令人满意的解决方案\begin{document}

\makeatletter
\disable@package@load{program}{} %prevent program package from loading
\makeatother

\documentclass[sn-mathphys,pdflatex]{sn-jnl} 

\AtBeginDocument{\renewcommand\qedsymbol{\ensuremath{\opensquare}}} %fix class bug with proof environment 

答案1

该类sn-jnl毫无理由地加载了进行愚蠢设置的包program,并导致了该类出现很多问题。

具体来说,该包将分号定义为数学活动,以在数学模式下生成标准分号作为标点符号,后跟一个粗空格。

您可以禁用加载该包program

\makeatletter
\disable@package@load{program}{}
\makeatother

\documentclass[sn-mathphys,pdflatex]{sn-jnl}

\begin{document}

\begin{equation}
    (x,y)\quad (x;y)
\end{equation}

\end{document}

向 Springer 投诉他们至少应该提供一个不加载的选项program

在此处输入图片描述

相关内容