acmart + texlive 2020 中作者列表中的 hbox 过满

acmart + texlive 2020 中作者列表中的 hbox 过满

有一个特殊的溢出水平盒子,似乎源于authornotemark以下 MWE:

\documentclass[sigconf,nonacm]{acmart}
\title{Test}
\author{A}
\authornotemark
\affiliation{\institution{T}\country{R}}
\author{B}
\affiliation{\institution{T}\country{R}}

\begin{document}
\maketitle
\end{document}

(pdf)latex 报告

段落第 11-11 行的 \hbox 过满(宽 4.18721pt)

我在日志中没有找到任何有用的信息。当authornotemark两个作者中的第一个后面有一个时,就会发生水平框溢出;当有多个作者时也会发生这种情况。footnotemark不过,只需在作者姓名中添加一个就可以了。我的本地版本是

This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex)
LaTeX2e <2020-10-01> patch level 2
L3 programming layer <2020-10-27> xparse <2020-03-03>
Document Class: acmart 2020/11/15 v1.75 Typesetting articles for the Association for Computing Machinery
Document Class: amsart 2020/05/29 v2.20.6

背面没有报告水平盒子溢出,

This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex 2020.9.10)  28 NOV 2020 01:21
LaTeX2e <2020-02-02> patch level 5
L3 programming layer <2020-07-17>
Document Class: acmart 2020/04/30 v1.71 Typesetting articles for the Association for Computing Machinery
Document Class: amsart 2020/05/29 v2.20.6

我不知道如何进一步解决这个问题,而且我很好奇为什么会发生这种情况。

答案1

不同之处在于,最新的acmart.cls加载hyperxmp具有一些 acmart 特定的代码,以尝试从特定于类的标题命令解析元数据。

在某一时刻,作者被设置在一个框中,这会导致出现框过满的消息,但这个框只是用于一些内部检查,而不会输出到页面,所以警告实际上与文档中的任何过满输出无关。

通用 hyperxmp 包需要 acmart 特定代码似乎很可疑,但最简单的解决方法是在进行试验排版时消除警告

hyperxmp.sty 的第 596 行是

    \setbox0=\hbox{\addresses}%

将其更改为

   \setbox0=\hbox{\hfuzz\maxdimen\addresses}%

使警告静音。您可以向 hyperxmp 作者提出此问题。

相关内容