Unicode-math 使用 luatex 删除词汇表符号(或超链接)的字距调整

Unicode-math 使用 luatex 删除词汇表符号(或超链接)的字距调整

我在使用 unicode-math、词汇表和 hyperref 时遇到字距消失的问题。如果不以某种方式更正,就会产生很多难看的间距。我尝试通过添加到\mkern2mu词汇表条目来手动更正字距,但是这会在其他地方产生难看的间距。有一个可选参数 \gls{}[] 可以帮助解决这个问题,但这仅在以下符号属于该条目时才有用,如果后面有分隔符(如 MWE 中所示),则情况并非如此。如果没有使用 unicode-math、没有使用 hyperref 或使用 xelatex 而不是 lualatex,则此 MWE 有效。有没有办法让它在带有 unicode-math 和 hyperref 的 lualatex 中工作?

梅威瑟:

% !TeX program = lualatex

\documentclass{scrartcl}

\usepackage{unicode-math}   % Comment out to make it work correctly
\usepackage{fontspec}
\usepackage[colorlinks]{hyperref}

\usepackage[symbols]{glossaries-extra} % indices
\makeglossaries % Glossar erstellen


\newglossaryentry{sym:I}{type = symbols, name = {\ensuremath{I}}, description = {intensity}}

\usepackage{lua-visual-debug}
\begin{document}
\printsymbols
\begin{align}
    &I(\lambda)|\\
    &\gls{sym:I}[(]\lambda)|\\
    &\gls{sym:I}(\lambda)|
\end{align}
\end{document}

我发现了一个类似的问题,可能相关,但没有给我提供解决方案: 数学模式下超链接的正确字距调整

答案1

字距调整这个词用错了。字距调整是在文本模式下发生的,而不是在数学中发生的。你在这里缺少的空格是 I 后面斜体校正的字距。如果你编译这个

\documentclass{article}
\usepackage{unicode-math}   %
\begin{document}
\showoutput
$I(\lambda)$
\end{document}

然后查看日志你会看到

....\mathon
....\TU/latinmodern-math.otf(1)/m/n/10 

相关内容