我目前正在使用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 和高度为AA
9.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
并更改11
为11.5
或其他内容。