乳胶版本之间的间距问题

乳胶版本之间的间距问题

我正在使用用 LaTeX 类编译的文档www.sigmetrics.org/sig-alternate-per.cls。该类以前在 TexLive 2019 中运行良好,但现在我使用的机器装有 TexLive 2022,间距似乎存在问题:

例如,让我考虑以下代码:

\documentclass{sig-alternate-per}

\begin{document}
\section{My section title}
This too close.
\end{document}

如果我使用装有 MacTex 2022 的机器(pdfTeX 3.141592653-2.6-1.40.24 (TeX Live 2022))编译它,它看起来有问题: 编译代码

如果我使用 2019 TexLive(pdfTeX 3.14159265-2.6-1.40.19(TeX Live 2019/dev/Debian)进行编译,它看起来很好: 在此处输入图片描述

有人知道这个错误是来自类本身还是来自 texlive?在我的计算机上,我可以通过添加换行符来修复它,但 (1) 我不喜欢这样,(2) 与通常不使用相同 latex 版本的人共享代码或传输到 arXiv 是有问题的。

答案1

由于不太明显的原因,该班级

\def\section{%
    \@startsection{section}{1}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}% GM
    {4\p@}{\baselineskip 14pt\secfnt\@ucheadtrue}%
}

这是一个愚蠢的错误,而且一直如此。它也有

\newfont{\secfnt}{ptmb at 12pt}

以及几条类似的路线,自 90 年代初引入 NFSS 以来,这些路线一直是错误的。是的,大约 30 年了。

修复特别的问题。其他几个问题可能随处可见。

\documentclass{sig-alternate-per}

\makeatletter
\renewcommand{\secfnt}{\usefont{\encodingdefault}{ptm}{b}{n}\fontsize{12}{14}\selectfont}
\def\section{%
    \@startsection{section}{1}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}% GM
    {15\p@}{\secfnt\@ucheadtrue}%
}
\makeatother

\begin{document}
\section{My section title}
This too close.
\end{document}

在此处输入图片描述

我无法理解为什么课程要将《时代》杂志的标题和《计算机现代》的文本混合在一起。

相关内容