使用隐藏词汇表条目时 KOMA、fontenc 和 hyperref 之间的奇妙交互

使用隐藏词汇表条目时 KOMA、fontenc 和 hyperref 之间的奇妙交互

这个问题被问到如何隐藏我的首字母缩略词列表中的单个条目。该解决方案在该问题的最小示例中运行良好。但是,尝试在我的实际文档中使用该解决方案时,我遇到了另一个奇怪的问题。我的新最小示例:

\documentclass{scrartcl}                        
\usepackage[T1]{fontenc}        
\usepackage{hyperref}     
\usepackage[acronym,shortcuts,acronymlists={hidden}]{glossaries}

\newglossary[algh]{hidden}{acrh}{acnh}{Hidden Acronyms}
\makeglossaries

\newacronym{ex1}{Example 1}{should be displayed in list of acronyms when used at least once}
\newacronym[type=hidden]{ex2}{Example 2}{should never be displayed in list of acronyms}

\begin{document}
\printglossary[type=\acronymtype]
I use \textbf{\acs{ex1}} and \textbf{\acs{ex2}}  in my text.
\end{document}

这会导致 pdftex 发出警告,指出不存在的引用,name:{glo:ex2}该引用将被固定的引用替换。我想说,这是来自 -package 。但只有当我使用 KOMA-documentclass和选项hyperref时,才会出现警告。使用普通选项或不带选项时,一切都很好。有什么线索吗?scrartclT1fontenc-packagearticlefontenc

答案1

我真的不敢相信你只在使用scrartcland/或 T1-encoding 时才会收到警告。我也在使用时收到警告article(这肯定与 hyperref 有关)。你可以通过禁用首字母缩略词中的链接来避免它:

\acs[hyper=false]{ex2}

答案2

hyperref在这种情况下,之后加载包glossaries可以消除警告。

一般来说,hyperref应该最后加载,但也有几个例外,如哪些包应该在 hyperref 之后加载而不是之前加载?。 尽管gloassaies 被列为例外之一,应注意以下评论:

...尽管可以在 hyperref 之前加载词汇表,但您必须经过额外的努力才能使其正常工作......

相关内容