使用 unicode-math 和 hyperref 的一元间距

使用 unicode-math 和 hyperref 的一元间距

我正在使用 TeX Live 2021、2020-01-31 unicode-mathv0.8q 和hyperref2021-06-07 v7.00m 中的 LuaLaTeX 1.13.2。

让我们从

\documentclass{article}
\usepackage[paperwidth=2in, paperheight=1.5in, textwidth=1.5in, textheight=1in]{geometry}
\usepackage{unicode-math}
\pagestyle{empty}
\begin{document}
\begin{equation}
-1
\end{equation}
\begin{equation}
{}-1
\end{equation}
\end{document}

这将排版到下面的文档中;两个方程之间的间距差异是故意的:

更改包含行会\usepackage{unicode-math,hyperref}弄乱一元减号的间距。这只会影响显示数学中的第一个一元符号,而不会影响括号或内联数学中出现的一元符号:

但将其更改为会\usepackage{hyperref,unicode-math}在方程式之间插入额外的垂直空间。这通常不是问题,因为两个方程式之间应该有文本,但这仍然很奇怪:

这似乎是一个问题,因为当软件包列表是和unicode-math的排列时,这两个问题都不会出现。如果改用 XeLaTeX,结论不会改变。有没有修复方法,有没有包含这些软件包的规范顺序?fontspechyperref

答案1

您可以\incr@eqnum按如下方式重新定义。Ulrike 和我正在聊天中考虑这是否是 amsmath 通常可以安全执行的修复方法

\documentclass{article}
\usepackage{amsmath,hyperref}

\makeatletter
\def\incr@eqnum{\ifmmode\mathopen\fi{\refstepcounter{equation}}\let\incr@eqnum\@empty}
\makeatother

\pagestyle{empty}
\begin{document}


\begin{equation}
-1
\end{equation}
\begin{equation}
{}-1
\end{equation}
\end{document}

相关内容