Hyperref 警告不会影响 PDF 的输出

Hyperref 警告不会影响 PDF 的输出

我遇到了hyperref警告,但没有明显的负面后果。此外,LaTeX 没有任何抱怨。我只是通过查看文件才发现警告.log

Package hyperref Warning: Difference (2) between bookmark levels is greater
(hyperref)                than one, level fixed on input line 2366.

Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref)                removing `math shift' on input line 2206.

Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref)                removing `superscript' on input line 2200.

有人知道这是什么意思吗?

这些行也与参考文献不对应。

答案1

Package hyperref Warning: Difference (2) between bookmark levels is greater
(hyperref)                than one, level fixed on input line 2366.

第一个警告可能是由于缺少节级别引起的。例如,\subsubsection在 之后\section。如果这是故意的,那么我建议使用 包bookmark。它以更强大的方式实现书签管理,可以处理缺少的节级别。它在 包之后加载hyperref

\usepackage{hyperref}
\usepackage{bookmark}

Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref)                removing `math shift' on input line 2206.

这意味着,您$在书签中。数学是由 TeX 排版的,PDF 查看器无法使用。如果书签标题没问题,那么您可以忽略警告。否则,书签标题的替代字符串表示形式如下\texorpdfstring

\texorpdfstring{$E=mc^2$}{E=mc\texttwosuperior}

为了更广泛地支持数学符号,我建议对书签标题使用 Unicode 编码,通过选项unicode或设置pdfencoding=auto,以及新选项psdextra

\usepackage[pdfencoding=auto,psdextra]{hyperref}

相关内容