为什么断行的词汇表条目会通过交叉引用污染“marginpar”?

为什么断行的词汇表条目会通过交叉引用污染“marginpar”?

以下 MWE 显示了换行词汇表条目对相邻边距的影响,而不是换行词汇表条目。为什么换行会影响边距?

\documentclass[a4paper]{memoir}
\usepackage[xetex]{hyperref}
\hypersetup{colorlinks=true}
\usepackage{glossaries}
\makeglossaries
\loadglsentries{glossary}

\begin{document}

Here\marginpar{Here is a margin paragraph.} is a reference to the glossary word \glsname{tst-a}, \\
and here\marginpar{Here is another margin paragraph.} is a reference to the glossary word \glsname{tst-b}, 


\glsaddall
\printglossaries

\end{document}

我的词汇表条目定义如下:

\newglossaryentry{tst-a}{%
name={a-short-glsname},
description={Definition of tst}}

\newglossaryentry{tst-b}{%
name={a-very-long-glsname-likely-to-line-break},
description={Definition of tsp}}

示例结果

答案1

这不仅限于词汇表条目。当超链接断开时,例如在两个页面之间,然后在一个页面的链接开头和下一个页面的链接结尾之间一切包含在链接中:脚注、页码、新页面上的页眉。在您的情况下,链接从一行开始,到下一行结束,因此放置在第一行边缘的所有内容都是链接的(并且由于边缘条目是一个“对象”,因此整个对象都变成了链接)。(您只问“为什么”,而不是“如何摆脱它”,这很好。如果 hyperref 包的维护者 Heiko Oberdiek 知道如何做,他就会这样做,但据我所知,目前还没有已知的解决方案来打破行/页/列边界处的超链接。)

答案2

hyperref我在使用该软件包时也遇到了同样的问题glossaries。在 FAQ 中找到了解决方案,但您应该使用 2.03 版本。

从他们的地点

如何仅针对首字母缩略词抑制首次使用的超链接?使用footnote包选项并执行: \defglsdisplayfirst[\acronymtype]{#2#4 (\firstacronymfont{#1})} 请注意,这不适用于属于未给出的词汇表的首字母缩略词\acronymtype。从 2.03 版开始,您还可以使用包选项hyperfirst=false抑制所有术语(包括首字母缩略词)的首次使用链接。

相关内容