![Unicode-math 使用 luatex 删除词汇表符号(或超链接)的字距调整](https://linux22.com/image/471700/Unicode-math%20%E4%BD%BF%E7%94%A8%20luatex%20%E5%88%A0%E9%99%A4%E8%AF%8D%E6%B1%87%E8%A1%A8%E7%AC%A6%E5%8F%B7%EF%BC%88%E6%88%96%E8%B6%85%E9%93%BE%E6%8E%A5%EF%BC%89%E7%9A%84%E5%AD%97%E8%B7%9D%E8%B0%83%E6%95%B4.png)
我在使用 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