让我们用 latex+dvips 或 latex+dvipdf 编译以下代码(使用 DVI 格式的原因有很多;就我而言,它是重新编译和调整旧代码):
\documentclass{article}
\usepackage[hidelinks]{hyperref}
\usepackage{glossaries}
\makeglossaries
\newglossaryentry{nonnegativeNat}{name={N}, sort=n0, description={The set of nonnegative integers.}}
\begin{document}
\[\gls{nonnegativeNat}\ \bigcup_{j\in\gls{nonnegativeNat}}\]
\printglossaries
\end{document}
我们看到的是下标的 N 的大小并不小(这是应该的),而是正常的:
现在,手册第 3 页glossaries-user.pdf
写道:
如果您使用 DVI 格式,您将遇到超链接过长或超链接在下标或上标中的问题。这是 DVI 格式的问题,而不是词汇表的问题。如果您确实需要使用 DVI 格式,并且在数学模式下遇到超链接问题,我建议您使用额外词汇表将
hyperouter
和textformat
属性设置为有问题的条目的适当值。
这里,Nicola 可能不是指下标问题,而是指https://tex.stackexchange.com/a/399515/108682。不幸的是,没有关于如何实际处理下标的示例,这hyperouter
可能是打字错误(我hyperouter
在手册中搜索了词汇表和词汇表附加部分,但没有找到)。有没有提示如何实际获取上述示例中的脚本大小 N?我不关心超链接是否实际存在于下标/上标位置,但我关心的是\gls{nonnegativeNat}
始终以正确的大小打印正确的字母,并且\printglossaries
实际打印出现下标的页面。
最有可能相关:当使用 hyperref 编译为 dvi 时,如何使下标中的引用具有正确的大小?, http://latex.org/forum/viewtopic.php?t=7765,https://github.com/ho-tex/hyperref/issues/46。
答案1
你可以提供hyperref
一些帮助;无论如何,因为这是一个数学符号,所以应该这样处理,因此\ensuremath
。
\documentclass{article}
\usepackage[hidelinks]{hyperref}
\usepackage{glossaries-extra}
\makeglossaries
\newglossaryentry{nonnegativeNat}{
name={\ensuremath{N}},
sort=n0,
description={The set of nonnegative integers.}
}
\begin{document}
\[
\gls{nonnegativeNat}\cup\bigcup_{j\in\text{\gls{nonnegativeNat}}}A_j
\]
\printglossaries
\end{document}