加载 hyperref 时,词汇表包与标题中的 \boldsymbol 发生冲突

加载 hyperref 时,词汇表包与标题中的 \boldsymbol 发生冲突

\boldsymbol当我尝试将词汇表添加到我使用命令的文档时遇到错误,只有在加载\section包时才会发生此错误。hyperref

我希望正确的示例是:

\documentclass[a4paper,12pt,oneside]{report}
%
\linespread{1.1}
%
\usepackage[IL2]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[czech,british]{babel}
%
\usepackage{hyperref}
%
\usepackage{amsfonts,amsmath,amssymb}
\usepackage{IEEEtrantools}
%
\usepackage{longtable}
\usepackage[acronym,nomain]{glossaries}
%
\makeglossaries
\begin{document}
%
\newacronym{ads}{AdS}{Anti-de Sitter}
%
\gls{ads}
\section{$\boldsymbol{B}$}
%
\printglossary[type=\acronymtype,title=List of Abbreviations]
%
\end{document}

有什么好的解决方案吗?


编辑

我还注意到,当我为列表添加目录行时(我不知道我是否应该这样做),使用\addcontentsline{toc}{chapter}{List of Abbreviations}它看起来不错,但超链接不起作用,它会跳转到之前为参考书目创建的目录行,尽管列表中的目录页码是正确的。这也是glossarieshyperref

答案1

我想总结一下Mass和Christian Hupfer提供的两种解决方案。

数学(以及\boldsymbol宏)可以放在标题中,比如 \section,并受到\texorpdfstring{}应该包含数学的命令的保护。

Christian 贡献了一个命令\phantomsection,该命令应该在\printglossary命令之前,并有助于以正确的方式点击目录中的超链接。

正如他所建议的,可以自动完成此操作。这是通过toc加载包时的一个选项完成的,您可能还会发现一个有用的命令toctitle作为选项\printglossary,它可以更改打印的内容名称。

相关内容