acmsmall:重音大写字符和行距

acmsmall:重音大写字符和行距

我目前正在使用acm小文檔類別。

我注意到大写重音字符(例如“Å”和“Ä”)会导致行距不均匀。MWE:

\documentclass[prodmode]{acmsmall}
\usepackage[nopar]{lipsum}

\begin{document}
    \lipsum[1] \AA test \lipsum[2] \"Atest \lipsum[2]
\end{document}

此外,该样式强制使用作者-年份的引用格式,这使得在连续文本中无法避免出现此类字符(有些作者的名字中恰好带有重音符号)。

在这种情况下,有什么样的解决办法可以避免难看的行距?


编辑:一个相关的问题:我能否轻松地寻找除了盯着 PDF 文件尝试发现它们之外,我还能找到所有行距不均匀的情况吗?例如,我可以在序言中添加一些特殊代码,以确保 Latex 在出现“太高”的字符(例如方程式)时打印警告吗?

答案1

该类设置了非常紧密的行距(10/11),因此如果没有特制的字体,这些问题是不可避免的。

我准备了两个示例,添加\smash{\AA rno}到示例文章的第一段。

示例 1(可接受)

在此处输入图片描述

示例 2(不可接受)

在此处输入图片描述

人们可以考虑将所有名字都用较小尺寸的大写字母来写,但这需要改变整个作者年份样式机制。

你可以通过以下方式轻松获得不可接受的版本

\setlength{\lineskiplimit}{-\maxdimen}

在你的序言中。

如果您的名字中有少量带重音符号,您可以正常输入;然后查看它们的位置并重新措辞段落,直到上升部和下降部之间不再发生冲突。或者忘记这一点并保留冲突。

更改基线跳过是一种选择,但期刊编辑无法接受。

他们只是不认为人们的名字里可以有重音符号,关心它们是否被正确打印。

答案2

上一行带有 aq

...\hbox(7.40997+2.04993)x396.0, glue set 0.23616

因此深度 2 和高度为AA9.07591pt 的位点的总和大于指定的 11pt 基线跳跃。如果您将基线跳跃更改为 11.1 pt,情况会更均匀。

acmsmall 有

\renewcommand{\normalsize}{%
  \@setfontsize\normalsize\@xpt{11\p@}%
  \abovedisplayskip .5\baselineskip \@plus2\p@ \@minus\p@
  \belowdisplayskip \abovedisplayskip
  \abovedisplayshortskip 6\p@ \@minus 3\p@
  \belowdisplayshortskip 6\p@ \@minus 3\p@
  \let\@listi\@listI
}

您可以在序言中重复该定义,\makeatletter \makeatother并更改1111.5或其他内容。

相关内容