由于我不明白的原因,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}
而将第一行替换为\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
。